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

nodes = {
    sig = {
        type = "signal"

        signal = "sine"
    }

    dpsim = {
        enabled = false,
        type = "shmem",
        in = {
            # Name of shared memory segment for sending side
            name = "/dpsim-villas",
            hooks = (
                { type = "stats" }
            ),
            signals = {
                # count = 2,
                # type = "float"
                count = 1,
                type = "complex"
            }
        },
        out = {
            # Name of shared memory segment for receiving side
            name = "/villas-dpsim"
            signals = {
                count = 1,
                type = "complex"
            }

        },
        # Length of the queues
        queuelen = 1024,

        # We can busy-wait or use pthread condition variables for synchronizations
        polling = true,
    },

    broker = {
        type = "mqtt",
        format = "json",
        #host = "localhost",
        host = "137.226.133.157"
        port = 1883,
        retain = false,

        out = {
            publish = "dpsim->dist"
        }

        in = {
            subscribe = "dist->dpsim",

            signals = {
                count = 1,
                type = "complex"
            }
        }
    }
}

paths = (
    {
        enabled = false
        in = "sig",
        out = "broker",

        # Condition of which/how many source nodes have to receive
        # at least one sample for the path to be triggered
        mode = "any",
    #   reverse = true
    }
    # ,{
    #    in = "nano";
    #    out = "dpsim";
    #    mode = "any"
    # }
)