Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Z-Wave 2 (v1.4.x / 1.5.0 / 1.6.x)

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Test Adapter Z-Wave 2 (v1.4.x / 1.5.0 / 1.6.x)

    This topic has been deleted. Only users with topic management privileges can see it.
    • _nico
      _nico @AlCalzone last edited by

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

      @_nico sagte in Test Adapter Z-Wave 2 (v1.4.x):

      Im Alias-DP wird der Wert auf 0 geändert, der DP "targetValue" ist einfach "leer" (null o.ä.) - was nicht gehen dürfte

      Doch, das macht Sinn. Vielleicht ein Bug im Alias? leer heißt einfach es gibt keinen Wert. Dann darf allerdings auch kein 0 im Alias auftauchen.

      Hi @AlCalzone, ja es scheint am Alias zu liegen, dass er aus "null" "0" macht. Finde nicht, dass es ein Bug ist. Es ist halt "null", er erwartet eine Zahl zwischen 0 und 99.

      Aber egal, auch wenn ich die DPs direkt in YAHKA (HomeKit) verknüpfe, ohne Alias, bleibt das Problem bestehen - auch wenn es "null" ist - nur das nicht "öffnen" sondern "schließen" da steht.

      Wenn du das Verhalten vom Adapter so korrekt findest, überlege ich mal, wie ich es bei mir lösen könnte.

      AlCalzone C 2 Replies Last reply Reply Quote 0
      • AlCalzone
        AlCalzone Developer @_nico last edited by

        @_nico Ich muss da nochmal drüber nachdenken. Faktisch gibt es beim Start keinen Zielwert, außer das Gerät ist zufällig gerade in Bewegung. Könnte Sinn machen es in diesem Fall auf currentValue zu setzen, aber über die Implikationen muss ich mir noch klar werden.

        _nico 1 Reply Last reply Reply Quote 0
        • _nico
          _nico @AlCalzone last edited by _nico

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

          @_nico Ich muss da nochmal drüber nachdenken. Faktisch gibt es beim Start keinen Zielwert, außer das Gerät ist zufällig gerade in Bewegung. Könnte Sinn machen es in diesem Fall auf currentValue zu setzen, aber über die Implikationen muss ich mir noch klar werden.

          Ja, sehe ich auch so - bin ähnlich im Zwiespalt, was das korrekt Verhalten wäre.
          Ich denke, ich könnte das Problem über den read Parameter in der Alias-Funktion lösen.

          UPDATE: Leider geht es über den Alias, ohne Skript, nicht so, wie ich es gerne hätte. 😞 Also, wenn du es Implementierst, wenn es Sinn macht, wäre es cool! 👍

          1 Reply Last reply Reply Quote 0
          • C
            Chris_78 @_nico last edited by

            @_nico said in Test Adapter Z-Wave 2 (v1.4.x):

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

            @_nico sagte in Test Adapter Z-Wave 2 (v1.4.x):

            Im Alias-DP wird der Wert auf 0 geändert, der DP "targetValue" ist einfach "leer" (null o.ä.) - was nicht gehen dürfte

            Doch, das macht Sinn. Vielleicht ein Bug im Alias? leer heißt einfach es gibt keinen Wert. Dann darf allerdings auch kein 0 im Alias auftauchen.

            Hi @AlCalzone, ja es scheint am Alias zu liegen, dass er aus "null" "0" macht. Finde nicht, dass es ein Bug ist. Es ist halt "null", er erwartet eine Zahl zwischen 0 und 99.

            Aus meiner Sicht verhält sich ioBroker hier richtig. Das ganze liegt an dem Number/Zahlen Format. Ich bin mir zwar nicht ganz sicher wie es in Javascript gehandhabt wird, vermute aber
            das es ähnlich/gleich sein wird. Ich selber programmiere in Java (obwohl ich die letzten Jahre etwas "eingerostet" bin. 🙂 ).
            In Java gibt es kein "null" für Zahlenwerte. Null wird "intern" in eine "0" konvertiert. Ebenso gibt es auch keine führenden Nullen bei Zahlenwerte. Diese werden automatisch
            entfernt.

            Aber egal, auch wenn ich die DPs direkt in YAHKA (HomeKit) verknüpfe, ohne Alias, bleibt das Problem bestehen - auch wenn es "null" ist - nur das nicht "öffnen" sondern "schließen" da steht.

            Wenn du das Verhalten vom Adapter so korrekt findest, überlege ich mal, wie ich es bei mir lösen könnte.

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

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

              Aus meiner Sicht verhält sich ioBroker hier richtig

              Nein das ist inkonsistent. Normale Datenpunkte haben die bewusste Möglichkeit, keinen Wert (d.h. null) zu haben. Dass es in Aliassen nicht geht, ist meiner Meinung nach ein Bug.
              Java kennt auch nullable Datentypen (ähnlich wie C#): https://stackoverflow.com/questions/14321175/how-to-write-nullable-int-in-java

              C 1 Reply Last reply Reply Quote 0
              • C
                Chris_78 @AlCalzone last edited by

                @AlCalzone said in Test Adapter Z-Wave 2 (v1.4.x):

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

                Aus meiner Sicht verhält sich ioBroker hier richtig

                Nein das ist inkonsistent. Normale Datenpunkte haben die bewusste Möglichkeit, keinen Wert (d.h. null) zu haben. Dass es in Aliassen nicht geht, ist meiner Meinung nach ein Bug.
                Java kennt auch nullable Datentypen (ähnlich wie C#): https://stackoverflow.com/questions/14321175/how-to-write-nullable-int-in-java

                Die Möglichkeit beim initieren besteht unter gewissen Umständen. Meines Wissens kann der Null Wert aber nicht aus einem Zahlentyp gelesen werden. Die Aliassen sind ja "Kopien" bzw.
                lesen die Werte ja aus den verknüpften Datenpunkten. Beim Auslesen des originalen Datenpunkt müsste das "Null" zur "0" (im Alias Datenpunkt) werden.
                Aber wie gesagt ich bin in der Richtung schon ein wenig eingerostet 🙂

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

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

                  Meines Wissens kann der Null Wert aber nicht aus einem Zahlentyp gelesen werden.

                  Doch! Probiere es einfach mal in nem Skript aus: getState("dp.mit.nullwert").val ist dann === null.

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

                    @AlCalzone

                    Da ich sowieso irgendwie noch die manuelle Steuerung am Schalter abfangen musste, damit sich die TargetPosition für HomeKit anpasst - damit der richtige Status angezeigt wird - fängt das Skript jetzt auch gleich noch die Interviews der Shutter ab und setzt die TargetPosition, wenn kein Stromverbrauch, auf den Wert der CurrentPosition.

                    Das Blockly-Skript ist ein ziemlicher Brain-Fuck geworden - da ich nicht für jeden, der 13 Shutter, ein eigenes Skript schreiben wollten! Trotz alledem, wollte ich es abschließend hier noch posten:

                    • Aliases, ordentlich sortiert und identisch - wichtig sind für das Skript PositionCurrent, PositionTarget und ConsumptionCurrent:
                      Bildschirmfoto 2020-07-02 um 14.31.50.png

                    • Aufzählung des Aliases CurrentPosition der Rollläden
                      Bildschirmfoto 2020-07-02 um 14.31.08.png

                    • Blockly-Skript
                      Bildschirmfoto 2020-07-02 um 14.30.34.png blockly-rolllaeden-brainfuck.txt

                    Gruß Nico

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

                      FYI: Dass der alias für einen null-Wert 0 ist, ist ein Bug und wird im nächsten JS-Controller behoben.

                      C 2 Replies Last reply Reply Quote 0
                      • C
                        Chris_78 @AlCalzone last edited by

                        @AlCalzone said in Test Adapter Z-Wave 2 (v1.4.x):

                        FYI: Dass der alias für einen null-Wert 0 ist, ist ein Bug und wird im nächsten JS-Controller behoben.

                        Danke für die Info. Wieder was gelernt. 😉

                        1 Reply Last reply Reply Quote 0
                        • C
                          Chris_78 @AlCalzone last edited by Chris_78

                          @AlCalzone

                          Ich hätte noch mal eine Frage bzgl. Alias-Werten. Bin mir nicht ganz sicher, ob die Frage zum Adapter gehört oder
                          eher ein allgemeines Alias Topic ist...

                          Ich habe mir u.a. für die Z-Wave Geräte Alias-Punkte angelegt:
                          z.B.

                          {
                            "from": "system.adapter.javascript.0",
                            "user": "system.user.admin",
                            "ts": 1592986261338,
                            "common": {
                              "name": "Buero Schalter Licht",
                              "role": "variable",
                              "desc": "per Script erstellt",
                              "type": "number",
                              "write": true,
                              "read": true,
                              "alias": {
                                "id": {
                                  "read": "zwave2.0.Node_004.Multilevel_Switch.currentValue",
                                  "write": "zwave2.0.Node_004.Multilevel_Switch.targetValue"
                                }
                              }
                            },
                            "native": {},
                            "acl": {
                              "object": 1636,
                              "owner": "system.user.admin",
                              "ownerGroup": "system.group.administrator",
                              "state": 1636
                            },
                            "_id": "alias.0.Buero.Licht",
                            "type": "state"
                          }
                          

                          Das ganze funktioniert soweit gut. Einziges Problem ist, falls ich ioBroker oder den Adapter neu starte sind die Alias-Datenpunkte nicht mehr
                          befüllt (somit passen die angezeigten Vis-Werte/Statis natürlich nicht mehr). Erst wenn ich den jeweiligen targetValue nutze wird der Wert wieder im Alias
                          korrekt angezeigt.
                          Aktuell behelfe ich mir mit einem Skript, dass ich nach Neustart einmal ausführe
                          (setzt vom jeweiligen Datenpunkt den currentValue in den targetValue):
                          z.B.

                          alias.png

                          Danach sind die Alias-Werte korrekt "befüllt".
                          Kann man die Alias-Punkte evtl. optimieren/korrigieren? Allerdings besteht das Problem nur mit den ZWave Alias-Werten.
                          Die Alias-Werte von meinen Shellies (per Mosquitto angebunden) haben diese Problematik nicht. Diese werden initial sofort befüllt.

                          Kann man evtl. etwas am Adapter machen? Oder gibt es bereits eine Möglichkeit?

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

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

                            Kann man evtl. etwas am Adapter machen? Oder gibt es bereits eine Möglichkeit?

                            Siehe meine Diskussion mit Nico. Ich überlege, einen leeren targetValue automatisch auf den currentValue zu setzen. Damit dürfte das Problem weg sein.

                            1 Reply Last reply Reply Quote 0
                            • F
                              FalconSBG last edited by

                              @AlCalzone
                              Hallo mir ist ein Problem mit dem Smart Implant von Fibaro aufgefallen. Ich habe zwei One wire Temperatursensoren angehängt die Werte werden auch korrekt übertragen nach dem Interview, aber dann nicht mehr aktualisiert. Wenn man erneut Interviewt werden die Werte aktualisiert und bleiben dann wieder gleich.

                              MfG Stefan

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

                                @FalconSBG Schau mal bitte unter Verknüpfungen, ob dort Root-Endpoint eingestellt ist. Wenn ja, wechsle mal auf Root-Gerät und schaue ob sich die Situation verändert.

                                F 1 Reply Last reply Reply Quote 0
                                • F
                                  FalconSBG @AlCalzone last edited by

                                  @AlCalzone Habs umgestellt leider ändert sich an der Situation nichts. Werte werden erst bei einem neu interview geändert. Und dadurch wird auch wieder auf Root-Endpoint in Node 24 umgestellt.

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

                                    @FalconSBG Ist der denn richtig konfiguriert? Standardmäßig sind die nämlich aus:
                                    206cd34b-809f-46b6-89ac-fc1f07d488e1-grafik.png

                                    F 1 Reply Last reply Reply Quote 0
                                    • _nico
                                      _nico last edited by

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

                                      1. ja, bin nur gerade mit einem etwas größeren Umbau beschäftigt

                                      @AlCalzone Wie läufts bei dir? Bist du mit deinem Umbau durch?

                                      Gruß Nico

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

                                        @_nico Ne, das wird noch etwas dauern...

                                        ✔ Konzept für einfache Controller-Kommandos und Kommando-Warteschlange
                                        ✔ Implementierung für einfache Controller-Kommandos in Testumgebung
                                        🤔 Konzept für Kommandos an andere Nodes
                                        ❌ Implementierung für Kommandos an andere Nodes
                                        ❌ Tests am realen System

                                        Falls es jemand genauer wissen will: Ich baue die Kommando-Logik um auf eine (bzw. mehrere verknüpfte) State Machines, damit der Treiber zu jeder Zeit ein definiertes Verhalten hat, ohne dass ich irgendeine komplexe Interaktion übersehe und er einfach stecken bleibt.

                                        Positiver Effekt: Ich kann automatische Tests für jede Interaktion schreiben - das ging vorher nicht.
                                        Negativer Effekt: Das ist ein ziemlicher Brainfuck.... Hier mal ein Ausschnitt der aktuellen Planung:
                                        50443217-3521-400c-89f5-c97d0e58ad1e-grafik.png

                                        _nico C 2 Replies Last reply Reply Quote 0
                                        • F
                                          FalconSBG @AlCalzone last edited by

                                          @AlCalzone Hallo ja war noch auf null gestellt und ich musste wieder auf Root Endpoint zurückschallten aber nun funktioniert es. Danke für die Hilfe.

                                          1 Reply Last reply Reply Quote 1
                                          • _nico
                                            _nico @AlCalzone last edited by

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

                                            @_nico Ne, das wird noch etwas dauern...

                                            ✔ Konzept für einfache Controller-Kommandos und Kommando-Warteschlange
                                            ✔ Implementierung für einfache Controller-Kommandos in Testumgebung
                                            🤔 Konzept für Kommandos an andere Nodes
                                            ❌ Implementierung für Kommandos an andere Nodes
                                            ❌ Tests am realen System

                                            Falls es jemand genauer wissen will: Ich baue die Kommando-Logik um auf eine (bzw. mehrere verknüpfte) State Machines, damit der Treiber zu jeder Zeit ein definiertes Verhalten hat, ohne dass ich irgendeine komplexe Interaktion übersehe und er einfach stecken bleibt.

                                            Positiver Effekt: Ich kann automatische Tests für jede Interaktion schreiben - das ging vorher nicht.
                                            Negativer Effekt: Das ist ein ziemlicher Brainfuck.... Hier mal ein Ausschnitt der aktuellen Planung:
                                            50443217-3521-400c-89f5-c97d0e58ad1e-grafik.png

                                            Oha, na dann, viel Erfolg und frohes Schaffen!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            414
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            fgrm-222 fgrm222 sound switch z-wave zwave zwave2
                                            27
                                            264
                                            27740
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo