Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Newbie Einzelnen Wert von Contact-Entity anzeigen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Newbie Einzelnen Wert von Contact-Entity anzeigen

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

      DANKE Micky !
      Teste ich nachher ...

      Haken habe ich entfernt bei ".... Zeichenkette konvertieren"

      Der "Pallett Manager" ist bei mir nicht aktiviert, konnte auf die schnelle auch nicht finden was der für eine Aufgabe hat.

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @topsurfer last edited by

        @topsurfer Der macht es Dir einfacher zusätzliche Nodes zu installieren - das kann man aber auch später bei Bedarf anhaken - das hat keine Auswirkungen auf Deine bisherigen Flows oder Deiner Arbeit. Die Konvertierung auszuschalten ist dagegen schon wichtig, sonst hat man später einen Aufwand wenn man es wieder umstellt.

        1 Reply Last reply Reply Quote 0
        • T
          topsurfer last edited by

          @mickym
          So, konnte deiner Anleitung folgen und di ersten Werte so "erstellen".
          (und Node Red zumindest etwas "verstehen", habe noch nie mit einer grafischen Erstellung von "Scripten" oder "Abläufen" zu tun gehabt!)

          Danke!

          Nur eine Frage (evtl. an andere), ich stehe ja dann letztlich vor der Entscheidung, Node red oder blockly zu nutzen.
          Wie würde das ganze in blockly ausschauen?
          Wie kann ich dort den JSON String in einzelne "Variablen" aufsplitten?

          mickym paul53 2 Replies Last reply Reply Quote 0
          • mickym
            mickym Most Active @topsurfer last edited by mickym

            @topsurfer sagte in Newbie Einzelnen Wert von Contact-Entity anzeigen:

            @mickym
            So, konnte deiner Anleitung folgen und di ersten Werte so "erstellen".
            (und Node Red zumindest etwas "verstehen", habe noch nie mit einer grafischen Erstellung von "Scripten" oder "Abläufen" zu tun gehabt!)

            Danke!

            Nur eine Frage (evtl. an andere), ich stehe ja dann letztlich vor der Entscheidung, Node red oder blockly zu nutzen.
            Wie würde das ganze in blockly ausschauen?
            Wie kann ich dort den JSON String in einzelne "Variablen" aufsplitten?

            Nur so ungefähr müsste es meines erachtens so aussehen

            ba9f44c8-3130-428f-8a03-41dceb5a345c-image.png

            Du setzt also den Wert des triggers in die Variable JSONString- wandelst das in ein Objekt (ich habs hier object) genannt und ordnest die Eigenschaft battery Deiner Variablen Batterie zu,

            Überprüfen und bessere Tipps zum Thema Blockly kann Dir sicher @paul53 geben. 🙂 Auch @jan1 hilft Dir bei der Blockly Erstellung sicher gerne.

            Und mal abgesehen von meiner persönlichen Präferenz, hast Du hier an Board viel mehr Blockly Unterstützung - das nehmen einfach die meisten. Warum weiß ich zwar nicht 😄 - aber insofern hast Du mit Blockly viel mehr Leute, die Dich unterstützen können.

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

              @topsurfer sagte: Wie würde das ganze in blockly ausschauen?

              Bild_2021-12-08_212411.png

              Wert (unter "Trigger"):

              Blockly_DP_Props.JPG

              1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active last edited by

                @paul53 Ok hier zeigt sich der Meister - mehrere Schritte in einem. 🙂

                1 Reply Last reply Reply Quote 0
                • T
                  topsurfer last edited by

                  So,
                  erste Versuche in blockly ..
                  (ioBroker ist auf Deutsch, aber blokcly ist "english")

                  Soweit kam ich, aber Object-ID "JSON" fehlt komplett, also wohl der Teil, wo der JSON String in einzelne Werte "gesplittet" wird.
                  Muss da noch ein Adapter installiert werden?

                  blockly-01.jpg

                  mickym paul53 3 Replies Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @topsurfer last edited by

                    @topsurfer Bei JSON bzw default muss Dein Datenpunkt rein, der Dein JSON String im MQTT enthält. Also der zigbee Pfad oder das Topic was Du in der iobroker In Node im Node-Red geschrieben hast. Das ganze Objekt wird dann wohl vom JSON String automatisch umgewandelt indem Du diesen Baustein verwendest. Über Wert wird der JSON String in diesen Blocklybaustein geladen und quasi implizit in ein Objekt umgewandelt - das was ich meinte noch konvertieren zu müssen. Das muss man anscheinend nicht (so verstehe ich das Blockly) - aber genaueres wird sicher ein Blockly-Spezialist erklären können.

                    Über die Attribute greifst Du dann auf die Eigenschaften des Objektes zu. Das ist was Du mit payload.battery im NodeRed rausgezogen hast. Die ObjectID ist ein von Dir selbst erstellter Datenpunkt unter 0_userdata.0 in den Du diesen Wert schreibst.

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

                      @topsurfer sagte: Object-ID "JSON" fehlt komplett,

                      Da muss der Datenpunkt "mqtt.0.zigbee2mqtt.Contact_01", der JSON enthält, zugewiesen werden.

                      Den "update"-Blöcken müssen die eigenen Datenpunkte unter "0_userdata.0" zugewiesen werden. Erstelle einen Datenpunkt "0_userdata.0.Kontakt01.Kontakt" vom Typ "boolean" und einen weiteren "0_userdata.0.Kontakt01.Batterie" vom Typ "number".

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

                        @mickym sagte: implizit in ein Objekt umgewandelt

                        Ja, ist für die Funktion getAttr() so dokumentiert:

                        If the first attribute is string, the function will try to parse the string as JSON string.

                        1 Reply Last reply Reply Quote 1
                        • mickym
                          mickym Most Active @topsurfer last edited by mickym

                          @topsurfer Falls Du wirklich alle Datenpunkte eines JSON Strings in einzelne Datenpunkte schreiben willst, was ich eigentlich unsinnig finde und kannst Du auch im NodeRed meinen Flow verwenden - der wandelt JSON Strings automatisch in Datenpunkte um:
                          https://forum.iobroker.net/topic/43856/json-string-oder-java-object-in-iobroker-struktur/14

                          Unter Punkt 6 siehst Du wie ein JSON String in einzelne Datenpunkte in einem Baum erstellt werden. Allerdings würde ich es auch wenn es am Anfang schön aussieht auf Dauer nicht empfehlen, weil Du alle Daten hast und eigentlich nur für Visualisierung eigene Datenpunkte brauchst.

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            topsurfer @mickym last edited by topsurfer

                            Danke Paul (und Micky),
                            es geht voran 😉

                            "Datenpunkte", musste erst Googeln, was und wie,...;
                            aber diese habe ich angelegt (0_userdata/=/Kontakt_01_Batterie sowie: Kontakt_01_Status.
                            (würde diese aber später dann in einen Unterordner "Kontakte" anlegen damit es übersichtlicher bleibt)

                            Jetzt erscheint zumindest beim öffnen/schliessen des Kontakts eine Fehlermeldung (es wird also das richtige Objekt versucht zu verarbeiten 😉 )

                            Was ist denn jetzt noch falsch, das Prinzip denke ich verstanden zu haben:

                            Bei jeder Änderung des Objekts wird der JSON String nach contact und battery "durchsucht" und die Werte in die Datenpunkte Kontakt_01_Status/Batterie reingeschrieben.

                            Wollte mit dem "Debug" noch etwas mehr Infos rausbekommen, aber unsicher, wie und wo sich das Auswirkt oder wo man diese Info "test" sehen kann.

                            blockly-02.jpg

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

                              @topsurfer
                              Du hast vermutlich eine eigene Variable Wert erstellt? Die Variable findet man unter "Trigger" wie bereits oben gezeigt.

                              Zeige bitte die Objektstruktur der beiden Datenpunkte unter "0_userdata.0". Etwa so:

                              Bild_2021-12-09_175727.png

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

                                OK, "Trigger" hatte ich noch nicht,
                                habe jetzt Trigger => Object_ID => und dort "state value" genommen und mein "Wert" (das war standardmäßig dort) damit ersetzt.

                                Die Fehler sind zwar weg, "test" vom debug seh ich auch, aber die Werte sind wohl nicht auf die Variablen geschrieben, oder?

                                blockly-03.jpg


                                Hier die Datenpunkte (noch nicht im Ordner Kontakte, will diese Fehlerquelle ausschliessen)
                                dp-kontakte.jpg

                                Und/BTW: Wo kann ich Blockly auf Deutsch umstellen, ioBroker ist ja eigentlich deutsch bei mir ...

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

                                  @topsurfer sagte: aber die Werte sind wohl nicht auf die Variablen geschrieben, oder?

                                  Doch: Batterie: 100, Status: false.

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

                                    OK, stimmt, die Werte stehen da auch drin 😉

                                    Hatte was "kompkates" erwartet wie:
                                    Kontakt_01_Status=true
                                    blockly-04.jpg

                                    Was ist der Wert der Variablen nun? "True" oder "val:true; ack:true;c:script...." ?

                                    Und gerade geschaut, in Lovelace => Karte hinzufügen, kann ich ja "Entitäten" hinzufügen (Temperaturwert der Netatmo-Aussenstation z.B.), aber wie kann ich den so ermittelten Wert vom Kontakt-Status ("Offen" oder "Geschlossen") (der ja in einer Variablen steht als true/false) hier anzeigen / ausgeben lassen?

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

                                      @topsurfer sagte: Was ist der Wert der Variablen nun? "True" oder "val:true; ack:true;c:script...." ?

                                      "val:true" ist der Wert.

                                      @topsurfer sagte in Newbie Einzelnen Wert von Contact-Entity anzeigen:

                                      Lovelace

                                      Kenne ich nicht.

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

                                        Danke euch,
                                        jetzt kann ich weiter testen!

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        400
                                        Online

                                        32.0k
                                        Users

                                        80.4k
                                        Topics

                                        1.3m
                                        Posts

                                        4
                                        33
                                        1251
                                        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