Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Controllers
  3. Domoticz
  4. Are folks here happy with Domoticz?

Are folks here happy with Domoticz?

Scheduled Pinned Locked Moved Domoticz
63 Posts 28 Posters 46.7k Views 24 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • rmtuckerR rmtucker

    I am trying to get away from Domoticz because of the 5 minute log interval that is built in to it.
    I have changed it to 1 minute but it is still useless for my boiler sensor.
    Sometimes the Boiler is only on 30-45 secs and the temperatures on the flow and return are completely missed.
    There has to be something better.
    I have been trying myHouse lately but the updates for fixes and enhancements have slowed down as the developer is busy with other things.
    So back to the drawing board.

    sinczeS Offline
    sinczeS Offline
    sincze
    MySensors Evangelist
    wrote on last edited by
    #39

    @rmtucker I move the data directly from Domoticz into influxDB. This is as accurate as you will get it ;-) Data for example of my smartmeter every 10 seconds. If the device is updated in Domoticz (energy sensor for example) this will add data to influxDB and you will get the bet graphs. Accurate for me.

    1 Reply Last reply
    2
    • K Offline
      K Offline
      kany
      wrote on last edited by
      #40

      Hello guys,
      I am a beginner with Domoticz. I would like to ask you a question. Can i find a way to recover the data from a sensor like temperature or smartmeter to be installed in local?
      I am working with Rasperbery +domoticz + Smartplug Fibaro.
      Firstly, i install domoticz in raspberry and i configure the plug fibaro to communicate with a usb Zwave. And it works. i can see the graph but I do not succed to retrieve the data locally into the raspberry.
      Someone has a solution to propose me?
      Thanks guys

      gohanG 1 Reply Last reply
      0
      • K kany

        Hello guys,
        I am a beginner with Domoticz. I would like to ask you a question. Can i find a way to recover the data from a sensor like temperature or smartmeter to be installed in local?
        I am working with Rasperbery +domoticz + Smartplug Fibaro.
        Firstly, i install domoticz in raspberry and i configure the plug fibaro to communicate with a usb Zwave. And it works. i can see the graph but I do not succed to retrieve the data locally into the raspberry.
        Someone has a solution to propose me?
        Thanks guys

        gohanG Offline
        gohanG Offline
        gohan
        Mod
        wrote on last edited by
        #41

        @kany are you referring to save data to something like influxdb?

        K 1 Reply Last reply
        0
        • gohanG gohan

          @kany are you referring to save data to something like influxdb?

          K Offline
          K Offline
          kany
          wrote on last edited by
          #42

          @gohan yeah!! Possible.My goal is to use machine learning with the data i collect.
          So if you give me link where the explain how it's working influxdb it Will be good
          Thnnk@gohan for your reply

          W 1 Reply Last reply
          0
          • K kany

            @gohan yeah!! Possible.My goal is to use machine learning with the data i collect.
            So if you give me link where the explain how it's working influxdb it Will be good
            Thnnk@gohan for your reply

            W Offline
            W Offline
            wergeld
            wrote on last edited by
            #43

            @kany Well, the data is in a SQLite database for domoticz already. You can move to InfluxDB easily. See this post on the Domoticz forum - this is how I set it up using these instructions.
            My qualms with InfluxDB is that deleting a value is nearly impossible.

            1 Reply Last reply
            0
            • NeverDieN NeverDie

              @gohan said in Are folks here happy with Domoticz?:

              You could use node-red to log data to an external db and do whatever you want after that: it should be easier than replace the entire controller

              In that scenario, would Node Red be getting the sensor message first and then just somehow quickly piping it to Domoticz and a copy to the external database (e.g. MySQL)?

              tbowmoT Offline
              tbowmoT Offline
              tbowmo
              Admin
              wrote on last edited by
              #44

              @NeverDie

              I use node-red with domoticz, MySensor data hits node-red first (serial gateway) which then pipes the data to domoticz via a fake serial port. That way I can manipulate data that I send to domoticz, and can inject fake mysensor sensors into domoticz as well..

              Node-red also dumps all data to influxdb for data storage, and then I use grafana for graphing purposes. Besides that I have created my own dashboard for tablets.

              Currently I mostly use domoticz as scripting engine (lua), for some basic events. For example turning on TV if someone starts streaming to my chromecast, and automatically turn it off again if chromecast have been in idle state for 2 minutes (the same for my chromecast audio, that just turn on amplifier instead of TV).

              W gohanG 2 Replies Last reply
              2
              • tbowmoT tbowmo

                @NeverDie

                I use node-red with domoticz, MySensor data hits node-red first (serial gateway) which then pipes the data to domoticz via a fake serial port. That way I can manipulate data that I send to domoticz, and can inject fake mysensor sensors into domoticz as well..

                Node-red also dumps all data to influxdb for data storage, and then I use grafana for graphing purposes. Besides that I have created my own dashboard for tablets.

                Currently I mostly use domoticz as scripting engine (lua), for some basic events. For example turning on TV if someone starts streaming to my chromecast, and automatically turn it off again if chromecast have been in idle state for 2 minutes (the same for my chromecast audio, that just turn on amplifier instead of TV).

                W Offline
                W Offline
                wergeld
                wrote on last edited by wergeld
                #45

                @tbowmo Do you have a link to your node-red setup? I would like to filter the output of my sensor nodes as well (got a flaky one that sends -47.5 F temp every once in a while.

                Found your github!
                For others looking it is here.

                tbowmoT 1 Reply Last reply
                0
                • tbowmoT tbowmo

                  @NeverDie

                  I use node-red with domoticz, MySensor data hits node-red first (serial gateway) which then pipes the data to domoticz via a fake serial port. That way I can manipulate data that I send to domoticz, and can inject fake mysensor sensors into domoticz as well..

                  Node-red also dumps all data to influxdb for data storage, and then I use grafana for graphing purposes. Besides that I have created my own dashboard for tablets.

                  Currently I mostly use domoticz as scripting engine (lua), for some basic events. For example turning on TV if someone starts streaming to my chromecast, and automatically turn it off again if chromecast have been in idle state for 2 minutes (the same for my chromecast audio, that just turn on amplifier instead of TV).

                  gohanG Offline
                  gohanG Offline
                  gohan
                  Mod
                  wrote on last edited by
                  #46

                  @tbowmo would that work also for ethernet/mqtt gateway?

                  tbowmoT 1 Reply Last reply
                  0
                  • W wergeld

                    @tbowmo Do you have a link to your node-red setup? I would like to filter the output of my sensor nodes as well (got a flaky one that sends -47.5 F temp every once in a while.

                    Found your github!
                    For others looking it is here.

                    tbowmoT Offline
                    tbowmoT Offline
                    tbowmo
                    Admin
                    wrote on last edited by
                    #47

                    @wergeld

                    the module is available through NPM as well.. So npm install node-red-contrib-mysensors :)

                    The basic node-red mysensors is pasted below, my setup is starting to be quite extensive, with reporting to slack channels, creating a websocket for my custom dashboard etc. But isn't necessary for the basic domoticz/nodered

                    For connecting node-red/domoticz together I use socat to create a virtual serial port:

                    socat PTY,link=/dev/ttyS81,mode=666,group=dialout,raw PTY,link=/dev/ttyUSB21,mode=666,group=dialout,raw &
                    

                    node-red:

                    [
                        {
                            "id": "9b272654.9ad688",
                            "type": "subflow",
                            "name": "Influx processing",
                            "info": "",
                            "in": [
                                {
                                    "x": 220,
                                    "y": 280,
                                    "wires": [
                                        {
                                            "id": "5cfd0e8.fa302f"
                                        }
                                    ]
                                }
                            ],
                            "out": [
                                {
                                    "x": 960,
                                    "y": 240,
                                    "wires": [
                                        {
                                            "id": "55204322.aadfbc",
                                            "port": 0
                                        }
                                    ]
                                },
                                {
                                    "x": 960,
                                    "y": 380,
                                    "wires": [
                                        {
                                            "id": "d6b8cf3e.6954c",
                                            "port": 0
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "id": "55204322.aadfbc",
                            "type": "function",
                            "z": "9b272654.9ad688",
                            "name": "Influx conditioner",
                            "func": "msg_env = null;\nmsg_utility = null;\nmsg_debug = null;\nst = msg.subType;\nif (msg.messageType == 1 && (st === 0 || st == 1 || st == 4 || st == 17)) {\n    var tags = {};var data = {}\n    tags.node = msg.nodeId.toString();\n    tags.sensor = msg.childSensorId.toString();\n    data.value=parseFloat(msg.payload);\n    switch (st) {\n        case 0 : type = \"temperature\";break;\n        case 1 : type = \"humidity\"; break;\n        case 4 : type = \"barometer\"; break;\n        case 17: type = \"electricity\"; break;\n    }\n    msg.payload = [data, tags];\n    msg.measurement = type;\n    msg_debug = msg;\n    if (msg.subType==17) \n        msg_utility = msg;\n    else \n        msg_env = msg;\n} \nelse \n    msg = null;\nreturn [msg_debug, msg_env, msg_utility];",
                            "outputs": "3",
                            "noerr": 0,
                            "x": 790,
                            "y": 280,
                            "wires": [
                                [],
                                [
                                    "c042117a.3fbdf"
                                ],
                                [
                                    "f6bdc7dc.77c758"
                                ]
                            ]
                        },
                        {
                            "id": "5cfd0e8.fa302f",
                            "type": "mysdecenc",
                            "z": "9b272654.9ad688",
                            "name": "",
                            "x": 350,
                            "y": 280,
                            "wires": [
                                [
                                    "55204322.aadfbc",
                                    "d6b8cf3e.6954c"
                                ]
                            ]
                        },
                        {
                            "id": "c042117a.3fbdf",
                            "type": "influxdb out",
                            "z": "9b272654.9ad688",
                            "influxdb": "9dbdc7c7.624238",
                            "name": "",
                            "measurement": "",
                            "x": 1020,
                            "y": 280,
                            "wires": []
                        },
                        {
                            "id": "f6bdc7dc.77c758",
                            "type": "influxdb out",
                            "z": "9b272654.9ad688",
                            "influxdb": "9de2e4ed.fdcfc8",
                            "name": "Utility",
                            "measurement": "",
                            "x": 990,
                            "y": 320,
                            "wires": []
                        },
                        {
                            "id": "d6b8cf3e.6954c",
                            "type": "function",
                            "z": "9b272654.9ad688",
                            "name": "Watt/Hour calculator",
                            "func": "/* Takes input on subType 24, calculates difference\n   from last time, if around 60 seconds have passed\n   since last report.\n   It passes the value on as subType 17, and\n   childSensorId 2 */\n\nif ((msg.subType===24) && (msg.nodeId===99)) {\n    var uTime = Math.floor(Date.now()/60000);\n    var lastTime = context.get('lastTime')||0;\n    if (lastTime === 0) {\n        context.set('lastTime', uTime);\n        context.set('lastCount', msg.payload);\n    } else {\n        if (uTime != lastTime) {\n            lastCount = context.get('lastCount');\n            currentCount = msg.payload;\n            context.set('lastTime', uTime);\n            context.set('lastCount', currentCount)\n            msg.subType = 17;\n            msg.childSensorId = \"2\";\n            msg.payload = currentCount - lastCount;\n            return msg;\n        }\n    }\n}",
                            "outputs": 1,
                            "noerr": 0,
                            "x": 560,
                            "y": 340,
                            "wires": [
                                [
                                    "55204322.aadfbc"
                                ]
                            ]
                        },
                        {
                            "id": "9dbdc7c7.624238",
                            "type": "influxdb",
                            "z": "67deb464.98214c",
                            "hostname": "127.0.0.1",
                            "port": "8086",
                            "database": "environment",
                            "name": "Environment DB"
                        },
                        {
                            "id": "9de2e4ed.fdcfc8",
                            "type": "influxdb",
                            "z": "67deb464.98214c",
                            "hostname": "127.0.0.1",
                            "port": "8086",
                            "database": "utility",
                            "name": "Utility DB"
                        },
                        {
                            "id": "4c13992e.b3ec68",
                            "type": "subflow",
                            "name": "Logging filter",
                            "in": [
                                {
                                    "x": 105.5,
                                    "y": 240,
                                    "wires": [
                                        {
                                            "id": "c2063804.3df9c8"
                                        }
                                    ]
                                }
                            ],
                            "out": [
                                {
                                    "x": 600,
                                    "y": 260,
                                    "wires": [
                                        {
                                            "id": "b57b1f3.f4a84e",
                                            "port": 1
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "id": "c2063804.3df9c8",
                            "type": "mysdecenc",
                            "z": "4c13992e.b3ec68",
                            "name": "",
                            "x": 230,
                            "y": 240,
                            "wires": [
                                [
                                    "b57b1f3.f4a84e"
                                ]
                            ]
                        },
                        {
                            "id": "b57b1f3.f4a84e",
                            "type": "function",
                            "z": "4c13992e.b3ec68",
                            "name": "Filter battery msg",
                            "func": "var battMsg = null;\nvar debugMsg = null;\nvar sketchMsg = null;\nif (msg.messageType==3) {\n    if (msg.subType===0)\n        battMsg = msg;\n    if (msg.subType==9)\n        debugMsg = msg;\n    if (msg.subType==11 || msg.subType==12)\n        sketchMsg = msg;\n}\n\nreturn [battMsg, debugMsg, sketchMsg];",
                            "outputs": "3",
                            "noerr": 0,
                            "x": 430,
                            "y": 240,
                            "wires": [
                                [
                                    "dec3cc44.213c3",
                                    "d8b91167.2746f"
                                ],
                                [],
                                [
                                    "b521bd95.4ade4"
                                ]
                            ]
                        },
                        {
                            "id": "dec3cc44.213c3",
                            "type": "mysdecenc",
                            "z": "4c13992e.b3ec68",
                            "name": "",
                            "x": 650,
                            "y": 180,
                            "wires": [
                                [
                                    "1b4decbb.e4b213"
                                ]
                            ]
                        },
                        {
                            "id": "38f9ab87.c70654",
                            "type": "file",
                            "z": "4c13992e.b3ec68",
                            "name": "Battery log",
                            "filename": "/var/tmp/battlog.txt",
                            "appendNewline": false,
                            "createDir": false,
                            "overwriteFile": "false",
                            "x": 1050,
                            "y": 180,
                            "wires": []
                        },
                        {
                            "id": "1b4decbb.e4b213",
                            "type": "function",
                            "z": "4c13992e.b3ec68",
                            "name": "inject date",
                            "func": "var date = new Date();\nvar str = date.getFullYear() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getDate() + \" \" +  date.getHours() + \":\" + date.getMinutes() + \":\" + date.getSeconds();\nmsg.payload = str + \" - \" + msg.payload;\nreturn msg;",
                            "outputs": 1,
                            "noerr": 0,
                            "x": 830,
                            "y": 180,
                            "wires": [
                                [
                                    "38f9ab87.c70654"
                                ]
                            ]
                        },
                        {
                            "id": "d8b91167.2746f",
                            "type": "function",
                            "z": "4c13992e.b3ec68",
                            "name": "Check batt level",
                            "func": "var date = new Date();\nvar str = date.getFullYear() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getDate() + \" \" +  date.getHours() + \":\" + date.getMinutes() + \":\" + date.getSeconds();\nmsg.date = str;\nif (parseInt(msg.payload)<5)\nreturn msg;",
                            "outputs": 1,
                            "noerr": 0,
                            "x": 660,
                            "y": 220,
                            "wires": [
                                [
                                    "c44e1c28.3bb1e"
                                ]
                            ]
                        },
                        {
                            "id": "c44e1c28.3bb1e",
                            "type": "template",
                            "z": "4c13992e.b3ec68",
                            "name": "BatLow message",
                            "field": "payload",
                            "fieldType": "msg",
                            "format": "handlebars",
                            "syntax": "mustache",
                            "template": "{{date}} - Battery level is low on node {{nodeId}} : {{payload}} !",
                            "x": 850,
                            "y": 220,
                            "wires": [
                                [
                                    "e9231639.16dce8"
                                ]
                            ]
                        },
                        {
                            "id": "e9231639.16dce8",
                            "type": "twitter out",
                            "z": "4c13992e.b3ec68",
                            "twitter": "",
                            "name": "Tweet",
                            "x": 1030,
                            "y": 220,
                            "wires": []
                        },
                        {
                            "id": "b478903e.4b877",
                            "type": "file",
                            "z": "4c13992e.b3ec68",
                            "name": "Presentation log",
                            "filename": "/var/tmp/presentation.txt",
                            "appendNewline": true,
                            "createDir": false,
                            "overwriteFile": "false",
                            "x": 840,
                            "y": 300,
                            "wires": []
                        },
                        {
                            "id": "b521bd95.4ade4",
                            "type": "mysdecenc",
                            "z": "4c13992e.b3ec68",
                            "name": "",
                            "x": 650,
                            "y": 300,
                            "wires": [
                                [
                                    "b478903e.4b877"
                                ]
                            ]
                        },
                        {
                            "id": "bed2e35d.412d2",
                            "type": "subflow",
                            "name": "Domoticz conditioner",
                            "info": "Inverts lockstate for domoticz, as domoticz has inverted the logic in their code, compared to mysensors",
                            "in": [
                                {
                                    "x": 280,
                                    "y": 220,
                                    "wires": [
                                        {
                                            "id": "8afd136d.7502f"
                                        }
                                    ]
                                }
                            ],
                            "out": [
                                {
                                    "x": 1000,
                                    "y": 220,
                                    "wires": [
                                        {
                                            "id": "91eb6b4c.6e1498",
                                            "port": 0
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "id": "8afd136d.7502f",
                            "type": "mysdecenc",
                            "z": "bed2e35d.412d2",
                            "name": "",
                            "x": 410,
                            "y": 220,
                            "wires": [
                                [
                                    "126152bf.ed9ead"
                                ]
                            ]
                        },
                        {
                            "id": "126152bf.ed9ead",
                            "type": "function",
                            "z": "bed2e35d.412d2",
                            "name": "Invert lockstate for domoticz",
                            "func": "if (msg.subType == 36) {\n    if (msg.payload== \"1\") msg.payload=\"0\";\n    else msg.payload=\"1\";\n}\nreturn msg;",
                            "outputs": 1,
                            "noerr": 0,
                            "x": 640,
                            "y": 220,
                            "wires": [
                                [
                                    "91eb6b4c.6e1498"
                                ]
                            ]
                        },
                        {
                            "id": "91eb6b4c.6e1498",
                            "type": "mysdecenc",
                            "z": "bed2e35d.412d2",
                            "name": "",
                            "x": 870,
                            "y": 220,
                            "wires": [
                                []
                            ]
                        },
                        {
                            "id": "2257718.fdda88e",
                            "type": "subflow",
                            "name": "Energy meter",
                            "info": "Converts input from arduino sketch, to a \nMysensors compatible protocol format, usable\nfor injecting into the message stream from\nnormal Mysensors nodes\n\nOutputs data as nodeId 99.",
                            "in": [],
                            "out": [
                                {
                                    "x": 1020,
                                    "y": 200,
                                    "wires": [
                                        {
                                            "id": "9d92273c.626dd8",
                                            "port": 0
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "id": "12db17ce.ed24e8",
                            "type": "serial in",
                            "z": "2257718.fdda88e",
                            "name": "Meter input",
                            "serial": "acfe3226.5301d",
                            "x": 240,
                            "y": 200,
                            "wires": [
                                [
                                    "e56f30b7.1a90d"
                                ]
                            ]
                        },
                        {
                            "id": "1dcfb48.fe2304c",
                            "type": "mysencap",
                            "z": "2257718.fdda88e",
                            "name": "V_WATT node 99",
                            "nodeid": "99",
                            "childid": "1",
                            "subtype": "17",
                            "internal": "0",
                            "ack": false,
                            "msgtype": "1",
                            "presentation": false,
                            "presentationtype": "13",
                            "presentationtext": "Watt",
                            "fullpresentation": false,
                            "firmwarename": "",
                            "firmwareversion": "",
                            "x": 650,
                            "y": 160,
                            "wires": [
                                [
                                    "9d92273c.626dd8"
                                ]
                            ]
                        },
                        {
                            "id": "f9b89df5.06476",
                            "type": "mysencap",
                            "z": "2257718.fdda88e",
                            "name": "V_KWH node 99",
                            "nodeid": "99",
                            "childid": "1",
                            "subtype": "18",
                            "internal": "0",
                            "ack": false,
                            "msgtype": "1",
                            "presentation": true,
                            "presentationtype": "13",
                            "presentationtext": "Kwh",
                            "fullpresentation": true,
                            "firmwarename": "MeterNode",
                            "firmwareversion": "0.1",
                            "x": 650,
                            "y": 200,
                            "wires": [
                                [
                                    "9d92273c.626dd8"
                                ]
                            ]
                        },
                        {
                            "id": "9d92273c.626dd8",
                            "type": "mysdecenc",
                            "z": "2257718.fdda88e",
                            "name": "",
                            "x": 890,
                            "y": 200,
                            "wires": [
                                []
                            ]
                        },
                        {
                            "id": "e56f30b7.1a90d",
                            "type": "function",
                            "z": "2257718.fdda88e",
                            "name": "Split meter data",
                            "func": "var m=msg.payload.split(';');\nvar msg1 = {payload:m[0]};\nvar msg2 = {payload:m[1]/1000};\nvar msg3 = {payload:m[1]};\nreturn [msg1, msg2, msg3];",
                            "outputs": "3",
                            "noerr": 0,
                            "x": 420,
                            "y": 200,
                            "wires": [
                                [
                                    "1dcfb48.fe2304c"
                                ],
                                [
                                    "f9b89df5.06476"
                                ],
                                [
                                    "dfd92894.2026d8",
                                    "11f1e54.721221b"
                                ]
                            ]
                        },
                        {
                            "id": "dfd92894.2026d8",
                            "type": "file",
                            "z": "2257718.fdda88e",
                            "name": "meter counter output to file",
                            "filename": "/var/tmp/meascache.txt",
                            "appendNewline": true,
                            "createDir": false,
                            "overwriteFile": "true",
                            "x": 680,
                            "y": 280,
                            "wires": []
                        },
                        {
                            "id": "11f1e54.721221b",
                            "type": "mysencap",
                            "z": "2257718.fdda88e",
                            "name": "V_VAR1 (Wh node 99)",
                            "nodeid": "99",
                            "childid": "10",
                            "subtype": "24",
                            "internal": 0,
                            "ack": false,
                            "msgtype": "1",
                            "presentation": false,
                            "presentationtype": 0,
                            "presentationtext": "",
                            "fullpresentation": false,
                            "firmwarename": "",
                            "firmwareversion": "",
                            "x": 660,
                            "y": 240,
                            "wires": [
                                [
                                    "9d92273c.626dd8"
                                ]
                            ]
                        },
                        {
                            "id": "acfe3226.5301d",
                            "type": "serial-port",
                            "z": "",
                            "serialport": "/dev/ttyUTILITY",
                            "serialbaud": "115200",
                            "databits": "8",
                            "parity": "none",
                            "stopbits": "1",
                            "newline": "\\n",
                            "bin": "false",
                            "out": "char",
                            "addchar": true
                        },
                        {
                            "id": "67deb464.98214c",
                            "type": "tab",
                            "label": "Mysensors"
                        },
                        {
                            "id": "5b8bba4c.a47444",
                            "type": "serial in",
                            "z": "67deb464.98214c",
                            "name": "Mysensors NRF",
                            "serial": "821a7286.7de59",
                            "x": 200,
                            "y": 460,
                            "wires": [
                                [
                                    "a056d087.fb87f",
                                    "8cb827f.b90b8d8"
                                ]
                            ]
                        },
                        {
                            "id": "47b5936e.b84a6c",
                            "type": "serial out",
                            "z": "67deb464.98214c",
                            "name": "Mysensors NRF",
                            "serial": "821a7286.7de59",
                            "x": 1340,
                            "y": 180,
                            "wires": []
                        },
                        {
                            "id": "4755dfb8.b8aa2",
                            "type": "serial out",
                            "z": "67deb464.98214c",
                            "name": "Domoticz",
                            "serial": "b5105521.4aefa8",
                            "x": 1320,
                            "y": 420,
                            "wires": []
                        },
                        {
                            "id": "8b4a855.f74b578",
                            "type": "debug",
                            "z": "67deb464.98214c",
                            "name": "Mysensors in",
                            "active": false,
                            "console": "false",
                            "complete": "true",
                            "x": 1110,
                            "y": 340,
                            "wires": []
                        },
                        {
                            "id": "8caee560.735118",
                            "type": "subflow:2257718.fdda88e",
                            "z": "67deb464.98214c",
                            "x": 190,
                            "y": 640,
                            "wires": [
                                [
                                    "44592b43.bba6d4",
                                    "d7b40093.e136f"
                                ]
                            ]
                        },
                        {
                            "id": "44592b43.bba6d4",
                            "type": "debug",
                            "z": "67deb464.98214c",
                            "name": "Energy meter output",
                            "active": false,
                            "console": "false",
                            "complete": "true",
                            "x": 420,
                            "y": 640,
                            "wires": []
                        },
                        {
                            "id": "9e471178.61b8f",
                            "type": "subflow:bed2e35d.412d2",
                            "z": "67deb464.98214c",
                            "name": "",
                            "x": 420,
                            "y": 220,
                            "wires": [
                                [
                                    "173aba02.e8c546",
                                    "9aecc18f.21f6d"
                                ]
                            ]
                        },
                        {
                            "id": "9bdc2a5b.6423d8",
                            "type": "subflow:bed2e35d.412d2",
                            "z": "67deb464.98214c",
                            "name": "Domoticz out",
                            "x": 1110,
                            "y": 420,
                            "wires": [
                                [
                                    "4755dfb8.b8aa2"
                                ]
                            ]
                        },
                        {
                            "id": "9ebb1391.6144f",
                            "type": "debug",
                            "z": "67deb464.98214c",
                            "name": "gw debug",
                            "active": false,
                            "console": "false",
                            "complete": "true",
                            "x": 1320,
                            "y": 480,
                            "wires": []
                        },
                        {
                            "id": "49c6c17b.b6394",
                            "type": "subflow:4c13992e.b3ec68",
                            "z": "67deb464.98214c",
                            "x": 1110,
                            "y": 480,
                            "wires": [
                                [
                                    "9ebb1391.6144f"
                                ]
                            ]
                        },
                        {
                            "id": "602db35f.9fd24c",
                            "type": "serial in",
                            "z": "67deb464.98214c",
                            "name": "Domoticz (20)",
                            "serial": "b5105521.4aefa8",
                            "x": 190,
                            "y": 220,
                            "wires": [
                                [
                                    "9e471178.61b8f"
                                ]
                            ]
                        },
                        {
                            "id": "173aba02.e8c546",
                            "type": "debug",
                            "z": "67deb464.98214c",
                            "name": "Domoticz in",
                            "active": false,
                            "console": "false",
                            "complete": "payload",
                            "x": 650,
                            "y": 180,
                            "wires": []
                        },
                        {
                            "id": "3ff64036.ae116",
                            "type": "subflow:9b272654.9ad688",
                            "z": "67deb464.98214c",
                            "name": "InfluxDB",
                            "x": 1100,
                            "y": 380,
                            "wires": [
                                [
                                    "aec232d3.2860b"
                                ],
                                [
                                    "1d454a20.ff7ae6"
                                ]
                            ]
                        },
                        {
                            "id": "aec232d3.2860b",
                            "type": "debug",
                            "z": "67deb464.98214c",
                            "name": "",
                            "active": false,
                            "console": "false",
                            "complete": "true",
                            "x": 1310,
                            "y": 340,
                            "wires": []
                        },
                        {
                            "id": "a056d087.fb87f",
                            "type": "change",
                            "z": "67deb464.98214c",
                            "name": "mark NRF",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "radio",
                                    "pt": "msg",
                                    "to": "nrf",
                                    "tot": "str"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 390,
                            "y": 480,
                            "wires": [
                                [
                                    "581b2ac8.2248c4"
                                ]
                            ]
                        },
                        {
                            "id": "ba16f31f.9adc5",
                            "type": "change",
                            "z": "67deb464.98214c",
                            "name": "mark RFM",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "radio",
                                    "pt": "msg",
                                    "to": "rfm",
                                    "tot": "str"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 390,
                            "y": 520,
                            "wires": [
                                [
                                    "581b2ac8.2248c4"
                                ]
                            ]
                        },
                        {
                            "id": "5990dc86.7a2ef4",
                            "type": "function",
                            "z": "67deb464.98214c",
                            "name": "net detect",
                            "func": "var net = flow.get('network') || {};\nvar msg2 = {};\nnet[msg.nodeId] = msg.radio;\nflow.set('network', net);\nmsg2.payload = net;\nreturn [msg, msg2];",
                            "outputs": "2",
                            "noerr": 0,
                            "x": 720,
                            "y": 500,
                            "wires": [
                                [
                                    "1202b756.eb6449"
                                ],
                                [
                                    "ee23ee4a.b5f14"
                                ]
                            ]
                        },
                        {
                            "id": "ee23ee4a.b5f14",
                            "type": "debug",
                            "z": "67deb464.98214c",
                            "name": "",
                            "active": false,
                            "console": "false",
                            "complete": "false",
                            "x": 890,
                            "y": 520,
                            "wires": []
                        },
                        {
                            "id": "581b2ac8.2248c4",
                            "type": "mysdecenc",
                            "z": "67deb464.98214c",
                            "name": "",
                            "x": 570,
                            "y": 500,
                            "wires": [
                                [
                                    "5990dc86.7a2ef4",
                                    "b10cb69c.3e3d18",
                                    "ea57b38e.eecb5"
                                ]
                            ]
                        },
                        {
                            "id": "1202b756.eb6449",
                            "type": "mysdecenc",
                            "z": "67deb464.98214c",
                            "name": "",
                            "x": 890,
                            "y": 480,
                            "wires": [
                                [
                                    "8b4a855.f74b578",
                                    "49c6c17b.b6394",
                                    "9bdc2a5b.6423d8",
                                    "3ff64036.ae116"
                                ]
                            ]
                        },
                        {
                            "id": "22f329c0.24f896",
                            "type": "function",
                            "z": "67deb464.98214c",
                            "name": "Net switch",
                            "func": "var net = flow.get('network');\nmsg_nrf = null;\nmsg_rfm = null;\nmsg_nodered = null;\nif (msg.nodeId in net) {\n    var network = net[msg.nodeId];\n    if (network == 'rfm') msg_rfm = msg;\n    if (network == 'nrf') msg_nrf = msg;\n    if (network == 'nodered') msg_nodered = msg;\n} else {\n    msg_nrf = msg;\n    msg_rfm = msg;\n    msg_nodered = msg;\n}\nreturn [msg_nrf,msg_rfm, msg_nodered];\n",
                            "outputs": "3",
                            "noerr": 0,
                            "x": 890,
                            "y": 220,
                            "wires": [
                                [
                                    "56c9c62f.f1cbc8"
                                ],
                                [
                                    "4c477db.4619e84"
                                ],
                                []
                            ]
                        },
                        {
                            "id": "9aecc18f.21f6d",
                            "type": "mysdecenc",
                            "z": "67deb464.98214c",
                            "name": "",
                            "x": 650,
                            "y": 220,
                            "wires": [
                                [
                                    "22f329c0.24f896",
                                    "b10cb69c.3e3d18"
                                ]
                            ]
                        },
                        {
                            "id": "56c9c62f.f1cbc8",
                            "type": "mysdecenc",
                            "z": "67deb464.98214c",
                            "name": "",
                            "x": 1110,
                            "y": 180,
                            "wires": [
                                [
                                    "47b5936e.b84a6c",
                                    "932ebb67.4968d8"
                                ]
                            ]
                        },
                        {
                            "id": "4c477db.4619e84",
                            "type": "mysdecenc",
                            "z": "67deb464.98214c",
                            "name": "",
                            "x": 1110,
                            "y": 240,
                            "wires": [
                                [
                                    "6b2fe680.509218",
                                    "aac8db1a.8aa468"
                                ]
                            ]
                        },
                        {
                            "id": "932ebb67.4968d8",
                            "type": "debug",
                            "z": "67deb464.98214c",
                            "name": "msg_nrf",
                            "active": false,
                            "console": "false",
                            "complete": "payload",
                            "x": 1320,
                            "y": 140,
                            "wires": []
                        },
                        {
                            "id": "6b2fe680.509218",
                            "type": "debug",
                            "z": "67deb464.98214c",
                            "name": "msg_rfm",
                            "active": false,
                            "console": "false",
                            "complete": "payload",
                            "x": 1320,
                            "y": 280,
                            "wires": []
                        },
                        {
                            "id": "8919748d.f19738",
                            "type": "debug",
                            "z": "67deb464.98214c",
                            "name": "RFM Input",
                            "active": false,
                            "console": "false",
                            "complete": "payload",
                            "x": 390,
                            "y": 560,
                            "wires": []
                        },
                        {
                            "id": "8155e57b.a7b2e8",
                            "type": "serial in",
                            "z": "67deb464.98214c",
                            "name": "Mysensors RFM",
                            "serial": "48886e04.c4cc6",
                            "x": 200,
                            "y": 540,
                            "wires": [
                                [
                                    "ba16f31f.9adc5",
                                    "8919748d.f19738"
                                ]
                            ]
                        },
                        {
                            "id": "aac8db1a.8aa468",
                            "type": "serial out",
                            "z": "67deb464.98214c",
                            "name": "Mysensors RFM",
                            "serial": "48886e04.c4cc6",
                            "x": 1340,
                            "y": 240,
                            "wires": []
                        },
                        {
                            "id": "8cb827f.b90b8d8",
                            "type": "debug",
                            "z": "67deb464.98214c",
                            "name": "NRF input",
                            "active": false,
                            "console": "false",
                            "complete": "payload",
                            "x": 380,
                            "y": 440,
                            "wires": []
                        },
                        {
                            "id": "b10cb69c.3e3d18",
                            "type": "link out",
                            "z": "67deb464.98214c",
                            "name": "UI link",
                            "links": [
                                "2f8a6093.73ef7",
                                "6d7cc489.0bb81c",
                                "ad2dd4f0.d2c718",
                                "d6fb4a23.fcf218"
                            ],
                            "x": 755,
                            "y": 320,
                            "wires": []
                        },
                        {
                            "id": "cc31c979.e15578",
                            "type": "link in",
                            "z": "67deb464.98214c",
                            "name": "",
                            "links": [
                                "5d82dd49.5350d4"
                            ],
                            "x": 755,
                            "y": 360,
                            "wires": [
                                [
                                    "1202b756.eb6449",
                                    "22f329c0.24f896"
                                ]
                            ]
                        },
                        {
                            "id": "d7b40093.e136f",
                            "type": "change",
                            "z": "67deb464.98214c",
                            "name": "mark nodered",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "radio",
                                    "pt": "msg",
                                    "to": "nodered",
                                    "tot": "str"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 400,
                            "y": 600,
                            "wires": [
                                [
                                    "581b2ac8.2248c4"
                                ]
                            ]
                        },
                        {
                            "id": "1d454a20.ff7ae6",
                            "type": "link out",
                            "z": "67deb464.98214c",
                            "name": "Trigger KWH to dashboard",
                            "links": [
                                "1e4f3d9a.978582"
                            ],
                            "x": 1275,
                            "y": 380,
                            "wires": []
                        },
                        {
                            "id": "ea57b38e.eecb5",
                            "type": "debug",
                            "z": "67deb464.98214c",
                            "name": "",
                            "active": false,
                            "console": "false",
                            "complete": "true",
                            "x": 710,
                            "y": 580,
                            "wires": []
                        },
                        {
                            "id": "821a7286.7de59",
                            "type": "serial-port",
                            "z": "",
                            "serialport": "/dev/ttyNRF24",
                            "serialbaud": "115200",
                            "databits": "8",
                            "parity": "none",
                            "stopbits": "1",
                            "newline": "\\n",
                            "bin": "false",
                            "out": "char",
                            "addchar": true
                        },
                        {
                            "id": "b5105521.4aefa8",
                            "type": "serial-port",
                            "serialport": "/dev/ttyS80",
                            "serialbaud": "115200",
                            "databits": "8",
                            "parity": "none",
                            "stopbits": "1",
                            "newline": "\\n",
                            "bin": "false",
                            "out": "char",
                            "addchar": true
                        },
                        {
                            "id": "48886e04.c4cc6",
                            "type": "serial-port",
                            "z": "67deb464.98214c",
                            "serialport": "/dev/ttyRFM69",
                            "serialbaud": "115200",
                            "databits": "8",
                            "parity": "none",
                            "stopbits": "1",
                            "newline": "\\n",
                            "bin": "false",
                            "out": "char",
                            "addchar": true
                        }
                    ]```
                    W 1 Reply Last reply
                    1
                    • gohanG gohan

                      @tbowmo would that work also for ethernet/mqtt gateway?

                      tbowmoT Offline
                      tbowmoT Offline
                      tbowmo
                      Admin
                      wrote on last edited by
                      #48

                      @gohan

                      In theory it should work, as you can set node-red up to receive MQTT messages, which could then be manipulated, and send off to domoticz (if needed).

                      I think that @Anticimex made some experiments with mqtt/ethernet gateways using node-red. But can't remember details..

                      AnticimexA 1 Reply Last reply
                      0
                      • tbowmoT tbowmo

                        @gohan

                        In theory it should work, as you can set node-red up to receive MQTT messages, which could then be manipulated, and send off to domoticz (if needed).

                        I think that @Anticimex made some experiments with mqtt/ethernet gateways using node-red. But can't remember details..

                        AnticimexA Offline
                        AnticimexA Offline
                        Anticimex
                        Contest Winner
                        wrote on last edited by
                        #49

                        @tbowmo @gohan I made some experiments using ethernet gw (not MQTT) but gave it up because I could not get node-red to communicate with the GW on the same port for rx/tx.
                        I switched to a serial gw and that works just fine.

                        Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                        gohanG 1 Reply Last reply
                        1
                        • tbowmoT Offline
                          tbowmoT Offline
                          tbowmo
                          Admin
                          wrote on last edited by
                          #50

                          @wergeld

                          Btw. with the setup mentioned above, I have made a basic mysensors router in node-red, I can have two mysensors gateways attached to node-red (nRF24, and RFM69). I then keep track of which gateway I hear which node on, and use that to send commands through the right gateway, when domoticz want to turn on an actuator.

                          Domoticz only knows of one gateway. It just sees a bunch of nodes reporting data :)

                          1 Reply Last reply
                          0
                          • AnticimexA Anticimex

                            @tbowmo @gohan I made some experiments using ethernet gw (not MQTT) but gave it up because I could not get node-red to communicate with the GW on the same port for rx/tx.
                            I switched to a serial gw and that works just fine.

                            gohanG Offline
                            gohanG Offline
                            gohan
                            Mod
                            wrote on last edited by
                            #51

                            @Anticimex don't you think MQTT is better suited for this task? I am still quite new to node-red and haven't tikered with it much as learning javascript is low on the priority list :D

                            AnticimexA 1 Reply Last reply
                            0
                            • tbowmoT tbowmo

                              @wergeld

                              the module is available through NPM as well.. So npm install node-red-contrib-mysensors :)

                              The basic node-red mysensors is pasted below, my setup is starting to be quite extensive, with reporting to slack channels, creating a websocket for my custom dashboard etc. But isn't necessary for the basic domoticz/nodered

                              For connecting node-red/domoticz together I use socat to create a virtual serial port:

                              socat PTY,link=/dev/ttyS81,mode=666,group=dialout,raw PTY,link=/dev/ttyUSB21,mode=666,group=dialout,raw &
                              

                              node-red:

                              [
                                  {
                                      "id": "9b272654.9ad688",
                                      "type": "subflow",
                                      "name": "Influx processing",
                                      "info": "",
                                      "in": [
                                          {
                                              "x": 220,
                                              "y": 280,
                                              "wires": [
                                                  {
                                                      "id": "5cfd0e8.fa302f"
                                                  }
                                              ]
                                          }
                                      ],
                                      "out": [
                                          {
                                              "x": 960,
                                              "y": 240,
                                              "wires": [
                                                  {
                                                      "id": "55204322.aadfbc",
                                                      "port": 0
                                                  }
                                              ]
                                          },
                                          {
                                              "x": 960,
                                              "y": 380,
                                              "wires": [
                                                  {
                                                      "id": "d6b8cf3e.6954c",
                                                      "port": 0
                                                  }
                                              ]
                                          }
                                      ]
                                  },
                                  {
                                      "id": "55204322.aadfbc",
                                      "type": "function",
                                      "z": "9b272654.9ad688",
                                      "name": "Influx conditioner",
                                      "func": "msg_env = null;\nmsg_utility = null;\nmsg_debug = null;\nst = msg.subType;\nif (msg.messageType == 1 && (st === 0 || st == 1 || st == 4 || st == 17)) {\n    var tags = {};var data = {}\n    tags.node = msg.nodeId.toString();\n    tags.sensor = msg.childSensorId.toString();\n    data.value=parseFloat(msg.payload);\n    switch (st) {\n        case 0 : type = \"temperature\";break;\n        case 1 : type = \"humidity\"; break;\n        case 4 : type = \"barometer\"; break;\n        case 17: type = \"electricity\"; break;\n    }\n    msg.payload = [data, tags];\n    msg.measurement = type;\n    msg_debug = msg;\n    if (msg.subType==17) \n        msg_utility = msg;\n    else \n        msg_env = msg;\n} \nelse \n    msg = null;\nreturn [msg_debug, msg_env, msg_utility];",
                                      "outputs": "3",
                                      "noerr": 0,
                                      "x": 790,
                                      "y": 280,
                                      "wires": [
                                          [],
                                          [
                                              "c042117a.3fbdf"
                                          ],
                                          [
                                              "f6bdc7dc.77c758"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "5cfd0e8.fa302f",
                                      "type": "mysdecenc",
                                      "z": "9b272654.9ad688",
                                      "name": "",
                                      "x": 350,
                                      "y": 280,
                                      "wires": [
                                          [
                                              "55204322.aadfbc",
                                              "d6b8cf3e.6954c"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "c042117a.3fbdf",
                                      "type": "influxdb out",
                                      "z": "9b272654.9ad688",
                                      "influxdb": "9dbdc7c7.624238",
                                      "name": "",
                                      "measurement": "",
                                      "x": 1020,
                                      "y": 280,
                                      "wires": []
                                  },
                                  {
                                      "id": "f6bdc7dc.77c758",
                                      "type": "influxdb out",
                                      "z": "9b272654.9ad688",
                                      "influxdb": "9de2e4ed.fdcfc8",
                                      "name": "Utility",
                                      "measurement": "",
                                      "x": 990,
                                      "y": 320,
                                      "wires": []
                                  },
                                  {
                                      "id": "d6b8cf3e.6954c",
                                      "type": "function",
                                      "z": "9b272654.9ad688",
                                      "name": "Watt/Hour calculator",
                                      "func": "/* Takes input on subType 24, calculates difference\n   from last time, if around 60 seconds have passed\n   since last report.\n   It passes the value on as subType 17, and\n   childSensorId 2 */\n\nif ((msg.subType===24) && (msg.nodeId===99)) {\n    var uTime = Math.floor(Date.now()/60000);\n    var lastTime = context.get('lastTime')||0;\n    if (lastTime === 0) {\n        context.set('lastTime', uTime);\n        context.set('lastCount', msg.payload);\n    } else {\n        if (uTime != lastTime) {\n            lastCount = context.get('lastCount');\n            currentCount = msg.payload;\n            context.set('lastTime', uTime);\n            context.set('lastCount', currentCount)\n            msg.subType = 17;\n            msg.childSensorId = \"2\";\n            msg.payload = currentCount - lastCount;\n            return msg;\n        }\n    }\n}",
                                      "outputs": 1,
                                      "noerr": 0,
                                      "x": 560,
                                      "y": 340,
                                      "wires": [
                                          [
                                              "55204322.aadfbc"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "9dbdc7c7.624238",
                                      "type": "influxdb",
                                      "z": "67deb464.98214c",
                                      "hostname": "127.0.0.1",
                                      "port": "8086",
                                      "database": "environment",
                                      "name": "Environment DB"
                                  },
                                  {
                                      "id": "9de2e4ed.fdcfc8",
                                      "type": "influxdb",
                                      "z": "67deb464.98214c",
                                      "hostname": "127.0.0.1",
                                      "port": "8086",
                                      "database": "utility",
                                      "name": "Utility DB"
                                  },
                                  {
                                      "id": "4c13992e.b3ec68",
                                      "type": "subflow",
                                      "name": "Logging filter",
                                      "in": [
                                          {
                                              "x": 105.5,
                                              "y": 240,
                                              "wires": [
                                                  {
                                                      "id": "c2063804.3df9c8"
                                                  }
                                              ]
                                          }
                                      ],
                                      "out": [
                                          {
                                              "x": 600,
                                              "y": 260,
                                              "wires": [
                                                  {
                                                      "id": "b57b1f3.f4a84e",
                                                      "port": 1
                                                  }
                                              ]
                                          }
                                      ]
                                  },
                                  {
                                      "id": "c2063804.3df9c8",
                                      "type": "mysdecenc",
                                      "z": "4c13992e.b3ec68",
                                      "name": "",
                                      "x": 230,
                                      "y": 240,
                                      "wires": [
                                          [
                                              "b57b1f3.f4a84e"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "b57b1f3.f4a84e",
                                      "type": "function",
                                      "z": "4c13992e.b3ec68",
                                      "name": "Filter battery msg",
                                      "func": "var battMsg = null;\nvar debugMsg = null;\nvar sketchMsg = null;\nif (msg.messageType==3) {\n    if (msg.subType===0)\n        battMsg = msg;\n    if (msg.subType==9)\n        debugMsg = msg;\n    if (msg.subType==11 || msg.subType==12)\n        sketchMsg = msg;\n}\n\nreturn [battMsg, debugMsg, sketchMsg];",
                                      "outputs": "3",
                                      "noerr": 0,
                                      "x": 430,
                                      "y": 240,
                                      "wires": [
                                          [
                                              "dec3cc44.213c3",
                                              "d8b91167.2746f"
                                          ],
                                          [],
                                          [
                                              "b521bd95.4ade4"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "dec3cc44.213c3",
                                      "type": "mysdecenc",
                                      "z": "4c13992e.b3ec68",
                                      "name": "",
                                      "x": 650,
                                      "y": 180,
                                      "wires": [
                                          [
                                              "1b4decbb.e4b213"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "38f9ab87.c70654",
                                      "type": "file",
                                      "z": "4c13992e.b3ec68",
                                      "name": "Battery log",
                                      "filename": "/var/tmp/battlog.txt",
                                      "appendNewline": false,
                                      "createDir": false,
                                      "overwriteFile": "false",
                                      "x": 1050,
                                      "y": 180,
                                      "wires": []
                                  },
                                  {
                                      "id": "1b4decbb.e4b213",
                                      "type": "function",
                                      "z": "4c13992e.b3ec68",
                                      "name": "inject date",
                                      "func": "var date = new Date();\nvar str = date.getFullYear() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getDate() + \" \" +  date.getHours() + \":\" + date.getMinutes() + \":\" + date.getSeconds();\nmsg.payload = str + \" - \" + msg.payload;\nreturn msg;",
                                      "outputs": 1,
                                      "noerr": 0,
                                      "x": 830,
                                      "y": 180,
                                      "wires": [
                                          [
                                              "38f9ab87.c70654"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "d8b91167.2746f",
                                      "type": "function",
                                      "z": "4c13992e.b3ec68",
                                      "name": "Check batt level",
                                      "func": "var date = new Date();\nvar str = date.getFullYear() + \"-\" + (date.getMonth() + 1) + \"-\" + date.getDate() + \" \" +  date.getHours() + \":\" + date.getMinutes() + \":\" + date.getSeconds();\nmsg.date = str;\nif (parseInt(msg.payload)<5)\nreturn msg;",
                                      "outputs": 1,
                                      "noerr": 0,
                                      "x": 660,
                                      "y": 220,
                                      "wires": [
                                          [
                                              "c44e1c28.3bb1e"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "c44e1c28.3bb1e",
                                      "type": "template",
                                      "z": "4c13992e.b3ec68",
                                      "name": "BatLow message",
                                      "field": "payload",
                                      "fieldType": "msg",
                                      "format": "handlebars",
                                      "syntax": "mustache",
                                      "template": "{{date}} - Battery level is low on node {{nodeId}} : {{payload}} !",
                                      "x": 850,
                                      "y": 220,
                                      "wires": [
                                          [
                                              "e9231639.16dce8"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "e9231639.16dce8",
                                      "type": "twitter out",
                                      "z": "4c13992e.b3ec68",
                                      "twitter": "",
                                      "name": "Tweet",
                                      "x": 1030,
                                      "y": 220,
                                      "wires": []
                                  },
                                  {
                                      "id": "b478903e.4b877",
                                      "type": "file",
                                      "z": "4c13992e.b3ec68",
                                      "name": "Presentation log",
                                      "filename": "/var/tmp/presentation.txt",
                                      "appendNewline": true,
                                      "createDir": false,
                                      "overwriteFile": "false",
                                      "x": 840,
                                      "y": 300,
                                      "wires": []
                                  },
                                  {
                                      "id": "b521bd95.4ade4",
                                      "type": "mysdecenc",
                                      "z": "4c13992e.b3ec68",
                                      "name": "",
                                      "x": 650,
                                      "y": 300,
                                      "wires": [
                                          [
                                              "b478903e.4b877"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "bed2e35d.412d2",
                                      "type": "subflow",
                                      "name": "Domoticz conditioner",
                                      "info": "Inverts lockstate for domoticz, as domoticz has inverted the logic in their code, compared to mysensors",
                                      "in": [
                                          {
                                              "x": 280,
                                              "y": 220,
                                              "wires": [
                                                  {
                                                      "id": "8afd136d.7502f"
                                                  }
                                              ]
                                          }
                                      ],
                                      "out": [
                                          {
                                              "x": 1000,
                                              "y": 220,
                                              "wires": [
                                                  {
                                                      "id": "91eb6b4c.6e1498",
                                                      "port": 0
                                                  }
                                              ]
                                          }
                                      ]
                                  },
                                  {
                                      "id": "8afd136d.7502f",
                                      "type": "mysdecenc",
                                      "z": "bed2e35d.412d2",
                                      "name": "",
                                      "x": 410,
                                      "y": 220,
                                      "wires": [
                                          [
                                              "126152bf.ed9ead"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "126152bf.ed9ead",
                                      "type": "function",
                                      "z": "bed2e35d.412d2",
                                      "name": "Invert lockstate for domoticz",
                                      "func": "if (msg.subType == 36) {\n    if (msg.payload== \"1\") msg.payload=\"0\";\n    else msg.payload=\"1\";\n}\nreturn msg;",
                                      "outputs": 1,
                                      "noerr": 0,
                                      "x": 640,
                                      "y": 220,
                                      "wires": [
                                          [
                                              "91eb6b4c.6e1498"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "91eb6b4c.6e1498",
                                      "type": "mysdecenc",
                                      "z": "bed2e35d.412d2",
                                      "name": "",
                                      "x": 870,
                                      "y": 220,
                                      "wires": [
                                          []
                                      ]
                                  },
                                  {
                                      "id": "2257718.fdda88e",
                                      "type": "subflow",
                                      "name": "Energy meter",
                                      "info": "Converts input from arduino sketch, to a \nMysensors compatible protocol format, usable\nfor injecting into the message stream from\nnormal Mysensors nodes\n\nOutputs data as nodeId 99.",
                                      "in": [],
                                      "out": [
                                          {
                                              "x": 1020,
                                              "y": 200,
                                              "wires": [
                                                  {
                                                      "id": "9d92273c.626dd8",
                                                      "port": 0
                                                  }
                                              ]
                                          }
                                      ]
                                  },
                                  {
                                      "id": "12db17ce.ed24e8",
                                      "type": "serial in",
                                      "z": "2257718.fdda88e",
                                      "name": "Meter input",
                                      "serial": "acfe3226.5301d",
                                      "x": 240,
                                      "y": 200,
                                      "wires": [
                                          [
                                              "e56f30b7.1a90d"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "1dcfb48.fe2304c",
                                      "type": "mysencap",
                                      "z": "2257718.fdda88e",
                                      "name": "V_WATT node 99",
                                      "nodeid": "99",
                                      "childid": "1",
                                      "subtype": "17",
                                      "internal": "0",
                                      "ack": false,
                                      "msgtype": "1",
                                      "presentation": false,
                                      "presentationtype": "13",
                                      "presentationtext": "Watt",
                                      "fullpresentation": false,
                                      "firmwarename": "",
                                      "firmwareversion": "",
                                      "x": 650,
                                      "y": 160,
                                      "wires": [
                                          [
                                              "9d92273c.626dd8"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "f9b89df5.06476",
                                      "type": "mysencap",
                                      "z": "2257718.fdda88e",
                                      "name": "V_KWH node 99",
                                      "nodeid": "99",
                                      "childid": "1",
                                      "subtype": "18",
                                      "internal": "0",
                                      "ack": false,
                                      "msgtype": "1",
                                      "presentation": true,
                                      "presentationtype": "13",
                                      "presentationtext": "Kwh",
                                      "fullpresentation": true,
                                      "firmwarename": "MeterNode",
                                      "firmwareversion": "0.1",
                                      "x": 650,
                                      "y": 200,
                                      "wires": [
                                          [
                                              "9d92273c.626dd8"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "9d92273c.626dd8",
                                      "type": "mysdecenc",
                                      "z": "2257718.fdda88e",
                                      "name": "",
                                      "x": 890,
                                      "y": 200,
                                      "wires": [
                                          []
                                      ]
                                  },
                                  {
                                      "id": "e56f30b7.1a90d",
                                      "type": "function",
                                      "z": "2257718.fdda88e",
                                      "name": "Split meter data",
                                      "func": "var m=msg.payload.split(';');\nvar msg1 = {payload:m[0]};\nvar msg2 = {payload:m[1]/1000};\nvar msg3 = {payload:m[1]};\nreturn [msg1, msg2, msg3];",
                                      "outputs": "3",
                                      "noerr": 0,
                                      "x": 420,
                                      "y": 200,
                                      "wires": [
                                          [
                                              "1dcfb48.fe2304c"
                                          ],
                                          [
                                              "f9b89df5.06476"
                                          ],
                                          [
                                              "dfd92894.2026d8",
                                              "11f1e54.721221b"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "dfd92894.2026d8",
                                      "type": "file",
                                      "z": "2257718.fdda88e",
                                      "name": "meter counter output to file",
                                      "filename": "/var/tmp/meascache.txt",
                                      "appendNewline": true,
                                      "createDir": false,
                                      "overwriteFile": "true",
                                      "x": 680,
                                      "y": 280,
                                      "wires": []
                                  },
                                  {
                                      "id": "11f1e54.721221b",
                                      "type": "mysencap",
                                      "z": "2257718.fdda88e",
                                      "name": "V_VAR1 (Wh node 99)",
                                      "nodeid": "99",
                                      "childid": "10",
                                      "subtype": "24",
                                      "internal": 0,
                                      "ack": false,
                                      "msgtype": "1",
                                      "presentation": false,
                                      "presentationtype": 0,
                                      "presentationtext": "",
                                      "fullpresentation": false,
                                      "firmwarename": "",
                                      "firmwareversion": "",
                                      "x": 660,
                                      "y": 240,
                                      "wires": [
                                          [
                                              "9d92273c.626dd8"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "acfe3226.5301d",
                                      "type": "serial-port",
                                      "z": "",
                                      "serialport": "/dev/ttyUTILITY",
                                      "serialbaud": "115200",
                                      "databits": "8",
                                      "parity": "none",
                                      "stopbits": "1",
                                      "newline": "\\n",
                                      "bin": "false",
                                      "out": "char",
                                      "addchar": true
                                  },
                                  {
                                      "id": "67deb464.98214c",
                                      "type": "tab",
                                      "label": "Mysensors"
                                  },
                                  {
                                      "id": "5b8bba4c.a47444",
                                      "type": "serial in",
                                      "z": "67deb464.98214c",
                                      "name": "Mysensors NRF",
                                      "serial": "821a7286.7de59",
                                      "x": 200,
                                      "y": 460,
                                      "wires": [
                                          [
                                              "a056d087.fb87f",
                                              "8cb827f.b90b8d8"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "47b5936e.b84a6c",
                                      "type": "serial out",
                                      "z": "67deb464.98214c",
                                      "name": "Mysensors NRF",
                                      "serial": "821a7286.7de59",
                                      "x": 1340,
                                      "y": 180,
                                      "wires": []
                                  },
                                  {
                                      "id": "4755dfb8.b8aa2",
                                      "type": "serial out",
                                      "z": "67deb464.98214c",
                                      "name": "Domoticz",
                                      "serial": "b5105521.4aefa8",
                                      "x": 1320,
                                      "y": 420,
                                      "wires": []
                                  },
                                  {
                                      "id": "8b4a855.f74b578",
                                      "type": "debug",
                                      "z": "67deb464.98214c",
                                      "name": "Mysensors in",
                                      "active": false,
                                      "console": "false",
                                      "complete": "true",
                                      "x": 1110,
                                      "y": 340,
                                      "wires": []
                                  },
                                  {
                                      "id": "8caee560.735118",
                                      "type": "subflow:2257718.fdda88e",
                                      "z": "67deb464.98214c",
                                      "x": 190,
                                      "y": 640,
                                      "wires": [
                                          [
                                              "44592b43.bba6d4",
                                              "d7b40093.e136f"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "44592b43.bba6d4",
                                      "type": "debug",
                                      "z": "67deb464.98214c",
                                      "name": "Energy meter output",
                                      "active": false,
                                      "console": "false",
                                      "complete": "true",
                                      "x": 420,
                                      "y": 640,
                                      "wires": []
                                  },
                                  {
                                      "id": "9e471178.61b8f",
                                      "type": "subflow:bed2e35d.412d2",
                                      "z": "67deb464.98214c",
                                      "name": "",
                                      "x": 420,
                                      "y": 220,
                                      "wires": [
                                          [
                                              "173aba02.e8c546",
                                              "9aecc18f.21f6d"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "9bdc2a5b.6423d8",
                                      "type": "subflow:bed2e35d.412d2",
                                      "z": "67deb464.98214c",
                                      "name": "Domoticz out",
                                      "x": 1110,
                                      "y": 420,
                                      "wires": [
                                          [
                                              "4755dfb8.b8aa2"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "9ebb1391.6144f",
                                      "type": "debug",
                                      "z": "67deb464.98214c",
                                      "name": "gw debug",
                                      "active": false,
                                      "console": "false",
                                      "complete": "true",
                                      "x": 1320,
                                      "y": 480,
                                      "wires": []
                                  },
                                  {
                                      "id": "49c6c17b.b6394",
                                      "type": "subflow:4c13992e.b3ec68",
                                      "z": "67deb464.98214c",
                                      "x": 1110,
                                      "y": 480,
                                      "wires": [
                                          [
                                              "9ebb1391.6144f"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "602db35f.9fd24c",
                                      "type": "serial in",
                                      "z": "67deb464.98214c",
                                      "name": "Domoticz (20)",
                                      "serial": "b5105521.4aefa8",
                                      "x": 190,
                                      "y": 220,
                                      "wires": [
                                          [
                                              "9e471178.61b8f"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "173aba02.e8c546",
                                      "type": "debug",
                                      "z": "67deb464.98214c",
                                      "name": "Domoticz in",
                                      "active": false,
                                      "console": "false",
                                      "complete": "payload",
                                      "x": 650,
                                      "y": 180,
                                      "wires": []
                                  },
                                  {
                                      "id": "3ff64036.ae116",
                                      "type": "subflow:9b272654.9ad688",
                                      "z": "67deb464.98214c",
                                      "name": "InfluxDB",
                                      "x": 1100,
                                      "y": 380,
                                      "wires": [
                                          [
                                              "aec232d3.2860b"
                                          ],
                                          [
                                              "1d454a20.ff7ae6"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "aec232d3.2860b",
                                      "type": "debug",
                                      "z": "67deb464.98214c",
                                      "name": "",
                                      "active": false,
                                      "console": "false",
                                      "complete": "true",
                                      "x": 1310,
                                      "y": 340,
                                      "wires": []
                                  },
                                  {
                                      "id": "a056d087.fb87f",
                                      "type": "change",
                                      "z": "67deb464.98214c",
                                      "name": "mark NRF",
                                      "rules": [
                                          {
                                              "t": "set",
                                              "p": "radio",
                                              "pt": "msg",
                                              "to": "nrf",
                                              "tot": "str"
                                          }
                                      ],
                                      "action": "",
                                      "property": "",
                                      "from": "",
                                      "to": "",
                                      "reg": false,
                                      "x": 390,
                                      "y": 480,
                                      "wires": [
                                          [
                                              "581b2ac8.2248c4"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "ba16f31f.9adc5",
                                      "type": "change",
                                      "z": "67deb464.98214c",
                                      "name": "mark RFM",
                                      "rules": [
                                          {
                                              "t": "set",
                                              "p": "radio",
                                              "pt": "msg",
                                              "to": "rfm",
                                              "tot": "str"
                                          }
                                      ],
                                      "action": "",
                                      "property": "",
                                      "from": "",
                                      "to": "",
                                      "reg": false,
                                      "x": 390,
                                      "y": 520,
                                      "wires": [
                                          [
                                              "581b2ac8.2248c4"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "5990dc86.7a2ef4",
                                      "type": "function",
                                      "z": "67deb464.98214c",
                                      "name": "net detect",
                                      "func": "var net = flow.get('network') || {};\nvar msg2 = {};\nnet[msg.nodeId] = msg.radio;\nflow.set('network', net);\nmsg2.payload = net;\nreturn [msg, msg2];",
                                      "outputs": "2",
                                      "noerr": 0,
                                      "x": 720,
                                      "y": 500,
                                      "wires": [
                                          [
                                              "1202b756.eb6449"
                                          ],
                                          [
                                              "ee23ee4a.b5f14"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "ee23ee4a.b5f14",
                                      "type": "debug",
                                      "z": "67deb464.98214c",
                                      "name": "",
                                      "active": false,
                                      "console": "false",
                                      "complete": "false",
                                      "x": 890,
                                      "y": 520,
                                      "wires": []
                                  },
                                  {
                                      "id": "581b2ac8.2248c4",
                                      "type": "mysdecenc",
                                      "z": "67deb464.98214c",
                                      "name": "",
                                      "x": 570,
                                      "y": 500,
                                      "wires": [
                                          [
                                              "5990dc86.7a2ef4",
                                              "b10cb69c.3e3d18",
                                              "ea57b38e.eecb5"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "1202b756.eb6449",
                                      "type": "mysdecenc",
                                      "z": "67deb464.98214c",
                                      "name": "",
                                      "x": 890,
                                      "y": 480,
                                      "wires": [
                                          [
                                              "8b4a855.f74b578",
                                              "49c6c17b.b6394",
                                              "9bdc2a5b.6423d8",
                                              "3ff64036.ae116"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "22f329c0.24f896",
                                      "type": "function",
                                      "z": "67deb464.98214c",
                                      "name": "Net switch",
                                      "func": "var net = flow.get('network');\nmsg_nrf = null;\nmsg_rfm = null;\nmsg_nodered = null;\nif (msg.nodeId in net) {\n    var network = net[msg.nodeId];\n    if (network == 'rfm') msg_rfm = msg;\n    if (network == 'nrf') msg_nrf = msg;\n    if (network == 'nodered') msg_nodered = msg;\n} else {\n    msg_nrf = msg;\n    msg_rfm = msg;\n    msg_nodered = msg;\n}\nreturn [msg_nrf,msg_rfm, msg_nodered];\n",
                                      "outputs": "3",
                                      "noerr": 0,
                                      "x": 890,
                                      "y": 220,
                                      "wires": [
                                          [
                                              "56c9c62f.f1cbc8"
                                          ],
                                          [
                                              "4c477db.4619e84"
                                          ],
                                          []
                                      ]
                                  },
                                  {
                                      "id": "9aecc18f.21f6d",
                                      "type": "mysdecenc",
                                      "z": "67deb464.98214c",
                                      "name": "",
                                      "x": 650,
                                      "y": 220,
                                      "wires": [
                                          [
                                              "22f329c0.24f896",
                                              "b10cb69c.3e3d18"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "56c9c62f.f1cbc8",
                                      "type": "mysdecenc",
                                      "z": "67deb464.98214c",
                                      "name": "",
                                      "x": 1110,
                                      "y": 180,
                                      "wires": [
                                          [
                                              "47b5936e.b84a6c",
                                              "932ebb67.4968d8"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "4c477db.4619e84",
                                      "type": "mysdecenc",
                                      "z": "67deb464.98214c",
                                      "name": "",
                                      "x": 1110,
                                      "y": 240,
                                      "wires": [
                                          [
                                              "6b2fe680.509218",
                                              "aac8db1a.8aa468"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "932ebb67.4968d8",
                                      "type": "debug",
                                      "z": "67deb464.98214c",
                                      "name": "msg_nrf",
                                      "active": false,
                                      "console": "false",
                                      "complete": "payload",
                                      "x": 1320,
                                      "y": 140,
                                      "wires": []
                                  },
                                  {
                                      "id": "6b2fe680.509218",
                                      "type": "debug",
                                      "z": "67deb464.98214c",
                                      "name": "msg_rfm",
                                      "active": false,
                                      "console": "false",
                                      "complete": "payload",
                                      "x": 1320,
                                      "y": 280,
                                      "wires": []
                                  },
                                  {
                                      "id": "8919748d.f19738",
                                      "type": "debug",
                                      "z": "67deb464.98214c",
                                      "name": "RFM Input",
                                      "active": false,
                                      "console": "false",
                                      "complete": "payload",
                                      "x": 390,
                                      "y": 560,
                                      "wires": []
                                  },
                                  {
                                      "id": "8155e57b.a7b2e8",
                                      "type": "serial in",
                                      "z": "67deb464.98214c",
                                      "name": "Mysensors RFM",
                                      "serial": "48886e04.c4cc6",
                                      "x": 200,
                                      "y": 540,
                                      "wires": [
                                          [
                                              "ba16f31f.9adc5",
                                              "8919748d.f19738"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "aac8db1a.8aa468",
                                      "type": "serial out",
                                      "z": "67deb464.98214c",
                                      "name": "Mysensors RFM",
                                      "serial": "48886e04.c4cc6",
                                      "x": 1340,
                                      "y": 240,
                                      "wires": []
                                  },
                                  {
                                      "id": "8cb827f.b90b8d8",
                                      "type": "debug",
                                      "z": "67deb464.98214c",
                                      "name": "NRF input",
                                      "active": false,
                                      "console": "false",
                                      "complete": "payload",
                                      "x": 380,
                                      "y": 440,
                                      "wires": []
                                  },
                                  {
                                      "id": "b10cb69c.3e3d18",
                                      "type": "link out",
                                      "z": "67deb464.98214c",
                                      "name": "UI link",
                                      "links": [
                                          "2f8a6093.73ef7",
                                          "6d7cc489.0bb81c",
                                          "ad2dd4f0.d2c718",
                                          "d6fb4a23.fcf218"
                                      ],
                                      "x": 755,
                                      "y": 320,
                                      "wires": []
                                  },
                                  {
                                      "id": "cc31c979.e15578",
                                      "type": "link in",
                                      "z": "67deb464.98214c",
                                      "name": "",
                                      "links": [
                                          "5d82dd49.5350d4"
                                      ],
                                      "x": 755,
                                      "y": 360,
                                      "wires": [
                                          [
                                              "1202b756.eb6449",
                                              "22f329c0.24f896"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "d7b40093.e136f",
                                      "type": "change",
                                      "z": "67deb464.98214c",
                                      "name": "mark nodered",
                                      "rules": [
                                          {
                                              "t": "set",
                                              "p": "radio",
                                              "pt": "msg",
                                              "to": "nodered",
                                              "tot": "str"
                                          }
                                      ],
                                      "action": "",
                                      "property": "",
                                      "from": "",
                                      "to": "",
                                      "reg": false,
                                      "x": 400,
                                      "y": 600,
                                      "wires": [
                                          [
                                              "581b2ac8.2248c4"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "1d454a20.ff7ae6",
                                      "type": "link out",
                                      "z": "67deb464.98214c",
                                      "name": "Trigger KWH to dashboard",
                                      "links": [
                                          "1e4f3d9a.978582"
                                      ],
                                      "x": 1275,
                                      "y": 380,
                                      "wires": []
                                  },
                                  {
                                      "id": "ea57b38e.eecb5",
                                      "type": "debug",
                                      "z": "67deb464.98214c",
                                      "name": "",
                                      "active": false,
                                      "console": "false",
                                      "complete": "true",
                                      "x": 710,
                                      "y": 580,
                                      "wires": []
                                  },
                                  {
                                      "id": "821a7286.7de59",
                                      "type": "serial-port",
                                      "z": "",
                                      "serialport": "/dev/ttyNRF24",
                                      "serialbaud": "115200",
                                      "databits": "8",
                                      "parity": "none",
                                      "stopbits": "1",
                                      "newline": "\\n",
                                      "bin": "false",
                                      "out": "char",
                                      "addchar": true
                                  },
                                  {
                                      "id": "b5105521.4aefa8",
                                      "type": "serial-port",
                                      "serialport": "/dev/ttyS80",
                                      "serialbaud": "115200",
                                      "databits": "8",
                                      "parity": "none",
                                      "stopbits": "1",
                                      "newline": "\\n",
                                      "bin": "false",
                                      "out": "char",
                                      "addchar": true
                                  },
                                  {
                                      "id": "48886e04.c4cc6",
                                      "type": "serial-port",
                                      "z": "67deb464.98214c",
                                      "serialport": "/dev/ttyRFM69",
                                      "serialbaud": "115200",
                                      "databits": "8",
                                      "parity": "none",
                                      "stopbits": "1",
                                      "newline": "\\n",
                                      "bin": "false",
                                      "out": "char",
                                      "addchar": true
                                  }
                              ]```
                              W Offline
                              W Offline
                              wergeld
                              wrote on last edited by
                              #52

                              @tbowmo I feel I have a lot of reading to do...
                              Setting up my own custom dashboard has been on my todo list forever (I have the shell made and used the Domoticz API to pull in data but am not really satisfied at all with Domo's APIs). InfluxDB is neat but so, so, limited in my opinion (I do SQL Server big data analytics in the real world).

                              1 Reply Last reply
                              0
                              • NeverDieN NeverDie

                                I want to pick a controller, but I don't want to jump in feet first only to find out later that it's somehow seriously flawed. Domoticz, Openhab, and Vera appear to be the most popular based on number of topics and posts. I think I can rule out Vera based on prior negative experience with it. So, I guess that makes it Domoticz vs. OpenHAB. Any reasons to prefer one over the other? The built-in graphing in Domoticz looks very appealing.

                                Bogus ExceptionB Offline
                                Bogus ExceptionB Offline
                                Bogus Exception
                                wrote on last edited by
                                #53

                                @NeverDie I tried for days. Too buggy, and not enough support. I landed with MyController, which takes advantage of MySensors, plus allows a lot of scripting, etc.

                                </$0.02>

                                "If you drop it and it breaks, it was good." ~ Mr. Lehr, my Electronics Vo-Tech teacher, on testing vacuum tubes...
                                -Arduinos (UNO, Nano, Pro-Mini, Mega, ...)
                                -ATTiny, ATMega, STM32
                                -Geek Channel: https://www.youtube.com/TheSalesEngineer

                                1 Reply Last reply
                                1
                                • gohanG gohan

                                  @Anticimex don't you think MQTT is better suited for this task? I am still quite new to node-red and haven't tikered with it much as learning javascript is low on the priority list :D

                                  AnticimexA Offline
                                  AnticimexA Offline
                                  Anticimex
                                  Contest Winner
                                  wrote on last edited by
                                  #54

                                  @gohan which task? I have never used MQTT and I have not felt a need to use it so far.

                                  Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                                  gohanG 1 Reply Last reply
                                  0
                                  • AnticimexA Anticimex

                                    @gohan which task? I have never used MQTT and I have not felt a need to use it so far.

                                    gohanG Offline
                                    gohanG Offline
                                    gohan
                                    Mod
                                    wrote on last edited by
                                    #55

                                    @Anticimex I'm referring to the task of communicating between 2 or more platforms/devices: it was built for that. If I knew how to do it, I'd try to make it myself 😅

                                    AnticimexA 1 Reply Last reply
                                    0
                                    • gohanG gohan

                                      @Anticimex I'm referring to the task of communicating between 2 or more platforms/devices: it was built for that. If I knew how to do it, I'd try to make it myself 😅

                                      AnticimexA Offline
                                      AnticimexA Offline
                                      Anticimex
                                      Contest Winner
                                      wrote on last edited by
                                      #56

                                      @gohan ok, well I use node-red. It works for me, and I can easily hook in anything imaginable (including MQTT things) while also having the ability to easily inspect and manipulate the data as it flows through the grid. Perhaps MQTT offer that by itself. I don't know.

                                      Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                                      1 Reply Last reply
                                      1
                                      • tbowmoT Offline
                                        tbowmoT Offline
                                        tbowmo
                                        Admin
                                        wrote on last edited by
                                        #57

                                        with node-red as middleware you can in theory filter nodes out that you won't let domoticz handle..

                                        Or run both domoticz and pidome (or another controller) in parallel, for example if you want to switch controller for some reason, then move things slowly over to the new platform. I have done this a couple of times, when I wanted to check out a new controller..

                                        MQTT could probably be used, as it can have multiple clients listen to the same data. I just want to get in between the mysensors network, and everything else, so I can manipulate data as I see fit. And that is possible with node-red. You don't need javascript knowledge for basic stuff.. As it's a graphical click and draw thing, and quite intuitive imho.

                                        gohanG 1 Reply Last reply
                                        1
                                        • W wergeld

                                          I have used Domoticz for about 2+ years. I like it a lot but wish for something...more.
                                          Pros:
                                          Quick setup for mysensors nodes
                                          One-stop location for data storage and data presentation
                                          Android app is very good
                                          Customizable scripting options once you leave their scripting environment and use API values.

                                          Cons:
                                          Event scripting (lua? really?) needs more advanced features.
                                          Has interesting issue lately where if I lose power to the Pi I lose all data back to May 23 of this year. I have a cron job that backs up the DB nightly and send to my NAS so I can lose hours instead of days. But, man, is this annoying - I have not tracked down the reason yet.
                                          Graphs are just sort of...there. I do data viz at my job and use Highcharts (Domoticz' charting library) daily. The charts in Domoticz need a lot of work.

                                          I have started writing my own front end that calls data from the Domoticz API (as well as other APIs) for showing info in our house. Nothing crazy cool, but it will eventually work fine for me.

                                          Which brings me to the point - there is no perfect controller. You need to find the one that is right for you.

                                          ronnyandreR Offline
                                          ronnyandreR Offline
                                          ronnyandre
                                          wrote on last edited by
                                          #58

                                          @wergeld said in Are folks here happy with Domoticz?:

                                          Event scripting (lua? really?) needs more advanced features.

                                          You should check out dzVents which makes LUA-scripting much more powerful and even simpler.

                                          Newbie with RPi and Domoticz, trying to automate my home.

                                          tbowmoT 1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          25

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular