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

      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

                        889
                        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