Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter Z-Wave 2 (v1.8.x)

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

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

Geplant Angeheftet Gesperrt Verschoben Tester
testz-wavezwave
325 Beiträge 32 Kommentatoren 67.2k Aufrufe 26 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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
    schrieb am zuletzt editiert von
    #105

    @AlCalzone danke änderst du das?

    AlCalzoneA 1 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • G Gabe

          @AlCalzone danke änderst du das?

          AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #108

          @Gabe Jap, Issue ist bereits erstellt.

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

          1 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #109

            @AlCalzone

            So wie es nach ersten Tests aussieht wohl ja.:confounded:

            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 Antwort Letzte Antwort
            0
            • TroyaT Troya

              @AlCalzone

              So wie es nach ersten Tests aussieht wohl ja.:confounded:

              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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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:face_with_rolling_eyes:)

                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.:thinking_face:
                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 Antworten Letzte Antwort
                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:face_with_rolling_eyes:)

                  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.:thinking_face:
                  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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • AlCalzoneA AlCalzone

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

                    B Offline
                    B Offline
                    Besserso
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • AlCalzoneA Offline
                        AlCalzoneA Offline
                        AlCalzone
                        Developer
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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:face_with_rolling_eyes:)

                          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.:thinking_face:
                          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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • TroyaT Offline
                            TroyaT Offline
                            Troya
                            schrieb am zuletzt editiert von 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 :sunglasses:

                            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 Antwort Letzte Antwort
                            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 :sunglasses:

                              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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 :runner:

                                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" :face_with_rolling_eyes:

                                @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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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.

                                  :open_mouth: :open_mouth:
                                  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 :astonished:
                                  Wenn ihr wollt lösch ich das hier und mache nen neuen Beitrag auf?

                                  C 1 Antwort Letzte Antwort
                                  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.

                                    :open_mouth: :open_mouth:
                                    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 :astonished:
                                    Wenn ihr wollt lösch ich das hier und mache nen neuen Beitrag auf?

                                    C Offline
                                    C Offline
                                    Chris_78
                                    schrieb am zuletzt editiert von
                                    #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.

                                    :open_mouth: :open_mouth:
                                    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 :astonished:
                                    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 Antwort Letzte Antwort
                                    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.

                                      :open_mouth: :open_mouth:
                                      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 :astonished:
                                      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
                                      schrieb am zuletzt editiert von
                                      #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! :blush:

                                      TroyaT C 2 Antworten Letzte Antwort
                                      0
                                      • TroyaT Troya

                                        @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! :blush:

                                        TroyaT Offline
                                        TroyaT Offline
                                        Troya
                                        schrieb am zuletzt editiert von
                                        #123

                                        Da mein WAF stetig niedriger wird mit den teilweise nicht funktionierenden Nodes: Ich würde dann die problematischen Nodes mit dem alten Zwave-Adapter schalten und den Rest mit dem neuen Zwave2.
                                        Kann ich beide Adapter parallel laufen lassen oder kommen die sich in die Quere?

                                        C AlCalzoneA 2 Antworten Letzte Antwort
                                        0
                                        • TroyaT Troya

                                          @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! :blush:

                                          C Offline
                                          C Offline
                                          Chris_78
                                          schrieb am zuletzt editiert von
                                          #124

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

                                          @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"?
                                          Sorry, komme ursprünglich aus der Java Welt... :-)
                                          Int = Integer = Zahl
                                          Hier wäre Number die richtige Wahl gewesen :-)

                                          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! :blush:

                                          1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          644

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe