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

      Moin,

      folgende Ausgangssituation: Ich habe einen "Philio Technology Corporation PAN04-1 Double Relay Switch 2x1.5kW with Power Measurement" der bei SWITCH_BINARY 3 switches hat, 1 fuer den ersten Ausgang, 2 fuer den zweiten Ausgang und 3 um Beide zugleich zu schalten.

      Setze ich nun z.B. Switch_2 auf true schaltet auch der zweite Ausgang ein - wie es soll - aber Switch_1 geht danach auch auf true (schaltet Hardwaremaessig aber nicht).

      Gehe ich nun die die Adaptereinstellungen und mache bei dem Geraet "Info aktualisieren" geht der Status von Switch_1 auch wieder auf false. Mache ich das nicht bleibt der auf true (auch nach mehreren Stunden).

      Mit einem Script kann ich Switch_1 aber durchaus true senden und der erste Ausgang schaltet dann auch.

      Also von der Hardware her werden die Befehle richtig entgegengenommen und wenn ich manuell "Info aktualisieren" mache sind die Status auch wieder korrekt. Aber sobald ich da schalte gehen die durcheinander.

      Jemand schon so etwas gesehen oder eine Idee wo ich nach dem Fehler suchen kann?

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Was steht denn so im Log? Da werden an sich alle "gemeldeten" Dinge als info geloggt.

        1 Reply Last reply Reply Quote 0
        • 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

                michapr created this issue in OpenZWave/open-zwave

                open PHILIO PAN04-1B wrong states reported #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

                              909
                              Online

                              32.1k
                              Users

                              80.7k
                              Topics

                              1.3m
                              Posts

                              4
                              13
                              1190
                              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