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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    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.
    • 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
                                      • C
                                        ChristianG @AlCalzone last edited by

                                        @AlCalzone 👍 sieht nach einer Lebensaufgabe aus 🙄

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

                                          Sers @AlCalzone,

                                          gestern war an einem Devolo Bewegungsmelder (Node_047) die Batterie leer und ich habe diese daraufhin ausgetauscht. Danach hat der BWM sämtliche von mir geänderte Parameter vergessen. Normal?

                                          Außerdem werden einige Parameter mit dem Wert "-1" angezeigt. Änderungen werden nicht korrekt übernommen. Irgendwas ist da Faul. Auch ein Neustart des Adapters und ein erneutes Interview hat daran nichts geändert.

                                          Im Screenshot ist auch die Node_049, auch ein Devolo BWM, so war es bis zum Tausch von der Batterie bei der 47 auch. Wenn ich die Parameter alle identisch setze, reagiert der BWM garnicht mehr. Wie gesagt, irgendwas stimmt nicht.

                                          zwave-29742.log

                                          Bildschirmfoto 2020-07-14 um 20.31.08.png

                                          Gruß Nico

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

                                            @_nico Die Anleitung spricht von einem Test-Mode. Hast du den beim Tausch ggf. ausversehen aktiviert?
                                            https://www.cd-jackson.com/zwave_device_uploads/290/Devolo-home-Control-Motion.pdf

                                            Ansonsten berichtet der Melder tatsächlich den Wert -1 für die Config-Parameter. In der Anleitung finde ich diesen Wert aber nur beim Basic Set Level als erlaubt.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            fgrm-222 fgrm222 sound switch z-wave zwave zwave2
                                            27
                                            264
                                            27280
                                            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