# SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University
# SPDX-License-Identifier: Apache-2.0

nodes = {
    rtds_gtnet1 = {
        type = "socket"
        layer = "udp"
        format = "gtnet"

        in = {
            address = "*:12000"

            signals = {
                count = 8
                type = "float"
            }
        }
        out = {
            address = "134.130.169.89:12000"
        }
    },
    rtds_gtnet2 = {
        type = "socket"
        layer = "udp"
        format = "gtnet"

        in = {
            address = "*:12001"

            signals = {
                count = 8
                type = "float"
            }
        }
        out = {
            address = "134.130.169.90:12001"
        }
    }
    monitoring = {
        type = "websocket"
    }
    monitoring_log = {
        type = "file",

        uri = "ftp://acs:fake@134.130.169.32/var/villas/log/monitoring_%Y-%m-%d_%H_%M_%S.dat"

        out = {

        }
    }
}

paths = (
    {
        # Combine data from rtds_gtnet1 and rtds_gtnet2
        in = [
            "rtds_gtnet1.ts.origin",
            "rtds_gtnet1.hdr.sequence",
            "rtds_gtnet1.data[0-6]",

            "rtds_gtnet2.ts.origin",
            "rtds_gtnet2.hdr.sequence",
            "rtds_gtnet2.data[0-6]"
        ],

        out = [
            "monitoring",
            "monitoring_log"
        ],

        reverse = false,

        # The mode of a path determines when the path is triggered
        # and forwarding samples to its destination nodes
        mode = "any",

        # List of nodes which trigger the path
        mask = [ "rtds_gtnet1", "rtds_gtnet2" ],

        hooks = (
            # We do not want to overload the WebBrowsers
            {
                type = "decimate",
                ratio = 10
            }
        )
    }
)