Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter Z-Wave 2 (v1.8.x)

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    12
    2
    256

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

Test Adapter Z-Wave 2 (v1.8.x)

Test Adapter Z-Wave 2 (v1.8.x)

Scheduled Pinned Locked Moved Tester
testz-wavezwave
325 Posts 32 Posters 67.0k Views 26 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.
  • G Offline
    G Offline
    Gabe
    wrote on last edited by
    #103

    Hi AlCalzone,

    mir ist gerade aufgefallen, dass er bei Batteriegeräte beim level keine Unit mitgibt.

    Ist das so gewollt? Müsste da nicht % hinter?

    keineUnit.jpg

    Gruß

    1 Reply Last reply
    1
    • TroyaT Troya

      Nabend,
      ich habe nun auch mein Z-Wave Adapter auf den 2er aktualisiert.
      Habe den alten Adapter dafür pausiert und den neuen aktiviert und den USB-Stick als Gerät übergeben. Mein System ist eine Synology NAS mit ioBroker im Docker - das nur am Rand.

      Probleme habe ich aktuell bei allen Fenstersensoren "Philio Technology Corp PST02C".
      Beim Öffnen des Fensters werden nur die 2 Werte in zwave2.0.Node_023.Multilevel_Sensor aktualisiert(grün)

      zwave2.0.Node_023.Notification.accessControl_doorState bleibt leer

      Und die im alten Adapter enthaltenen zwave.0.NODE27.ALARM.Access_Control_1 sowie zwave.0.NODE27.SENSOR_BINARY.Sensor_1 tauchen gar nicht erst auf.

      Aber ich muss dazu sagen, dass die Philio Fenstersensoren schon immer gezickt haben.

      ^^^^^^^^^^^^^^

      Beim Türschloss ASUS CFA3010 fehlt mir der zwave.0.NODE73.DOOR_LOCK.Locked_1 aus dem alten Adapter welchen ich zum öffnen/schließen genutz habe.

      Der vermutlich geplante Wert zum Öffnen mit dem Zwave2 Adapter zwave2.0.Node_073.Basic.targetValue mit Werten 0-99 reagiert nicht.

      Möglich aber auch dass ich hier den korrekten Schaltvalue grad nicht mehr sehe, hab schon eckige Augen... 😉

      ^^^^^^^^^^^^^^

      Ein Fibaro FGS223 will unter dem neuen Adapter auch nicht mehr.
      Wo unter Zwave1 die zwave.0.NODE3.SWITCH_BINARY.Instance_1:_Switch_1 und zwave.0.NODE3.SWITCH_BINARY.Instance_2:_Switch_2 korrekt angezeigt und geschaltet werden
      so steht im ZWave 2 nur zwave2.0.Node_003.Binary_Switch.targetValue ohne die 1/2.

      °°°°°°°°°°°°°°°°°°°°

      Aber sonst scheinen die restlichen 50 Nodes korrekt zu schalten. Hut ab, @AlCalzone , du machst hier echt einen tollen Job, vielen Dank!

      AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      wrote on last edited by AlCalzone
      #104

      @Troya Kannst du mir bitte für die betroffenen Geräte ein Log machen und die hier beschriebenen Infos posten:
      https://github.com/AlCalzone/ioBroker.zwave2/blob/master/docs/de/bei-problemen.md#notwendige-informationen-für-ein-issue

      Dazu Adapter starten, abwarten bis Ruhe eingekehrt ist (alle Geräte fertig). Dann die 3 Nodes einzeln neu interviewen über die Geräte-Liste in der Adapter-Konfiguration.

      @Gabe hast Recht!

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      G TroyaT 2 Replies Last reply
      0
      • AlCalzoneA AlCalzone

        @Troya Kannst du mir bitte für die betroffenen Geräte ein Log machen und die hier beschriebenen Infos posten:
        https://github.com/AlCalzone/ioBroker.zwave2/blob/master/docs/de/bei-problemen.md#notwendige-informationen-für-ein-issue

        Dazu Adapter starten, abwarten bis Ruhe eingekehrt ist (alle Geräte fertig). Dann die 3 Nodes einzeln neu interviewen über die Geräte-Liste in der Adapter-Konfiguration.

        @Gabe hast Recht!

        G Offline
        G Offline
        Gabe
        wrote on last edited by
        #105

        @AlCalzone danke änderst du das?

        AlCalzoneA 1 Reply Last reply
        0
        • AlCalzoneA AlCalzone

          @Troya Kannst du mir bitte für die betroffenen Geräte ein Log machen und die hier beschriebenen Infos posten:
          https://github.com/AlCalzone/ioBroker.zwave2/blob/master/docs/de/bei-problemen.md#notwendige-informationen-für-ein-issue

          Dazu Adapter starten, abwarten bis Ruhe eingekehrt ist (alle Geräte fertig). Dann die 3 Nodes einzeln neu interviewen über die Geräte-Liste in der Adapter-Konfiguration.

          @Gabe hast Recht!

          TroyaT Offline
          TroyaT Offline
          Troya
          wrote on last edited by Troya
          #106

          @AlCalzone
          Ok, war nicht einfach die Dateien aus Docker zu bekommen...

          10:10:48.443 Beginnt das Inverview on Node 023 - ist der Fenstersensor Philio. Während des Interviews habe ich den Button gedrückt, damit der Sensor wach wird.

          10:14:37.797 Beginnt das Interview von Node 080, ist das Schloss.
          10:17:59.900 Beginnt das Interview von Node 003, Ist der Fibaro FGS223.

          Hier die Logfiles
          zwave-1108.log
          f0f1c31b.values.jsonl
          f0f1c31b.json

          Noch eine Frage bzw. Problem.
          Ich arbeite nicht direkt über die Nodes sondern habe für jeden Wert den ich schalten möchte ein Alias erstellt. (Damit ich nicht alle Scripte ändern muss, wenn mal wieder ein Node ausfällt)
          Nun gibt es bei Schaltern unter Zwave2 die Neuerung, dass es einen zwave2.0.Node_033.Binary_Switch.targetValue_001
          zum schalten gibt und einen für die Rückmeldung: zwave2.0.Node_033.Binary_Switch.currentValue_001
          (So verstehe ich das zumindest:man-shrugging: )
          Damit bekomme ich aber Probleme mit den Alias. Grade beim Restart des Adapters wo der targetValue auf "null" steht.

          AlCalzoneA 1 Reply Last reply
          0
          • TroyaT Troya

            @AlCalzone
            Ok, war nicht einfach die Dateien aus Docker zu bekommen...

            10:10:48.443 Beginnt das Inverview on Node 023 - ist der Fenstersensor Philio. Während des Interviews habe ich den Button gedrückt, damit der Sensor wach wird.

            10:14:37.797 Beginnt das Interview von Node 080, ist das Schloss.
            10:17:59.900 Beginnt das Interview von Node 003, Ist der Fibaro FGS223.

            Hier die Logfiles
            zwave-1108.log
            f0f1c31b.values.jsonl
            f0f1c31b.json

            Noch eine Frage bzw. Problem.
            Ich arbeite nicht direkt über die Nodes sondern habe für jeden Wert den ich schalten möchte ein Alias erstellt. (Damit ich nicht alle Scripte ändern muss, wenn mal wieder ein Node ausfällt)
            Nun gibt es bei Schaltern unter Zwave2 die Neuerung, dass es einen zwave2.0.Node_033.Binary_Switch.targetValue_001
            zum schalten gibt und einen für die Rückmeldung: zwave2.0.Node_033.Binary_Switch.currentValue_001
            (So verstehe ich das zumindest:man-shrugging: )
            Damit bekomme ich aber Probleme mit den Alias. Grade beim Restart des Adapters wo der targetValue auf "null" steht.

            AlCalzoneA Offline
            AlCalzoneA Offline
            AlCalzone
            Developer
            wrote on last edited by
            #107

            @Troya sagte in Test Adapter Z-Wave 2 (v1.8.x):

            Damit bekomme ich aber Probleme mit den Alias. Grade beim Restart des Adapters wo der targetValue auf "null" steht.

            Hast du das mit Version 1.8.1 auch noch?

            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

            TroyaT 1 Reply Last reply
            0
            • G Gabe

              @AlCalzone danke änderst du das?

              AlCalzoneA Offline
              AlCalzoneA Offline
              AlCalzone
              Developer
              wrote on last edited by
              #108

              @Gabe Jap, Issue ist bereits erstellt.

              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

              1 Reply Last reply
              0
              • AlCalzoneA AlCalzone

                @Troya sagte in Test Adapter Z-Wave 2 (v1.8.x):

                Damit bekomme ich aber Probleme mit den Alias. Grade beim Restart des Adapters wo der targetValue auf "null" steht.

                Hast du das mit Version 1.8.1 auch noch?

                TroyaT Offline
                TroyaT Offline
                Troya
                wrote on last edited by
                #109

                @AlCalzone

                So wie es nach ersten Tests aussieht wohl ja.😖

                Schalte ich ein Licht ein. z.B.:
                alias.0.EG_Wohnzimmer.Aktor.PendellampeWohnzimmer = true
                wird der entsprechend dazugehörige
                zwave2.0.Node_062.Binary_Switch.targetValue_001 = true
                gesetzt und logischerweise auch final der
                zwave2.0.Node_062.Binary_Switch.currentValue_001 0 true
                -> Die Lampe geht an.

                Starte ich nun den Adapter neu, bleibt currentValue erhalten. Jedoch targetValue wird leer (null).
                Dadurch auch der Alias.
                Besonders im Vis, wo ich den Alias ebenfalls hinter Schalter sitzen habe verwirrt das, denn physikalisch ist das Licht an, wird jedoch bei Vis als aus dargestellt wird.

                Entsprechend ist das auch beim physikalischen schalten des Lichtschalters:
                currentValue reagiert korrekt
                jedoch targetValue bleibt unverändert, wie auch der Alias und zuletzt auch die Symbole im Vis.

                Warum hast du denn den value in die current- und -target value aufgeteilt? Der "alte" Zwave-Adapter hatte das ja in einem value und hat anhand der Farbe angezeigt ob korrekt geschaltet wurde.

                AlCalzoneA 1 Reply Last reply
                0
                • TroyaT Troya

                  @AlCalzone

                  So wie es nach ersten Tests aussieht wohl ja.😖

                  Schalte ich ein Licht ein. z.B.:
                  alias.0.EG_Wohnzimmer.Aktor.PendellampeWohnzimmer = true
                  wird der entsprechend dazugehörige
                  zwave2.0.Node_062.Binary_Switch.targetValue_001 = true
                  gesetzt und logischerweise auch final der
                  zwave2.0.Node_062.Binary_Switch.currentValue_001 0 true
                  -> Die Lampe geht an.

                  Starte ich nun den Adapter neu, bleibt currentValue erhalten. Jedoch targetValue wird leer (null).
                  Dadurch auch der Alias.
                  Besonders im Vis, wo ich den Alias ebenfalls hinter Schalter sitzen habe verwirrt das, denn physikalisch ist das Licht an, wird jedoch bei Vis als aus dargestellt wird.

                  Entsprechend ist das auch beim physikalischen schalten des Lichtschalters:
                  currentValue reagiert korrekt
                  jedoch targetValue bleibt unverändert, wie auch der Alias und zuletzt auch die Symbole im Vis.

                  Warum hast du denn den value in die current- und -target value aufgeteilt? Der "alte" Zwave-Adapter hatte das ja in einem value und hat anhand der Farbe angezeigt ob korrekt geschaltet wurde.

                  AlCalzoneA Offline
                  AlCalzoneA Offline
                  AlCalzone
                  Developer
                  wrote on last edited by AlCalzone
                  #110

                  @Troya Kannste mir bitte mal ein Log machen, in dem man beides sieht? Eigentlich sollte targetValue nicht mehr gelöscht werden.

                  Danach probier bitte mal die Option "Kompatibilität mit Schaltern verbessern".

                  Der Grund ist einfach erklärt:
                  Die Z-Wave Spezifikation kennt eine Unterscheidung zwischen Zielwert und aktuellem Wert, um z.B. bei langen Vorgängen (Rollo) rückmelden zu können, dass ein Vorgang aktiv ist und sowohl das Ziel als auch den aktuellen Wert anzuzeigen.
                  Die Library, die der alte Adapter genutzt hat, ist entstanden, als es diese Funktion noch nicht gab.

                  Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                  TroyaT 1 Reply Last reply
                  0
                  • AlCalzoneA AlCalzone

                    @Troya Kannste mir bitte mal ein Log machen, in dem man beides sieht? Eigentlich sollte targetValue nicht mehr gelöscht werden.

                    Danach probier bitte mal die Option "Kompatibilität mit Schaltern verbessern".

                    Der Grund ist einfach erklärt:
                    Die Z-Wave Spezifikation kennt eine Unterscheidung zwischen Zielwert und aktuellem Wert, um z.B. bei langen Vorgängen (Rollo) rückmelden zu können, dass ein Vorgang aktiv ist und sowohl das Ziel als auch den aktuellen Wert anzuzeigen.
                    Die Library, die der alte Adapter genutzt hat, ist entstanden, als es diese Funktion noch nicht gab.

                    TroyaT Offline
                    TroyaT Offline
                    Troya
                    wrote on last edited by Troya
                    #111

                    @AlCalzone sagte in Test Adapter Z-Wave 2 (v1.8.x):

                    @Troya Kannste mir bitte mal ein Log machen, in dem man beides sieht? Eigentlich sollte targetValue nicht mehr gelöscht werden.

                    Weiß nicht genau was du meinst mit "beides sieht". Ich habe jetzt nochmal folgendes gemacht:

                    1. im "Objekte"-Reiter unter "ID" das Wort tvalue eingetragen, dadurch werden currentvalue sowie targetvalue angezeigt. Habe als Beispiel den Node 033 extra einmal geschaltet, dass beide Values eingetragen sind.
                    2. Anschließend in der Instanz das erweitertes Logging aktiviert. Dadurch wird ja der Controller neu gestartet.
                    3. wieder in Objekte geschaut und nach ein paar Sekunden des Neustarts blinkt currentvalue einmal grün auf und targetvalue wird entfernt.
                    4. somit schnell zur Instanz und Zwave2 gestoppt und den Log extrahiert und hier hochgeladen, glaube aber der unterscheidet sich kaum vom ersten Log.
                      f0f1c31b.values.jsonl
                      zwave-1125.log
                      f0f1c31b.json

                    Ich habe in den Logs zwave-1252.log, sowie die beiden .jsonl Files im Notepad versucht mehr zu dem targetvalue und currentvalue herauszufinden. Aber da bin ich zu wenig Programmierer.
                    Man kann sich da aber recht schnell durchsuchen wenn man unseren Beispiel-Node 33 sucht.

                    Oder habe auch mal nach targetValue gesucht und das hier steht häufig in der Datei values.jsonl:

                    {"k":"{\"nodeId\":76,\"commandClass\":37,\"endpoint\":0,\"property\":\"targetValue\"}"}
                    {"k":"{\"nodeId\":68,\"commandClass\":38,\"endpoint\":0,\"property\":\"targetValue\"}"}
                    {"k":"{\"nodeId\":62,\"commandClass\":37,\"endpoint\":1,\"property\":\"targetValue\"}"}
                    

                    Sieht für mich als Laie irgendwie leer aus, denn da steht bei anderen meist zum Beispiel sowas:

                    
                    {"k":"{\"nodeId\":18,\"commandClass\":49,\"endpoint\":0,\"property\":\"Formaldehyde (CH₂O) level\"}","v":67}
                    

                    ^^^^^
                    Dann habe ich im Zwave-Log noch sowas häufig gefunden:
                    (leider nicht für unser Beispiel-Node 033🙄)

                    17:42:22.544 CNTRLR   [Node 017] [~] [Binary Switch] currentValue: false => true        [Endpoint 0]
                    17:42:22.544 CNTRLR   [Node 017] [+] [Binary Switch] targetValue: undefined             [Endpoint 0]
                    

                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

                    Danach probier bitte mal die Option "Kompatibilität mit Schaltern verbessern".

                    Mache ich jetzt mal, berichte dann...

                    Der Grund ist einfach erklärt:
                    Die Z-Wave Spezifikation kennt eine Unterscheidung zwischen Zielwert und aktuellem Wert, um z.B. bei langen Vorgängen (Rollo) rückmelden zu können, dass ein Vorgang aktiv ist und sowohl das Ziel als auch den aktuellen Wert anzuzeigen.
                    Die Library, die der alte Adapter genutzt hat, ist entstanden, als es diese Funktion noch nicht gab.

                    Ok, glaub hab's verstanden.
                    Früher(ZWave1):

                    1. Rollo steht auf 50.
                    2. Ich tippe 90 rein.
                    3. Der Wert springt umgehend auf 50 und zählt mit jeder Rückmeldung vom Node hoch bis 90.

                    Heute(Zwave2.0):

                    1. Currentvalue steht auf 50. (und theoretisch ja auch vom letzten schalten auch targetvalue)
                    2. ich tippe targetvalue auf 90.
                    3. currentvalue zählt mit jeder Rückmeldung vom Node hoch bis 90.

                    ^^
                    ^^
                    Für mich aber noch nicht ganz schlüssig ist, wie das mit Vis funktionieren soll:
                    Beispiel Lichtschalter und Glühbrine.
                    Bisher habe ich da wo die Lampe sitzt ein Glühbirnensymbol. Dort tippe ich drauf, Der Befehl wird gesendet, die Rückmeldung kommt und die Birne leuchtet - in Real wie auch das Symbol in Vis. Manchmal geht das Symbol in Vis blitzschnell AN-AUS-AN, weil der Node zuerst den Stand "Aus" meldet bevor geschaltet wird und "An" gemeldet wird, aber das stört kaum.

                    Unter Zwave2 gibt's jetzt folgendes:

                    • A) Setze ich dort den CurrentValue ein, dann lässt sich der nicht als Schalter nutzen - ist ja nur die Rückmeldung vom Switch.

                    • B) Setze ich dort den targetValue ein, dann lässt sich der Schalter zwar schalten, aber ob das Licht real an ist wird an diesem Punkt nicht korrekt angezeigt, da ja CurrentValue die Rückmeldung gibt.

                    Meinem Verständnis nach bräuchte ich unter Zwave2.0 also sowie ein Symbol für den Lichtschalter(targetValue) als auch ein Symbol der Glühbirne(currentvalue)

                    Sehe da den Vorteil nicht.🤔
                    Aus EDV-Sicht verstehe ich aber, dass ein Objekt nicht gleichzeitig Eingabe wie auch Ausgabe sein sollte, falls das der Grund ist.

                    AlCalzoneA C 2 Replies Last reply
                    0
                    • TroyaT Troya

                      @AlCalzone sagte in Test Adapter Z-Wave 2 (v1.8.x):

                      @Troya Kannste mir bitte mal ein Log machen, in dem man beides sieht? Eigentlich sollte targetValue nicht mehr gelöscht werden.

                      Weiß nicht genau was du meinst mit "beides sieht". Ich habe jetzt nochmal folgendes gemacht:

                      1. im "Objekte"-Reiter unter "ID" das Wort tvalue eingetragen, dadurch werden currentvalue sowie targetvalue angezeigt. Habe als Beispiel den Node 033 extra einmal geschaltet, dass beide Values eingetragen sind.
                      2. Anschließend in der Instanz das erweitertes Logging aktiviert. Dadurch wird ja der Controller neu gestartet.
                      3. wieder in Objekte geschaut und nach ein paar Sekunden des Neustarts blinkt currentvalue einmal grün auf und targetvalue wird entfernt.
                      4. somit schnell zur Instanz und Zwave2 gestoppt und den Log extrahiert und hier hochgeladen, glaube aber der unterscheidet sich kaum vom ersten Log.
                        f0f1c31b.values.jsonl
                        zwave-1125.log
                        f0f1c31b.json

                      Ich habe in den Logs zwave-1252.log, sowie die beiden .jsonl Files im Notepad versucht mehr zu dem targetvalue und currentvalue herauszufinden. Aber da bin ich zu wenig Programmierer.
                      Man kann sich da aber recht schnell durchsuchen wenn man unseren Beispiel-Node 33 sucht.

                      Oder habe auch mal nach targetValue gesucht und das hier steht häufig in der Datei values.jsonl:

                      {"k":"{\"nodeId\":76,\"commandClass\":37,\"endpoint\":0,\"property\":\"targetValue\"}"}
                      {"k":"{\"nodeId\":68,\"commandClass\":38,\"endpoint\":0,\"property\":\"targetValue\"}"}
                      {"k":"{\"nodeId\":62,\"commandClass\":37,\"endpoint\":1,\"property\":\"targetValue\"}"}
                      

                      Sieht für mich als Laie irgendwie leer aus, denn da steht bei anderen meist zum Beispiel sowas:

                      
                      {"k":"{\"nodeId\":18,\"commandClass\":49,\"endpoint\":0,\"property\":\"Formaldehyde (CH₂O) level\"}","v":67}
                      

                      ^^^^^
                      Dann habe ich im Zwave-Log noch sowas häufig gefunden:
                      (leider nicht für unser Beispiel-Node 033🙄)

                      17:42:22.544 CNTRLR   [Node 017] [~] [Binary Switch] currentValue: false => true        [Endpoint 0]
                      17:42:22.544 CNTRLR   [Node 017] [+] [Binary Switch] targetValue: undefined             [Endpoint 0]
                      

                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

                      Danach probier bitte mal die Option "Kompatibilität mit Schaltern verbessern".

                      Mache ich jetzt mal, berichte dann...

                      Der Grund ist einfach erklärt:
                      Die Z-Wave Spezifikation kennt eine Unterscheidung zwischen Zielwert und aktuellem Wert, um z.B. bei langen Vorgängen (Rollo) rückmelden zu können, dass ein Vorgang aktiv ist und sowohl das Ziel als auch den aktuellen Wert anzuzeigen.
                      Die Library, die der alte Adapter genutzt hat, ist entstanden, als es diese Funktion noch nicht gab.

                      Ok, glaub hab's verstanden.
                      Früher(ZWave1):

                      1. Rollo steht auf 50.
                      2. Ich tippe 90 rein.
                      3. Der Wert springt umgehend auf 50 und zählt mit jeder Rückmeldung vom Node hoch bis 90.

                      Heute(Zwave2.0):

                      1. Currentvalue steht auf 50. (und theoretisch ja auch vom letzten schalten auch targetvalue)
                      2. ich tippe targetvalue auf 90.
                      3. currentvalue zählt mit jeder Rückmeldung vom Node hoch bis 90.

                      ^^
                      ^^
                      Für mich aber noch nicht ganz schlüssig ist, wie das mit Vis funktionieren soll:
                      Beispiel Lichtschalter und Glühbrine.
                      Bisher habe ich da wo die Lampe sitzt ein Glühbirnensymbol. Dort tippe ich drauf, Der Befehl wird gesendet, die Rückmeldung kommt und die Birne leuchtet - in Real wie auch das Symbol in Vis. Manchmal geht das Symbol in Vis blitzschnell AN-AUS-AN, weil der Node zuerst den Stand "Aus" meldet bevor geschaltet wird und "An" gemeldet wird, aber das stört kaum.

                      Unter Zwave2 gibt's jetzt folgendes:

                      • A) Setze ich dort den CurrentValue ein, dann lässt sich der nicht als Schalter nutzen - ist ja nur die Rückmeldung vom Switch.

                      • B) Setze ich dort den targetValue ein, dann lässt sich der Schalter zwar schalten, aber ob das Licht real an ist wird an diesem Punkt nicht korrekt angezeigt, da ja CurrentValue die Rückmeldung gibt.

                      Meinem Verständnis nach bräuchte ich unter Zwave2.0 also sowie ein Symbol für den Lichtschalter(targetValue) als auch ein Symbol der Glühbirne(currentvalue)

                      Sehe da den Vorteil nicht.🤔
                      Aus EDV-Sicht verstehe ich aber, dass ein Objekt nicht gleichzeitig Eingabe wie auch Ausgabe sein sollte, falls das der Grund ist.

                      AlCalzoneA Offline
                      AlCalzoneA Offline
                      AlCalzone
                      Developer
                      wrote on last edited by
                      #112

                      @Troya sagte in Test Adapter Z-Wave 2 (v1.8.x):

                      Unter Zwave2 gibt's jetzt folgendes:

                      A) Setze ich dort den CurrentValue ein, dann lässt sich der nicht als Schalter nutzen - ist ja nur die Rückmeldung vom Switch.

                      B) Setze ich dort den targetValue ein, dann lässt sich der Schalter zwar schalten, aber ob das Licht real an ist wird an diesem Punkt nicht korrekt angezeigt, da ja CurrentValue die Rückmeldung gibt.

                      Meinem Verständnis nach bräuchte ich unter Zwave2.0 also sowie ein Symbol für den Lichtschalter(targetValue) als auch ein Symbol der Glühbirne(currentvalue)
                      Sehe da den Vorteil nicht.

                      Bei Glühbirnen ist der Vorteil auch nicht wirklich da. Denk da eher mal an ein Rollo, was 20-30 Sekunden braucht. Da kannst du sehen, wo es hinfährt und wo es gerade ist. Eine Visualisierung könnte das auch entsprechend darstellen.

                      Dein Ansatz mit Alias ist schon vernünftig, ich muss noch verhindern, dass targetValue gelöscht wird.

                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                      1 Reply Last reply
                      0
                      • AlCalzoneA AlCalzone

                        @Besserso mmn. sollten die lieber bereit gestellt werden, damit alle davon profitieren können.

                        B Offline
                        B Offline
                        Besserso
                        wrote on last edited by
                        #113

                        @AlCalzone
                        Bin da ganz deiner Meinung, natürlich sollten diese allen zur Verfügung stehen. Es gibt aber auch selbst programmierbare Arduino zwave devices welche bei jedem anders ausschauen. (Z-uno)
                        Gruß Frank

                        AlCalzoneA 1 Reply Last reply
                        0
                        • B Besserso

                          @AlCalzone
                          Bin da ganz deiner Meinung, natürlich sollten diese allen zur Verfügung stehen. Es gibt aber auch selbst programmierbare Arduino zwave devices welche bei jedem anders ausschauen. (Z-uno)
                          Gruß Frank

                          AlCalzoneA Offline
                          AlCalzoneA Offline
                          AlCalzone
                          Developer
                          wrote on last edited by
                          #114

                          @Besserso Oh das war mir nicht bewusst. Da würde dein Vorschlag Sinn machen. Magst du bei Github mal ein Issue aufmachen?

                          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                          1 Reply Last reply
                          0
                          • AlCalzoneA Offline
                            AlCalzoneA Offline
                            AlCalzone
                            Developer
                            wrote on last edited by
                            #115

                            @Troya ich kann es bei mir lokal nachvollziehen - danke für deine Hilfe

                            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                            1 Reply Last reply
                            1
                            • TroyaT Troya

                              @AlCalzone sagte in Test Adapter Z-Wave 2 (v1.8.x):

                              @Troya Kannste mir bitte mal ein Log machen, in dem man beides sieht? Eigentlich sollte targetValue nicht mehr gelöscht werden.

                              Weiß nicht genau was du meinst mit "beides sieht". Ich habe jetzt nochmal folgendes gemacht:

                              1. im "Objekte"-Reiter unter "ID" das Wort tvalue eingetragen, dadurch werden currentvalue sowie targetvalue angezeigt. Habe als Beispiel den Node 033 extra einmal geschaltet, dass beide Values eingetragen sind.
                              2. Anschließend in der Instanz das erweitertes Logging aktiviert. Dadurch wird ja der Controller neu gestartet.
                              3. wieder in Objekte geschaut und nach ein paar Sekunden des Neustarts blinkt currentvalue einmal grün auf und targetvalue wird entfernt.
                              4. somit schnell zur Instanz und Zwave2 gestoppt und den Log extrahiert und hier hochgeladen, glaube aber der unterscheidet sich kaum vom ersten Log.
                                f0f1c31b.values.jsonl
                                zwave-1125.log
                                f0f1c31b.json

                              Ich habe in den Logs zwave-1252.log, sowie die beiden .jsonl Files im Notepad versucht mehr zu dem targetvalue und currentvalue herauszufinden. Aber da bin ich zu wenig Programmierer.
                              Man kann sich da aber recht schnell durchsuchen wenn man unseren Beispiel-Node 33 sucht.

                              Oder habe auch mal nach targetValue gesucht und das hier steht häufig in der Datei values.jsonl:

                              {"k":"{\"nodeId\":76,\"commandClass\":37,\"endpoint\":0,\"property\":\"targetValue\"}"}
                              {"k":"{\"nodeId\":68,\"commandClass\":38,\"endpoint\":0,\"property\":\"targetValue\"}"}
                              {"k":"{\"nodeId\":62,\"commandClass\":37,\"endpoint\":1,\"property\":\"targetValue\"}"}
                              

                              Sieht für mich als Laie irgendwie leer aus, denn da steht bei anderen meist zum Beispiel sowas:

                              
                              {"k":"{\"nodeId\":18,\"commandClass\":49,\"endpoint\":0,\"property\":\"Formaldehyde (CH₂O) level\"}","v":67}
                              

                              ^^^^^
                              Dann habe ich im Zwave-Log noch sowas häufig gefunden:
                              (leider nicht für unser Beispiel-Node 033🙄)

                              17:42:22.544 CNTRLR   [Node 017] [~] [Binary Switch] currentValue: false => true        [Endpoint 0]
                              17:42:22.544 CNTRLR   [Node 017] [+] [Binary Switch] targetValue: undefined             [Endpoint 0]
                              

                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

                              Danach probier bitte mal die Option "Kompatibilität mit Schaltern verbessern".

                              Mache ich jetzt mal, berichte dann...

                              Der Grund ist einfach erklärt:
                              Die Z-Wave Spezifikation kennt eine Unterscheidung zwischen Zielwert und aktuellem Wert, um z.B. bei langen Vorgängen (Rollo) rückmelden zu können, dass ein Vorgang aktiv ist und sowohl das Ziel als auch den aktuellen Wert anzuzeigen.
                              Die Library, die der alte Adapter genutzt hat, ist entstanden, als es diese Funktion noch nicht gab.

                              Ok, glaub hab's verstanden.
                              Früher(ZWave1):

                              1. Rollo steht auf 50.
                              2. Ich tippe 90 rein.
                              3. Der Wert springt umgehend auf 50 und zählt mit jeder Rückmeldung vom Node hoch bis 90.

                              Heute(Zwave2.0):

                              1. Currentvalue steht auf 50. (und theoretisch ja auch vom letzten schalten auch targetvalue)
                              2. ich tippe targetvalue auf 90.
                              3. currentvalue zählt mit jeder Rückmeldung vom Node hoch bis 90.

                              ^^
                              ^^
                              Für mich aber noch nicht ganz schlüssig ist, wie das mit Vis funktionieren soll:
                              Beispiel Lichtschalter und Glühbrine.
                              Bisher habe ich da wo die Lampe sitzt ein Glühbirnensymbol. Dort tippe ich drauf, Der Befehl wird gesendet, die Rückmeldung kommt und die Birne leuchtet - in Real wie auch das Symbol in Vis. Manchmal geht das Symbol in Vis blitzschnell AN-AUS-AN, weil der Node zuerst den Stand "Aus" meldet bevor geschaltet wird und "An" gemeldet wird, aber das stört kaum.

                              Unter Zwave2 gibt's jetzt folgendes:

                              • A) Setze ich dort den CurrentValue ein, dann lässt sich der nicht als Schalter nutzen - ist ja nur die Rückmeldung vom Switch.

                              • B) Setze ich dort den targetValue ein, dann lässt sich der Schalter zwar schalten, aber ob das Licht real an ist wird an diesem Punkt nicht korrekt angezeigt, da ja CurrentValue die Rückmeldung gibt.

                              Meinem Verständnis nach bräuchte ich unter Zwave2.0 also sowie ein Symbol für den Lichtschalter(targetValue) als auch ein Symbol der Glühbirne(currentvalue)

                              Sehe da den Vorteil nicht.🤔
                              Aus EDV-Sicht verstehe ich aber, dass ein Objekt nicht gleichzeitig Eingabe wie auch Ausgabe sein sollte, falls das der Grund ist.

                              C Offline
                              C Offline
                              Chris_78
                              wrote on last edited by
                              #116

                              @Troya

                              Wie AlCalzone bereits schrieb sind Alias-Werte der richtige Weg.
                              Du kannst hier unterschiedliche Read/Write Werte setzen, somit brauchst du keine speziellen Widgets/Schalter in der Vis und
                              der aktuelle Status (z.B. einer Lampe) wird auch korrekt angezeigt.

                              Hier mal ein Beispiel für ein Alias mit zusätzlichem Mapping von 0->false und 99-> true (kannst du aber auch weg lassen):

                              {
                                "from": "system.adapter.javascript.0",
                                "user": "system.user.admin",
                                "ts": 1596178459267,
                                "common": {
                                  "name": "Buero Licht",
                                  "role": "value",
                                  "type": "boolean",
                                  "desc": "per Script erstellt",
                                  "read": true,
                                  "write": true,
                                  "alias": {
                                    "id": {
                                      "read": "zwave2.0.Node_004.Multilevel_Switch.currentValue",
                                      "write": "zwave2.0.Node_004.Multilevel_Switch.targetValue"
                                    },
                                    "read": "val == '0' ? false : true",
                                    "write": "val == true ? 99 : 0"
                                  },
                                  "states": {
                                    "false": "0",
                                    "true": "99"
                                  },
                                  "smartName": false
                                },
                                "native": {},
                                "acl": {
                                  "object": 1636,
                                  "owner": "system.user.admin",
                                  "ownerGroup": "system.group.administrator",
                                  "state": 1636
                                },
                                "_id": "alias.0.Buero.Buero_Licht",
                                "type": "state"
                              }
                              
                              TroyaT 1 Reply Last reply
                              0
                              • TroyaT Offline
                                TroyaT Offline
                                Troya
                                wrote on last edited by Troya
                                #117

                                @AlCalzone sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                Bei Glühbirnen ist der Vorteil auch nicht wirklich da. Denk da eher mal an ein Rollo, was 20-30 Sekunden braucht. Da kannst du sehen, wo es hinfährt und wo es gerade ist.

                                Ja, aber die 30 Sekunden lag weiß man doch eigentlich wo es hin soll. Und ob das Rollo grad bei 50% oder 80% steht ist doch eigentlich nur in seltensten Fällen wichtig (wenn das Rollo klemmt oder so).
                                O.k. eine Echtzeitanimation zu haben sieht natürlich klasse aus, da geb ich dir Recht 😎

                                Aber was mir da grad einfällt und evtl. für dich interessant ist:
                                Ich habe ganz am Anfang meiner Zwave Steuerung drei verschiedene Unterputzaktoren für meine Rolläden gekauft um zu gucken welcher am besten funktioniert. Einmal Fibaro FGR222, sowie FGR223 und einen Permundo PSC152ZW.
                                Und es ist so, dass Fibaro keine Zwischenmeldung nach dem Schalten des Rollos gibt, wohl jedoch der von Permundo. D.H. es muss diese Art der Zwischenmeldung schon früher gegeben haben.

                                Kennst du das? Sonst versuche ich davon mal ne Log zu machen.
                                In den Logs die ich oben bereits gepostet habe sind die Nodes wie folgt:
                                Fibaro FGR222 Node 012
                                Fibaro FGR223 Node 057
                                Permunde PSC152ZW Node 011

                                Dein Ansatz mit Alias ist schon vernünftig, ich muss noch verhindern, dass targetValue gelöscht wird.

                                Ja, da hab ich die 1.8.1 ausprobiert, wie auch die "Kompatiblität"-Einstellung.
                                Also 1.8.1 ohne Kompatiblität überlebt nicht ein targetvalue

                                Wenn ich dann ohne zu schalten die Kompatiblitätseinstellung aktiviere und die Instanz neu startet bleiben die targetvalues auch leer.

                                Nun schalte ich via Vis als Test alle Alias im Wohnzimmer. (2x FGS223, 1x FGWP102, 1xpermundo PSC132ZW) ,so dass targetvalue true ist.
                                Starte ich nun den Adapter neu, so wird am Anfang bei allen drei der targetvalue entfernt. Nachdem alle anderen Nodes einmal durchgelaufen sind taucht der targetvalue aber zumindest bei den beiden FGS223 wieder auf.
                                Der FGWP102 und PSC132ZW bleiben jedoch leer...keine Ahnung warum...ich gucke jetzt ne Episode Serie (45 min) und schau ob sich bis dahin was getan hat 😉

                                AlCalzoneA 1 Reply Last reply
                                0
                                • TroyaT Troya

                                  @AlCalzone sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                  Bei Glühbirnen ist der Vorteil auch nicht wirklich da. Denk da eher mal an ein Rollo, was 20-30 Sekunden braucht. Da kannst du sehen, wo es hinfährt und wo es gerade ist.

                                  Ja, aber die 30 Sekunden lag weiß man doch eigentlich wo es hin soll. Und ob das Rollo grad bei 50% oder 80% steht ist doch eigentlich nur in seltensten Fällen wichtig (wenn das Rollo klemmt oder so).
                                  O.k. eine Echtzeitanimation zu haben sieht natürlich klasse aus, da geb ich dir Recht 😎

                                  Aber was mir da grad einfällt und evtl. für dich interessant ist:
                                  Ich habe ganz am Anfang meiner Zwave Steuerung drei verschiedene Unterputzaktoren für meine Rolläden gekauft um zu gucken welcher am besten funktioniert. Einmal Fibaro FGR222, sowie FGR223 und einen Permundo PSC152ZW.
                                  Und es ist so, dass Fibaro keine Zwischenmeldung nach dem Schalten des Rollos gibt, wohl jedoch der von Permundo. D.H. es muss diese Art der Zwischenmeldung schon früher gegeben haben.

                                  Kennst du das? Sonst versuche ich davon mal ne Log zu machen.
                                  In den Logs die ich oben bereits gepostet habe sind die Nodes wie folgt:
                                  Fibaro FGR222 Node 012
                                  Fibaro FGR223 Node 057
                                  Permunde PSC152ZW Node 011

                                  Dein Ansatz mit Alias ist schon vernünftig, ich muss noch verhindern, dass targetValue gelöscht wird.

                                  Ja, da hab ich die 1.8.1 ausprobiert, wie auch die "Kompatiblität"-Einstellung.
                                  Also 1.8.1 ohne Kompatiblität überlebt nicht ein targetvalue

                                  Wenn ich dann ohne zu schalten die Kompatiblitätseinstellung aktiviere und die Instanz neu startet bleiben die targetvalues auch leer.

                                  Nun schalte ich via Vis als Test alle Alias im Wohnzimmer. (2x FGS223, 1x FGWP102, 1xpermundo PSC132ZW) ,so dass targetvalue true ist.
                                  Starte ich nun den Adapter neu, so wird am Anfang bei allen drei der targetvalue entfernt. Nachdem alle anderen Nodes einmal durchgelaufen sind taucht der targetvalue aber zumindest bei den beiden FGS223 wieder auf.
                                  Der FGWP102 und PSC132ZW bleiben jedoch leer...keine Ahnung warum...ich gucke jetzt ne Episode Serie (45 min) und schau ob sich bis dahin was getan hat 😉

                                  AlCalzoneA Offline
                                  AlCalzoneA Offline
                                  AlCalzone
                                  Developer
                                  wrote on last edited by
                                  #118

                                  @Troya sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                  Starte ich nun den Adapter neu, so wird am Anfang bei allen drei der targetvalue entfernt.

                                  Jup, konnte ich reproduzieren und wird in der nächsten Version nicht mehr passieren, nachdem man einmal einen Wert da reingeschrieben hat.

                                  Einmal Fibaro FGR222, sowie FGR223 und einen Permundo PSC152ZW.
                                  Und es ist so, dass Fibaro keine Zwischenmeldung nach dem Schalten des Rollos gibt, wohl jedoch der von Permundo. D.H. es muss diese Art der Zwischenmeldung schon früher gegeben haben.

                                  Ich habe FGR222, die geben spätestens wenn sie wieder stehen ein Update. Manchmal auch vorher.
                                  FGR223 tun das eigentlich auch, die wurden hier ausgiebig getestet.

                                  @Troya sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                  Und ob das Rollo grad bei 50% oder 80% steht ist doch eigentlich nur in seltensten Fällen wichtig (wenn das Rollo klemmt oder so).

                                  An sich richtig. Nun ist es aber so, dass in Z-Wave ein Multilevel Switch für alles stehen kann, was Zwischenstufen hat. Und so ein Dimmvorgang kann theoretisch bis zu 127 Minuten dauern. Außerdem könnte der Zielwert von woanders geschaltet werden.
                                  Das Thema wurde aber auch schon ausgiebig diskutiert. Es jetzt zu ändern, wäre ein riesiger breaking change, den ich nicht verantworten will.

                                  Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                  TroyaT 1 Reply Last reply
                                  0
                                  • AlCalzoneA AlCalzone

                                    @Troya sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                    Starte ich nun den Adapter neu, so wird am Anfang bei allen drei der targetvalue entfernt.

                                    Jup, konnte ich reproduzieren und wird in der nächsten Version nicht mehr passieren, nachdem man einmal einen Wert da reingeschrieben hat.

                                    Einmal Fibaro FGR222, sowie FGR223 und einen Permundo PSC152ZW.
                                    Und es ist so, dass Fibaro keine Zwischenmeldung nach dem Schalten des Rollos gibt, wohl jedoch der von Permundo. D.H. es muss diese Art der Zwischenmeldung schon früher gegeben haben.

                                    Ich habe FGR222, die geben spätestens wenn sie wieder stehen ein Update. Manchmal auch vorher.
                                    FGR223 tun das eigentlich auch, die wurden hier ausgiebig getestet.

                                    @Troya sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                    Und ob das Rollo grad bei 50% oder 80% steht ist doch eigentlich nur in seltensten Fällen wichtig (wenn das Rollo klemmt oder so).

                                    An sich richtig. Nun ist es aber so, dass in Z-Wave ein Multilevel Switch für alles stehen kann, was Zwischenstufen hat. Und so ein Dimmvorgang kann theoretisch bis zu 127 Minuten dauern. Außerdem könnte der Zielwert von woanders geschaltet werden.
                                    Das Thema wurde aber auch schon ausgiebig diskutiert. Es jetzt zu ändern, wäre ein riesiger breaking change, den ich nicht verantworten will.

                                    TroyaT Offline
                                    TroyaT Offline
                                    Troya
                                    wrote on last edited by
                                    #119

                                    @AlCalzone sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                    @Troya sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                    Starte ich nun den Adapter neu, so wird am Anfang bei allen drei der targetvalue entfernt.

                                    Jup, konnte ich reproduzieren und wird in der nächsten Version nicht mehr passieren, nachdem man einmal einen Wert da reingeschrieben hat.

                                    Ansich nicht wild, ein paar Sekunden später kommt der Wert ja wieder...hat sich nur kurz was zu trinken geholt 🏃

                                    Einmal Fibaro FGR222, sowie FGR223 und einen Permundo PSC152ZW.
                                    Und es ist so, dass Fibaro keine Zwischenmeldung nach dem Schalten des Rollos gibt, wohl jedoch der von Permundo. D.H. es muss diese Art der Zwischenmeldung schon früher gegeben haben.

                                    Ich habe FGR222, die geben spätestens wenn sie wieder stehen ein Update. Manchmal auch vorher.
                                    FGR223 tun das eigentlich auch, die wurden hier ausgiebig getestet.

                                    Ja, das ist richtig, die melden sich wenn Sie fertig sind, während der Permundo das alle 1-2 Sekunden macht. Ist evtl. auch ne Config-Sache...
                                    Wird wohl wie so häufig sein: der eine User findet das toll....ein anderer stört sich an dem "Zwave-Signal-Gespamme" 🙄

                                    @Troya sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                    Und ob das Rollo grad bei 50% oder 80% steht ist doch eigentlich nur in seltensten Fällen wichtig (wenn das Rollo klemmt oder so).

                                    An sich richtig. Nun ist es aber so, dass in Z-Wave ein Multilevel Switch für alles stehen kann, was Zwischenstufen hat. Und so ein Dimmvorgang kann theoretisch bis zu 127 Minuten dauern. Außerdem könnte der Zielwert von woanders geschaltet werden.
                                    Das Thema wurde aber auch schon ausgiebig diskutiert. Es jetzt zu ändern, wäre ein riesiger breaking change, den ich nicht verantworten will.

                                    Du, alles gut. Ich weiß wie wichtig es ist sowas von grundauf für alle Eventualitäten zu programmieren. Als Laie von außen sieht man nichtmal ansatzweise die Tiefe von so einem Projekt. Da zieh ich auf jeden Fall den Hut vor dir!

                                    1 Reply Last reply
                                    0
                                    • C Chris_78

                                      @Troya

                                      Wie AlCalzone bereits schrieb sind Alias-Werte der richtige Weg.
                                      Du kannst hier unterschiedliche Read/Write Werte setzen, somit brauchst du keine speziellen Widgets/Schalter in der Vis und
                                      der aktuelle Status (z.B. einer Lampe) wird auch korrekt angezeigt.

                                      Hier mal ein Beispiel für ein Alias mit zusätzlichem Mapping von 0->false und 99-> true (kannst du aber auch weg lassen):

                                      {
                                        "from": "system.adapter.javascript.0",
                                        "user": "system.user.admin",
                                        "ts": 1596178459267,
                                        "common": {
                                          "name": "Buero Licht",
                                          "role": "value",
                                          "type": "boolean",
                                          "desc": "per Script erstellt",
                                          "read": true,
                                          "write": true,
                                          "alias": {
                                            "id": {
                                              "read": "zwave2.0.Node_004.Multilevel_Switch.currentValue",
                                              "write": "zwave2.0.Node_004.Multilevel_Switch.targetValue"
                                            },
                                            "read": "val == '0' ? false : true",
                                            "write": "val == true ? 99 : 0"
                                          },
                                          "states": {
                                            "false": "0",
                                            "true": "99"
                                          },
                                          "smartName": false
                                        },
                                        "native": {},
                                        "acl": {
                                          "object": 1636,
                                          "owner": "system.user.admin",
                                          "ownerGroup": "system.group.administrator",
                                          "state": 1636
                                        },
                                        "_id": "alias.0.Buero.Buero_Licht",
                                        "type": "state"
                                      }
                                      
                                      TroyaT Offline
                                      TroyaT Offline
                                      Troya
                                      wrote on last edited by
                                      #120

                                      @Chris_78 sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                      @Troya

                                      Wie AlCalzone bereits schrieb sind Alias-Werte der richtige Weg.
                                      Du kannst hier unterschiedliche Read/Write Werte setzen, somit brauchst du keine speziellen Widgets/Schalter in der Vis und
                                      der aktuelle Status (z.B. einer Lampe) wird auch korrekt angezeigt.

                                      😮 😮
                                      Das ja geil, wusste ich nicht, danke!

                                      Hier mal ein Beispiel für ein Alias mit zusätzlichem Mapping von 0->false und 99-> true (kannst du aber auch weg lassen):

                                      Ja auch cool. Damit muss ich mich auch mal beschäftigen...
                                      Zum Beispiel hab ich das "Problem", dass ich den "Prozentwert"(Dimmer) eines Rolladen bei Google home nutze um ihn komplett rauf zu fahren, wie etwa:
                                      "Hey Google, dimme Rolladen auf 0 Prozent" - nicht sehr logisch...
                                      Aber manchmal möchte ich den Rolladen auch nur auf 20% stellen, daher nur der eine Alias für beides.
                                      Wie kann ich das mit nem zusätzlichen Mapping in einem Alias einrichten? Wohl kaum so oder?

                                          "states": {
                                            "hoch": "0",
                                            "runter": "99"},
                                      

                                      Glaub aber nicht, dass das so einfach geht, da ich den Trait bei Google als "Brightness" angelegt hab um die Prozentwerte durchgeben zu können.
                                      So sieht der Alias aus:

                                      {
                                        "type": "state",
                                        "common": {
                                          "name": "EG_Wohnzimmer Aktor RollladenEsszimmer NODE11",
                                          "type": "number",
                                          "role": "level.dimmer",
                                          "read": true,
                                          "write": true,
                                          "min": 0,
                                          "max": 99,
                                          "alias": {
                                            "id": "zwave2.0.Node_011.Multilevel_Switch.targetValue",
                                            "write": "(val-99) * -1",
                                            "read": "(val-99)  * -1"
                                          },
                                          "smartName": {
                                            "de": "Rollladen Esszimmer",
                                            "ghType": "action.devices.types.SHUTTER",
                                            "ghTraits": [
                                              "action.devices.traits.Brightness"
                                            ],
                                            "ghAttributes": "{}",
                                            "ghConv2GH": "",
                                            "ghConv2iob": ""
                                          },
                                          "custom": {
                                            "history.0": {
                                              "enabled": true,
                                              "changesOnly": true,
                                              "debounce": "1000",
                                              "maxLength": "500",
                                              "retention": "63072000",
                                              "changesRelogInterval": 0,
                                              "changesMinDelta": 0,
                                              "aliasId": ""
                                            }
                                          }
                                        },
                                        "from": "system.adapter.iot.0",
                                        "user": "system.user.admin",
                                        "ts": 1607683977046,
                                        "_id": "alias.0.EG_Wohnzimmer.Aktor.RollladenEsszimmer",
                                        "acl": {
                                          "object": 1636,
                                          "state": 1636,
                                          "owner": "system.user.admin",
                                          "ownerGroup": "system.group.administrator"
                                        },
                                        "native": {}
                                      }
                                      

                                      Kannst du mir den Teil aus deinem Alias erklären:

                                      ...
                                          },
                                            "read": "val == '0' ? false : true",
                                            "write": "val == true ? 99 : 0"
                                          },
                                      ...
                                      

                                      Sorry, hat gar nichts mit Zwave zu tun merk ich grad 😲
                                      Wenn ihr wollt lösch ich das hier und mache nen neuen Beitrag auf?

                                      C 1 Reply Last reply
                                      0
                                      • TroyaT Troya

                                        @Chris_78 sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                        @Troya

                                        Wie AlCalzone bereits schrieb sind Alias-Werte der richtige Weg.
                                        Du kannst hier unterschiedliche Read/Write Werte setzen, somit brauchst du keine speziellen Widgets/Schalter in der Vis und
                                        der aktuelle Status (z.B. einer Lampe) wird auch korrekt angezeigt.

                                        😮 😮
                                        Das ja geil, wusste ich nicht, danke!

                                        Hier mal ein Beispiel für ein Alias mit zusätzlichem Mapping von 0->false und 99-> true (kannst du aber auch weg lassen):

                                        Ja auch cool. Damit muss ich mich auch mal beschäftigen...
                                        Zum Beispiel hab ich das "Problem", dass ich den "Prozentwert"(Dimmer) eines Rolladen bei Google home nutze um ihn komplett rauf zu fahren, wie etwa:
                                        "Hey Google, dimme Rolladen auf 0 Prozent" - nicht sehr logisch...
                                        Aber manchmal möchte ich den Rolladen auch nur auf 20% stellen, daher nur der eine Alias für beides.
                                        Wie kann ich das mit nem zusätzlichen Mapping in einem Alias einrichten? Wohl kaum so oder?

                                            "states": {
                                              "hoch": "0",
                                              "runter": "99"},
                                        

                                        Glaub aber nicht, dass das so einfach geht, da ich den Trait bei Google als "Brightness" angelegt hab um die Prozentwerte durchgeben zu können.
                                        So sieht der Alias aus:

                                        {
                                          "type": "state",
                                          "common": {
                                            "name": "EG_Wohnzimmer Aktor RollladenEsszimmer NODE11",
                                            "type": "number",
                                            "role": "level.dimmer",
                                            "read": true,
                                            "write": true,
                                            "min": 0,
                                            "max": 99,
                                            "alias": {
                                              "id": "zwave2.0.Node_011.Multilevel_Switch.targetValue",
                                              "write": "(val-99) * -1",
                                              "read": "(val-99)  * -1"
                                            },
                                            "smartName": {
                                              "de": "Rollladen Esszimmer",
                                              "ghType": "action.devices.types.SHUTTER",
                                              "ghTraits": [
                                                "action.devices.traits.Brightness"
                                              ],
                                              "ghAttributes": "{}",
                                              "ghConv2GH": "",
                                              "ghConv2iob": ""
                                            },
                                            "custom": {
                                              "history.0": {
                                                "enabled": true,
                                                "changesOnly": true,
                                                "debounce": "1000",
                                                "maxLength": "500",
                                                "retention": "63072000",
                                                "changesRelogInterval": 0,
                                                "changesMinDelta": 0,
                                                "aliasId": ""
                                              }
                                            }
                                          },
                                          "from": "system.adapter.iot.0",
                                          "user": "system.user.admin",
                                          "ts": 1607683977046,
                                          "_id": "alias.0.EG_Wohnzimmer.Aktor.RollladenEsszimmer",
                                          "acl": {
                                            "object": 1636,
                                            "state": 1636,
                                            "owner": "system.user.admin",
                                            "ownerGroup": "system.group.administrator"
                                          },
                                          "native": {}
                                        }
                                        

                                        Kannst du mir den Teil aus deinem Alias erklären:

                                        ...
                                            },
                                              "read": "val == '0' ? false : true",
                                              "write": "val == true ? 99 : 0"
                                            },
                                        ...
                                        

                                        Sorry, hat gar nichts mit Zwave zu tun merk ich grad 😲
                                        Wenn ihr wollt lösch ich das hier und mache nen neuen Beitrag auf?

                                        C Offline
                                        C Offline
                                        Chris_78
                                        wrote on last edited by
                                        #121

                                        @Troya said in Test Adapter Z-Wave 2 (v1.8.x):

                                        @Chris_78 sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                        @Troya

                                        Wie AlCalzone bereits schrieb sind Alias-Werte der richtige Weg.
                                        Du kannst hier unterschiedliche Read/Write Werte setzen, somit brauchst du keine speziellen Widgets/Schalter in der Vis und
                                        der aktuelle Status (z.B. einer Lampe) wird auch korrekt angezeigt.

                                        😮 😮
                                        Das ja geil, wusste ich nicht, danke!

                                        Hier mal ein Beispiel für ein Alias mit zusätzlichem Mapping von 0->false und 99-> true (kannst du aber auch weg lassen):

                                        Ja auch cool. Damit muss ich mich auch mal beschäftigen...
                                        Zum Beispiel hab ich das "Problem", dass ich den "Prozentwert"(Dimmer) eines Rolladen bei Google home nutze um ihn komplett rauf zu fahren, wie etwa:
                                        "Hey Google, dimme Rolladen auf 0 Prozent" - nicht sehr logisch...
                                        Aber manchmal möchte ich den Rolladen auch nur auf 20% stellen, daher nur der eine Alias für beides.
                                        Wie kann ich das mit nem zusätzlichen Mapping in einem Alias einrichten? Wohl kaum so oder?

                                            "states": {
                                              "hoch": "0",
                                              "runter": "99"},
                                        

                                        Glaub aber nicht, dass das so einfach geht, da ich den Trait bei Google als "Brightness" angelegt hab um die Prozentwerte durchgeben zu können.
                                        So sieht der Alias aus:

                                        {
                                          "type": "state",
                                          "common": {
                                            "name": "EG_Wohnzimmer Aktor RollladenEsszimmer NODE11",
                                            "type": "number",
                                            "role": "level.dimmer",
                                            "read": true,
                                            "write": true,
                                            "min": 0,
                                            "max": 99,
                                            "alias": {
                                              "id": "zwave2.0.Node_011.Multilevel_Switch.targetValue",
                                              "write": "(val-99) * -1",
                                              "read": "(val-99)  * -1"
                                            },
                                            "smartName": {
                                              "de": "Rollladen Esszimmer",
                                              "ghType": "action.devices.types.SHUTTER",
                                              "ghTraits": [
                                                "action.devices.traits.Brightness"
                                              ],
                                              "ghAttributes": "{}",
                                              "ghConv2GH": "",
                                              "ghConv2iob": ""
                                            },
                                            "custom": {
                                              "history.0": {
                                                "enabled": true,
                                                "changesOnly": true,
                                                "debounce": "1000",
                                                "maxLength": "500",
                                                "retention": "63072000",
                                                "changesRelogInterval": 0,
                                                "changesMinDelta": 0,
                                                "aliasId": ""
                                              }
                                            }
                                          },
                                          "from": "system.adapter.iot.0",
                                          "user": "system.user.admin",
                                          "ts": 1607683977046,
                                          "_id": "alias.0.EG_Wohnzimmer.Aktor.RollladenEsszimmer",
                                          "acl": {
                                            "object": 1636,
                                            "state": 1636,
                                            "owner": "system.user.admin",
                                            "ownerGroup": "system.group.administrator"
                                          },
                                          "native": {}
                                        }
                                        

                                        Für meine Rolladen nutze ich auch die Brightness-Werte per alexa. Nutze hier zu aber den NodeRed-Adapter.
                                        Klappt soweit gut. Du bräuchtest doch nur einen Alias anlegen, der die Int-Werte durchreicht (oder habe ich dich falsch verstanden?
                                        Beispiel:

                                        {
                                          "type": "state",
                                          "common": {
                                            "name": "Schlafzimmer Rollo",
                                            "write": true,
                                            "read": true,
                                            "role": "value",
                                            "desc": "per Script erstellt",
                                            "type": "number",
                                            "min": 0,
                                            "max": 99,
                                            "alias": {
                                              "id": {
                                                "read": "zwave2.0.Node_011.Multilevel_Switch.currentValue",
                                                "write": "zwave2.0.Node_011.Multilevel_Switch.targetValue"
                                              }
                                            }
                                          },
                                          "native": {},
                                          "from": "system.adapter.javascript.0",
                                          "user": "system.user.admin",
                                          "ts": 1595054558007,
                                          "_id": "alias.0.Schlafzimmer.Rollo",
                                          "acl": {
                                            "object": 1636,
                                            "state": 1636,
                                            "owner": "system.user.admin",
                                            "ownerGroup": "system.group.administrator"
                                          }
                                        }
                                        

                                        Kannst du mir den Teil aus deinem Alias erklären:

                                        ...
                                            },
                                              "read": "val == '0' ? false : true",
                                              "write": "val == true ? 99 : 0"
                                            },
                                        ...
                                        

                                        Sorry, hat gar nichts mit Zwave zu tun merk ich grad 😲
                                        Wenn ihr wollt lösch ich das hier und mache nen neuen Beitrag auf?

                                        Das ist eigentlich nur eine "Kurzschreibweise" eines if-then-else Statements.
                                        "read": "val == '0' ? false : true" -> Falls val==0 setze false ansonsten setze true
                                        "write": "val == true ? 99 : 0" -> Falls value==true setze 99 ansonsten setze 0

                                        So kannst du einen True/False-Schalter nutzen um z.B. fixe Dimmer-Werte zu setzen -> false = 0 / true = 99

                                        TroyaT 1 Reply Last reply
                                        0
                                        • C Chris_78

                                          @Troya said in Test Adapter Z-Wave 2 (v1.8.x):

                                          @Chris_78 sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                          @Troya

                                          Wie AlCalzone bereits schrieb sind Alias-Werte der richtige Weg.
                                          Du kannst hier unterschiedliche Read/Write Werte setzen, somit brauchst du keine speziellen Widgets/Schalter in der Vis und
                                          der aktuelle Status (z.B. einer Lampe) wird auch korrekt angezeigt.

                                          😮 😮
                                          Das ja geil, wusste ich nicht, danke!

                                          Hier mal ein Beispiel für ein Alias mit zusätzlichem Mapping von 0->false und 99-> true (kannst du aber auch weg lassen):

                                          Ja auch cool. Damit muss ich mich auch mal beschäftigen...
                                          Zum Beispiel hab ich das "Problem", dass ich den "Prozentwert"(Dimmer) eines Rolladen bei Google home nutze um ihn komplett rauf zu fahren, wie etwa:
                                          "Hey Google, dimme Rolladen auf 0 Prozent" - nicht sehr logisch...
                                          Aber manchmal möchte ich den Rolladen auch nur auf 20% stellen, daher nur der eine Alias für beides.
                                          Wie kann ich das mit nem zusätzlichen Mapping in einem Alias einrichten? Wohl kaum so oder?

                                              "states": {
                                                "hoch": "0",
                                                "runter": "99"},
                                          

                                          Glaub aber nicht, dass das so einfach geht, da ich den Trait bei Google als "Brightness" angelegt hab um die Prozentwerte durchgeben zu können.
                                          So sieht der Alias aus:

                                          {
                                            "type": "state",
                                            "common": {
                                              "name": "EG_Wohnzimmer Aktor RollladenEsszimmer NODE11",
                                              "type": "number",
                                              "role": "level.dimmer",
                                              "read": true,
                                              "write": true,
                                              "min": 0,
                                              "max": 99,
                                              "alias": {
                                                "id": "zwave2.0.Node_011.Multilevel_Switch.targetValue",
                                                "write": "(val-99) * -1",
                                                "read": "(val-99)  * -1"
                                              },
                                              "smartName": {
                                                "de": "Rollladen Esszimmer",
                                                "ghType": "action.devices.types.SHUTTER",
                                                "ghTraits": [
                                                  "action.devices.traits.Brightness"
                                                ],
                                                "ghAttributes": "{}",
                                                "ghConv2GH": "",
                                                "ghConv2iob": ""
                                              },
                                              "custom": {
                                                "history.0": {
                                                  "enabled": true,
                                                  "changesOnly": true,
                                                  "debounce": "1000",
                                                  "maxLength": "500",
                                                  "retention": "63072000",
                                                  "changesRelogInterval": 0,
                                                  "changesMinDelta": 0,
                                                  "aliasId": ""
                                                }
                                              }
                                            },
                                            "from": "system.adapter.iot.0",
                                            "user": "system.user.admin",
                                            "ts": 1607683977046,
                                            "_id": "alias.0.EG_Wohnzimmer.Aktor.RollladenEsszimmer",
                                            "acl": {
                                              "object": 1636,
                                              "state": 1636,
                                              "owner": "system.user.admin",
                                              "ownerGroup": "system.group.administrator"
                                            },
                                            "native": {}
                                          }
                                          

                                          Für meine Rolladen nutze ich auch die Brightness-Werte per alexa. Nutze hier zu aber den NodeRed-Adapter.
                                          Klappt soweit gut. Du bräuchtest doch nur einen Alias anlegen, der die Int-Werte durchreicht (oder habe ich dich falsch verstanden?
                                          Beispiel:

                                          {
                                            "type": "state",
                                            "common": {
                                              "name": "Schlafzimmer Rollo",
                                              "write": true,
                                              "read": true,
                                              "role": "value",
                                              "desc": "per Script erstellt",
                                              "type": "number",
                                              "min": 0,
                                              "max": 99,
                                              "alias": {
                                                "id": {
                                                  "read": "zwave2.0.Node_011.Multilevel_Switch.currentValue",
                                                  "write": "zwave2.0.Node_011.Multilevel_Switch.targetValue"
                                                }
                                              }
                                            },
                                            "native": {},
                                            "from": "system.adapter.javascript.0",
                                            "user": "system.user.admin",
                                            "ts": 1595054558007,
                                            "_id": "alias.0.Schlafzimmer.Rollo",
                                            "acl": {
                                              "object": 1636,
                                              "state": 1636,
                                              "owner": "system.user.admin",
                                              "ownerGroup": "system.group.administrator"
                                            }
                                          }
                                          

                                          Kannst du mir den Teil aus deinem Alias erklären:

                                          ...
                                              },
                                                "read": "val == '0' ? false : true",
                                                "write": "val == true ? 99 : 0"
                                              },
                                          ...
                                          

                                          Sorry, hat gar nichts mit Zwave zu tun merk ich grad 😲
                                          Wenn ihr wollt lösch ich das hier und mache nen neuen Beitrag auf?

                                          Das ist eigentlich nur eine "Kurzschreibweise" eines if-then-else Statements.
                                          "read": "val == '0' ? false : true" -> Falls val==0 setze false ansonsten setze true
                                          "write": "val == true ? 99 : 0" -> Falls value==true setze 99 ansonsten setze 0

                                          So kannst du einen True/False-Schalter nutzen um z.B. fixe Dimmer-Werte zu setzen -> false = 0 / true = 99

                                          TroyaT Offline
                                          TroyaT Offline
                                          Troya
                                          wrote on last edited by
                                          #122

                                          @Chris_78 sagte in Test Adapter Z-Wave 2 (v1.8.x):

                                          Klappt soweit gut. Du bräuchtest doch nur einen Alias anlegen, der die Int-Werte durchreicht (oder habe ich dich falsch verstanden?

                                          Was meinst du mit "Int-Werte"?

                                          Das ist eigentlich nur eine "Kurzschreibweise" eines if-then-else Statements.
                                          "read": "val == '0' ? false : true" -> Falls val==0 setze false ansonsten setze true
                                          "write": "val == true ? 99 : 0" -> Falls value==true setze 99 ansonsten setze 0

                                          So kannst du einen True/False-Schalter nutzen um z.B. fixe Dimmer-Werte zu setzen -> false = 0 / true = 99

                                          Achso, verstanden! 😊

                                          TroyaT C 2 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          126

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe