Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. OpenKNX Multi Attribut Datenpunkt 20xx lesen/schreiben

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    OpenKNX Multi Attribut Datenpunkt 20xx lesen/schreiben

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Huligan last edited by Huligan

      Hi Zusammen,

      nach zwei Tagen erfolgloser Recherche hoffe ich das ihr mit helfen könnt und somit auch hoffentlich jemanden in Zukunft.
      Meinen KNX PM in der Garage kann ich einen Status aufzwingen und dies möchte ich auch über einen Zigbee Taster.
      Ziel ist es daher via Blockly den aktuellen Status der GA-Zwang auszulesen und je nach Zustand zu schreiben.

      Das Format diese Objekts im IoB sieht so aus:

      8fd7c424-2db4-4ffd-947b-58da93fdb4a0-grafik.png

      Mögliche Werte die ich auch schon manuell so setzen kann und funktionieren sind:

      {"priority":0,"data":0} - Vollautomatik
      {"priority":1,"data":0} - Dauer AUS, bis Rückfallzeit abgelaufen
      {"priority":1,"data":1} - Dauer AN, bis Rückfallzeit abgelaufen

      im KNX Bereich ist alles soweit eingerichtet, auch wenn ich im IoB die Werte direkt am Objekt ändere klappen die Einstellungen einwandfrei.

      Via Blockly hab ichs weder auf der String noch Attribut x von Objekt Zwang setzen auf Zahl 1 hinbekommen.
      Vielleicht hat der ein oder andere bei diesen oder anderen mehrfach Attribut-Objekten schon Expertise die er gerne mal mit mir und anderen teilen könnte?
      Gelesen habe ich schon so einiges und ein zwei andere Blocklys habe ich auch schon. Aber bei diesen 2-Bit Objekten scheitere ich regelmäßig. Dimmen,Shellys und Co. Bin aber die ganze Zeit darum gekommen. Jetzt leider nicht mehr aus persöhnlichem Interesse allein schon.

      Bei Auslesen kommt schon undefined oder {} mit JSON zu Object davor, somit ist auch schon kein "falls" mehr möglich. Deaktivierte Blöcke dürft Ihr ignorieren ware halt zum Test.
      3af4cacc-20f0-4da0-98f4-dcddb9c1e02c-grafik.png

      Schonmal vielen Dank für denjenigen der sich hier mal dazu auslässt und mich aufklärt.

      paul53 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Huligan last edited by

        @huligan sagte: mich aufklärt.

        Der Wert des Datenpunktes enthält das JSON.

        Blockly_temp.JPG

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @Huligan last edited by

          @huligan sagte: auszulesen und je nach Zustand zu schreiben.

          So kann kann man das Json auslesen, verändern und zurück schreiben:

          Blockly_temp.JPG

          H 1 Reply Last reply Reply Quote 0
          • H
            Huligan @paul53 last edited by Huligan

            @paul53 Danke Paul, die Konvertierung hatte ich auch schonmal drin ohne Var allerdings aber beim "falls" hänge ich trotzdem.

            Das hier funktioniert:
            db205ff5-3340-4bbe-9882-d680c281ee3b-grafik.png

            nur hier zwickts sich noch:
            86fa31c8-c7ce-4ff6-92dd-52aa1efd3659-grafik.png
            Egal ob mit Mathe oder String Wert.

            paul53 2 Replies Last reply Reply Quote 0
            • paul53
              paul53 @Huligan last edited by paul53

              @huligan sagte: Egal ob mit Mathe oder String Wert.

              Das gezeigte JSON enthält Zahlen 0 und 1. Also operiere mit Zahlen.

              EDIT: Versuche es mal so:

              Blockly_temp.JPG

              Die Reihenfolge muss eingehalten werden.

              H 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Huligan last edited by paul53

                @huligan sagte: hier zwickts sich noch:

                Wenn prio / data = 0 / 0 sind, stellst du erst auf "1" / "0" und anschließend sofort auf "1" / "1".

                H 1 Reply Last reply Reply Quote 0
                • H
                  Huligan @paul53 last edited by

                  @paul53 Natürlich ist mir noch nicht aufgefallen da meine "Falls"-Bedingung nie zugetroffen hat.
                  Ich habs eben mal mit Zahl und String erneut probiert mag beides nur in der "Sonst" landen. Hast d noch ne Idee?

                  b49f43d8-44ea-43b1-a044-5885625971d1-grafik.png

                  PS: Danke bis hierhin schonmal Paul53, ich bin bis Montag Offline, daher nicht wundern wenn es jetzt ein paar Tage dauert bis ich Antworten kann...

                  1 Reply Last reply Reply Quote 0
                  • H
                    Huligan @paul53 last edited by Huligan

                    @paul53
                    Ich hab nochmal bisschen rumprobiert und dabei ist mir aufgefallen, dass wohl schon das Befüllen des "obj" nicht klappt! Daher ist diese Variable auch leer vor dem Falls-Block und kann nicht ausgewertet werden.

                    182cd661-95a4-4002-878c-239f1373be0d-grafik.png sollte ja so ähnlich aussehen:
                    32b44b05-3fe6-412c-a237-06a02f12dd2d-grafik.png

                    ed0dd047-d23f-4a53-92fd-bcb33fad3277-grafik.png

                    Allerdings funktioniert, wie oben schonmal erzählt, das Befüllen und Schreiben dann hervorragend und wird auch von den KNX-Geräten dann sauber verarbeitet. Im Log vom Javascript tauchen einige Warnungen auf vielleicht helfen diese bei der Analyse weiter:

                    87067677-1a35-4142-95ae-e8c7ae4101d0-grafik.png

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Huligan last edited by paul53

                      @huligan sagte: Im Log vom Javascript tauchen einige Warnungen auf

                      Der Datenpunkt ist vom Typ "object". Dann lass die Wandlung "Objekt nach JSON" bei "steuere" weg; ebenso die Wandlung "JSON nach Objekt" beim Einlesen. Die Wandlung nimmt in diesem Fall der Javascript-Adapter vor.

                      Blockly_temp.JPG

                      H 1 Reply Last reply Reply Quote 0
                      • H
                        Huligan @paul53 last edited by

                        @paul53 said in OpenKNX Multi Attribut Datenpunkt 20xx lesen/schreiben:

                        ng nimmt in diesem Fall der Javascript-Adapter vor.

                        Das war´s, ich danke dir recht freundlich. Es tut was es soll und der Cummunity möchte ich das vollständige Ergebnis nicht vorenthalten. Bei jedem kurzen Tastendruck wird auf den nächsten Zustand in der Liste gewechselt:
                        0/0 zu 1/0
                        1/0 zu 1/1
                        1/1 zu 0/0

                        Ist sicher auch bei der ein oder anderen Stelle mit Objekten,JSON´s, Strings und Co. hilfreich.

                        3bb4d543-aa68-4ee4-ad0d-42d171352a21-grafik.png

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @Huligan last edited by paul53

                          @huligan sagte: Es tut was es soll

                          Den Block "steuere" benötigt man nur einmal ganz am Ende.
                          Auch zwei Blöcke "Setze Attribut" kann man sich dort sparen, wo das entsprechende Attribut nicht geändert wird.

                          Vereinfachung:

                          Blockly_temp.JPG

                          H 1 Reply Last reply Reply Quote 0
                          • H
                            Huligan @paul53 last edited by

                            @paul53 said in OpenKNX Multi Attribut Datenpunkt 20xx lesen/schreiben:

                            Den Block "steuere" benötigt man nur einmal ganz am Ende.
                            Auch zwei Blöcke "Setze Attribut" kann man sich dort sparen, wo das entsprechende Attribut nicht geändert wird.

                            Wurde vereinfacht und etwas gelernt...
                            Danke

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            1.0k
                            Online

                            31.7k
                            Users

                            79.7k
                            Topics

                            1.3m
                            Posts

                            2
                            12
                            387
                            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