Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Z-Wave-Adapter setzt falsche Status bei "benachbarten" Objekten

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Z-Wave-Adapter setzt falsche Status bei "benachbarten" Objekten

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      nibblerrick last edited by

      Gute Idee, ich stelle mal auf silly und gucke was da kommt beim Schalten…

      1 Reply Last reply Reply Quote 0
      • N
        nibblerrick last edited by

        So, hier was passiert wenn ich Switch_2 einmal auf true setze und danach wieder auf false:

        2018-02-05 17:01:34.412 - debug: zwave.0 value changed: 4 comClass: 37 value: {"value_id":"4-37-2-0","node_id":4,"class_id":37,"type":"bool","genre":"user","instance":2,"index":0,"label":"Switch","units":"","help":"","read_only":false,"write_only":false,"min":0,"max":0,"is_polled":false,"value":true}
        2018-02-05 17:01:34.418 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.SWITCH_BINARY.Switch_2 val=true, ack=true, ts=1517846494414, q=0, from=system.adapter.zwave.0, lc=1517846494307
        2018-02-05 17:01:36.364 - debug: zwave.0 value changed: 4 comClass: 37 value: {"value_id":"4-37-1-0","node_id":4,"class_id":37,"type":"bool","genre":"user","instance":1,"index":0,"label":"Switch","units":"","help":"","read_only":false,"write_only":false,"min":0,"max":0,"is_polled":false,"value":true}
        2018-02-05 17:01:36.367 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.SWITCH_BINARY.Switch_1 val=true, ack=true, ts=1517846496366, q=0, from=system.adapter.zwave.0, lc=1517846496366
        2018-02-05 17:01:36.404 - debug: zwave.0 value changed: 4 comClass: 37 value: {"value_id":"4-37-1-0","node_id":4,"class_id":37,"type":"bool","genre":"user","instance":1,"index":0,"label":"Switch","units":"","help":"","read_only":false,"write_only":false,"min":0,"max":0,"is_polled":false,"value":true}
        2018-02-05 17:01:36.407 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.SWITCH_BINARY.Switch_1 val=true, ack=true, ts=1517846496406, q=0, from=system.adapter.zwave.0, lc=1517846496366
        2018-02-05 17:01:40.009 - debug: zwave.0 value changed: 4 comClass: 50 value: {"value_id":"4-50-1-32","node_id":4,"class_id":50,"type":"bool","genre":"user","instance":1,"index":32,"label":"Exporting","units":"","help":"","read_only":true,"write_only":false,"min":0,"max":0,"is_polled":false,"value":false}
        2018-02-05 17:01:40.010 - debug: zwave.0 value changed: 4 comClass: 50 value: {"value_id":"4-50-1-8","node_id":4,"class_id":50,"type":"decimal","genre":"user","instance":1,"index":8,"label":"Power","units":"W","help":"","read_only":true,"write_only":false,"min":0,"max":0,"is_polled":false,"value":"16.6"}
        2018-02-05 17:01:40.018 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.METER.Exporting_1 val=false, ack=true, ts=1517846500010, q=0, from=system.adapter.zwave.0, lc=1517742614071
        2018-02-05 17:01:40.021 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.METER.Power_1 val=16.6, ack=true, ts=1517846500018, q=0, from=system.adapter.zwave.0, lc=1517846500018
        2018-02-05 17:01:40.048 - debug: zwave.0 value changed: 4 comClass: 50 value: {"value_id":"4-50-1-32","node_id":4,"class_id":50,"type":"bool","genre":"user","instance":1,"index":32,"label":"Exporting","units":"","help":"","read_only":true,"write_only":false,"min":0,"max":0,"is_polled":false,"value":false}
        2018-02-05 17:01:40.049 - debug: zwave.0 value changed: 4 comClass: 50 value: {"value_id":"4-50-1-8","node_id":4,"class_id":50,"type":"decimal","genre":"user","instance":1,"index":8,"label":"Power","units":"W","help":"","read_only":true,"write_only":false,"min":0,"max":0,"is_polled":false,"value":"16.3"}
        2018-02-05 17:01:40.055 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.METER.Exporting_1 val=false, ack=true, ts=1517846500049, q=0, from=system.adapter.zwave.0, lc=1517742614071
        2018-02-05 17:01:40.055 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.METER.Power_1 val=16.3, ack=true, ts=1517846500051, q=0, from=system.adapter.zwave.0, lc=1517846500051
        2018-02-05 17:01:46.184 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.SWITCH_BINARY.Switch_2 val=false, ack=false, ts=1517846506183, q=0, from=system.adapter.admin.0, lc=1517846506183
        2018-02-05 17:01:46.184 - debug: zwave.0 stateChange zwave.0.NODE4.SWITCH_BINARY.Switch_2 set {"val":false,"ack":false,"ts":1517846506183,"q":0,"from":"system.adapter.admin.0","lc":1517846506183}
        2018-02-05 17:01:46.185 - debug: zwave.0 setState for: nodeID=4: comClass=37: index=0: instance=2: value=false
        2018-02-05 17:01:46.281 - debug: zwave.0 value changed: 4 comClass: 37 value: {"value_id":"4-37-2-0","node_id":4,"class_id":37,"type":"bool","genre":"user","instance":2,"index":0,"label":"Switch","units":"","help":"","read_only":false,"write_only":false,"min":0,"max":0,"is_polled":false,"value":false}
        2018-02-05 17:01:46.286 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.SWITCH_BINARY.Switch_2 val=false, ack=true, ts=1517846506283, q=0, from=system.adapter.zwave.0, lc=1517846506183
        2018-02-05 17:01:48.234 - debug: zwave.0 value changed: 4 comClass: 37 value: {"value_id":"4-37-1-0","node_id":4,"class_id":37,"type":"bool","genre":"user","instance":1,"index":0,"label":"Switch","units":"","help":"","read_only":false,"write_only":false,"min":0,"max":0,"is_polled":false,"value":false}
        2018-02-05 17:01:48.237 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.SWITCH_BINARY.Switch_1 val=false, ack=true, ts=1517846508235, q=0, from=system.adapter.zwave.0, lc=1517846508235
        2018-02-05 17:01:48.275 - debug: zwave.0 value changed: 4 comClass: 37 value: {"value_id":"4-37-1-0","node_id":4,"class_id":37,"type":"bool","genre":"user","instance":1,"index":0,"label":"Switch","units":"","help":"","read_only":false,"write_only":false,"min":0,"max":0,"is_polled":false,"value":false}
        2018-02-05 17:01:48.280 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.SWITCH_BINARY.Switch_1 val=false, ack=true, ts=1517846508276, q=0, from=system.adapter.zwave.0, lc=1517846508235
        2018-02-05 17:01:49.009 - debug: zwave.0 value changed: 4 comClass: 50 value: {"value_id":"4-50-1-32","node_id":4,"class_id":50,"type":"bool","genre":"user","instance":1,"index":32,"label":"Exporting","units":"","help":"","read_only":true,"write_only":false,"min":0,"max":0,"is_polled":false,"value":false}
        2018-02-05 17:01:49.010 - debug: zwave.0 value changed: 4 comClass: 50 value: {"value_id":"4-50-1-8","node_id":4,"class_id":50,"type":"decimal","genre":"user","instance":1,"index":8,"label":"Power","units":"W","help":"","read_only":true,"write_only":false,"min":0,"max":0,"is_polled":false,"value":"0.0"}
        2018-02-05 17:01:49.013 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.METER.Exporting_1 val=false, ack=true, ts=1517846509011, q=0, from=system.adapter.zwave.0, lc=1517742614071
        2018-02-05 17:01:49.015 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.METER.Power_1 val=0, ack=true, ts=1517846509013, q=0, from=system.adapter.zwave.0, lc=1517846509013
        2018-02-05 17:01:49.048 - debug: zwave.0 value changed: 4 comClass: 50 value: {"value_id":"4-50-1-32","node_id":4,"class_id":50,"type":"bool","genre":"user","instance":1,"index":32,"label":"Exporting","units":"","help":"","read_only":true,"write_only":false,"min":0,"max":0,"is_polled":false,"value":false}
        2018-02-05 17:01:49.049 - debug: zwave.0 value changed: 4 comClass: 50 value: {"value_id":"4-50-1-8","node_id":4,"class_id":50,"type":"decimal","genre":"user","instance":1,"index":8,"label":"Power","units":"W","help":"","read_only":true,"write_only":false,"min":0,"max":0,"is_polled":false,"value":"0.0"}
        2018-02-05 17:01:49.053 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.METER.Exporting_1 val=false, ack=true, ts=1517846509049, q=0, from=system.adapter.zwave.0, lc=1517742614071
        2018-02-05 17:01:49.054 - silly: zwave.0 inMem message zwave.0.* zwave.0.NODE4.METER.Power_1 val=0, ack=true, ts=1517846509051, q=0, from=system.adapter.zwave.0, lc=1517846509013
        

        Ich werde gerade nicht ganz schlau draus…

        1 Reply Last reply Reply Quote 0
        • AlCalzone
          AlCalzone Developer last edited by

          Laut Log sieht das so aus, dass ioBroker korrekt nur einen der Switches schalten will. Anschließend kommt von ZWave die Info, dass sich der Zustand von 2 Switches geändert hat.

          Poste mal nen Screenshot des CONFIGURATION Baums, nicht dass da eine Geräteeinstellung dazwischen haut.

          1 Reply Last reply Reply Quote 0
          • P
            Pman last edited by

            Das liegt nicht am Adapter, es gibt bei OZW schon einen offenen issue dafür. Am besten dort nochmal reinhängen.

            https://github.com/OpenZWave/open-zwave/issues/1270

            1 Reply Last reply Reply Quote 0
            • N
              nibblerrick last edited by

              Danke, da hab ich ja noch gar nicht nachgesehen.

              Gibt es eine Moeglichkeit dieses "Info aktualisieren" zwischendurch irgendwie zu triggern, da dann ja wieder die korrekten States erscheinen haette ich dann einen Workaround bis das Problem an sich geloest wird. Ich sehe so nur nichts in den Objekten wo man einen passenden Befehl absetzen kann. Wenn man das direkt an OpenZWave geben kann geht ja auch ein kleines Cron-Script.

              1 Reply Last reply Reply Quote 0
              • AlCalzone
                AlCalzone Developer last edited by

                @nibblerrick:

                Ich sehe so nur nichts in den Objekten wo man einen passenden Befehl absetzen kann. `
                Dürfte per JavaScript gehen (die 2 ersetzen durch den Node, den du aktualisieren willst):

                sendTo("zwave.0", "refreshNodeInfo", {nodeID: 2}, function(ret) {
                    if (ret.error) {
                        // es gab ein Problem
                    } else if (ret.result === "ok") {
                        // alles gut
                    }
                });
                
                
                1 Reply Last reply Reply Quote 0
                • N
                  nibblerrick last edited by

                  Habe das jetzt erstmal fuer alle 5 Minuten gesetzt, funktioniert einwandfrei, also noch maximal 5 Minuten passen die gemeldeten States dann auch, sehr schoen.

                  schedule("*/5 * * * *", function () {
                    sendTo("zwave.0", "refreshNodeInfo", {nodeID: 4}, function(ret) {
                      if (ret.error) {
                          // es gab ein Problem
                      } else if (ret.result === "ok") {
                          // alles gut
                      }
                  });
                  });
                  

                  Besten Dank!

                  1 Reply Last reply Reply Quote 0
                  • AlCalzone
                    AlCalzone Developer last edited by

                    Alternativ könntest du auch einen refresh veranlassen, wenn ich einer der States geändert hat (nicht aktualisiert, sonst gibts ne Endlosschleife!). Dann vermeidest du unnötigen Funkverkehr, wenn nichts passiert und bist schneller aktuell.

                    1 Reply Last reply Reply Quote 0
                    • N
                      nibblerrick last edited by

                      on({id: new RegExp('zwave\\.0\\.NODE4\\.SWITCH_BINARY\\.Switch_1' + "|" + 'zwave\\.0\\.NODE4\\.SWITCH_BINARY\\.Switch_2' + "|" + 'zwave\\.0\\.NODE4\\.SWITCH_BINARY\\.Switch_3'), change: "ne"}, function (obj) {
                         sendTo("zwave.0", "refreshNodeInfo", {nodeID: 4}, function(ret) {
                          if (ret.error) {
                              // es gab ein Problem
                          } else if (ret.result === "ok") {
                              // alles gut
                          }
                      });
                      });
                      

                      Ja, das scheint auch zu funtkionieren 🙂 (Ja, den RegExpkram da oben habe ich mit Blockly erzeugt und mir dann den Code genommen.)

                      1 Reply Last reply Reply Quote 0
                      • AlCalzone
                        AlCalzone Developer last edited by

                        @nibblerrick:

                        den RegExpkram da oben `
                        kannst du durch ein Array ersetzen, ist einfacher zu ergänzen:

                        [
                          'zwave.0.NODE4.SWITCH_BINARY.Switch_1',
                          'zwave.0.NODE4.SWITCH_BINARY.Switch_2',
                          'zwave.0.NODE4.SWITCH_BINARY.Switch_3'
                        ]
                        
                        1 Reply Last reply Reply Quote 0
                        • N
                          nibblerrick last edited by

                          on({id: [
                            'zwave.0.NODE4.SWITCH_BINARY.Switch_1',
                            'zwave.0.NODE4.SWITCH_BINARY.Switch_2',
                            'zwave.0.NODE4.SWITCH_BINARY.Switch_3'
                          ], change: "ne"}, function (obj) {
                             sendTo("zwave.0", "refreshNodeInfo", {nodeID: 4}, function(ret) {
                              if (ret.error) {
                                  // es gab ein Problem
                              } else if (ret.result === "ok") {
                                  // alles gut
                              }
                          });
                          });
                          

                          Also so. Funktioniert auch, Arrays wollte ich mir sowieso noch mal ansehen, praktischer Einstieg dafuer.

                          Wenn du noch weitere Verbesserungen hast fange ich an Versionsnummern ins Script zu schreiben 😄

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          949
                          Online

                          32.1k
                          Users

                          80.7k
                          Topics

                          1.3m
                          Posts

                          4
                          13
                          1191
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo