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.
  • sundberg84S sundberg84

    Just to clarify I think Domoticz is very versatile and flexible when it comes to hardware but when it comes to GUI and how to visually show everything it's very nice but not configurable.

    markjgabbM Offline
    markjgabbM Offline
    markjgabb
    wrote on last edited by
    #38

    @sundberg84 i dont know about you, but i use imperihome as a front end over the top of domoticz with mydomoathome.....that way you get the strong base of domoticz, but i more user friendly and customisable front end

    1 Reply Last reply
    2
    • 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          24

                                          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