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.
  • sinczeS Offline
    sinczeS Offline
    sincze
    MySensors Evangelist
    wrote on last edited by
    #31

    In the beginning I worked with DomotiGa on a raspberry. However due to all the crashes of my SD card and the long restore time (rebuilding / recompiling of DomotiGa) I had a shadow system on a separate Raspberry with Domoticz to figure out how it worked. In the end I also moved Domoticz from SD to an SSD using a Cubietruck backend. To speed Domoticz a little bit more I moved away from the standard (integrated) scripts and lua to Pass2PHP. Now all automatic controls are dealt with by PHP while still being able to use all de 'hardware' features and interface of domoticz itself. . As a result I have a fast responding system that integrates with all my domotica hardware flawless. The community is really big. And yes. Sometimes you run into a bug. But I assume that can happen anywhere.

    1 Reply Last reply
    2
    • W wergeld

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

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

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

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

      S Offline
      S Offline
      Sweetpants
      wrote on last edited by
      #32

      @wergeld, You can't blame domoticz for loosing power, that's a risk with all SD-card based systems. After a similar experience I run domoticz now on a intel NUC for about 4 years without any major issues, and I'm on Beta

      W 1 Reply Last reply
      0
      • rmtuckerR Offline
        rmtuckerR Offline
        rmtucker
        wrote on last edited by
        #33

        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 1 Reply Last reply
        0
        • gohanG Offline
          gohanG Offline
          gohan
          Mod
          wrote on last edited by
          #34

          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

          NeverDieN 1 Reply Last reply
          0
          • gohanG gohan

            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

            NeverDieN Offline
            NeverDieN Offline
            NeverDie
            Hero Member
            wrote on last edited by NeverDie
            #35

            @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)?

            gohanG tbowmoT 2 Replies Last reply
            0
            • S Sweetpants

              @wergeld, You can't blame domoticz for loosing power, that's a risk with all SD-card based systems. After a similar experience I run domoticz now on a intel NUC for about 4 years without any major issues, and I'm on Beta

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

              @Sweetpants Oh, I am not. Just saying that the issues I am having with logging do not have to do with Domoticz.

              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)?

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

                @NeverDie no, both Domoticz and node-red are connecting to ethernet/mqtt gateway (I don't remember which one is supported), so they both get the same data coming from the gateway and would keep working independently

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


                                          27

                                          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