Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Auslesen von Zeichenkette mit Blockly

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Auslesen von Zeichenkette mit Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • Codierknecht
      Codierknecht Developer Most Active @Dellishelly last edited by

      @dellishelly
      Das ist doch lediglich ein Objekt. Einfach die Eigenschaft lesen.

      1b96d58e-d5fa-48e0-b4de-61956f540c90-image.png

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

        @dellishelly Das sind JSON Objekte - so wie wir sie vorher erstellt haben. Falls Du aus dem Objekt einzelne Werte brauchst, dann empfehle ich Dir einen Alias zu erstellen. Dann hast Du Werte zum Beispiel für ein VIS immer zur Verfügung:

        Hier eine Anleitung für die Lösung mit einem Alias:
        https://forum.iobroker.net/post/980575

        Andererseits kannst Du auch direkt mit Blockly auf die Werte zugreifen was Dir lieber ist.

        Wenn Du also überprüfen möchtest ob der state close ist:

        62106a34-8630-4890-9b4b-d39191087c39-image.png

        <xml xmlns="https://developers.google.com/blockly/xml">
         <block type="on_ext" id="oR-Ri-KpM`_]/V/@aioc" x="-1037" y="38">
           <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
           <field name="CONDITION">ne</field>
           <field name="ACK_CONDITION"></field>
           <value name="OID0">
             <shadow type="field_oid" id="s4=pdKjJwy34aI^n8E_i">
               <field name="oid">0_userdata.0.Test.JSON</field>
             </shadow>
           </value>
           <statement name="STATEMENT">
             <block type="controls_if" id="Y-[G`jD5P.P]G?M|x=YQ">
               <value name="IF0">
                 <block type="logic_compare" id="]ego6bV{IFO|V)nlk26G">
                   <field name="OP">EQ</field>
                   <value name="A">
                     <block type="get_attr" id="4X;W1|Y9NlE)5P)I4@Tz">
                       <value name="PATH">
                         <shadow type="text" id="zJftLRJ-@VtX#4wES,`o">
                           <field name="TEXT">state</field>
                         </shadow>
                       </value>
                       <value name="OBJECT">
                         <block type="on_source" id="l%cyXC:2XjC?N%HbV]v=">
                           <field name="ATTR">state.val</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <value name="B">
                     <block type="text" id="%*N}6)V#8YLscT;*Z%FS">
                       <field name="TEXT">close</field>
                     </block>
                   </value>
                 </block>
               </value>
               <statement name="DO0">
                 <block type="debug" id="xK(%ROLZ0v7nXu:KXd^)">
                   <field name="Severity">log</field>
                   <value name="TEXT">
                     <shadow type="text" id="avVWnz8PWq/X]RReZySm">
                       <field name="TEXT">state ist close</field>
                     </shadow>
                   </value>
                 </block>
               </statement>
             </block>
           </statement>
         </block>
        </xml>
        

        Steuern kannst Du glaub selbst.

        Für die MAC- Adresse ist das Attribut dann halt addr.

        WICHTIG: Man sieht das man einzelne Werte in Datenpunkten eigentlich nicht braucht, da der Zugriff auf die Eigenschaften eines JSON Objektes super einfach ist. Lediglich wenn man in VIS direkt einen Wert anzeigen will, macht es meines Erachtens Sinn.

        D 1 Reply Last reply Reply Quote 0
        • D
          Dellishelly @Homoran last edited by

          @homoran

          nein das ist der Inhalt des Datenpunktes

          Codierknecht Homoran 2 Replies Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @Dellishelly last edited by Codierknecht

            @dellishelly
            Entweder mit Blockly wie gezeigt, oder - wie @mickym vorschlägt - einen Alias anlegen der Dir den gewünschten Wert aus dem Objekt holt.

            1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Dellishelly last edited by

              @dellishelly sagte in Auslesen von Zeichenkette mit Blockly:

              @homoran

              nein das ist der Inhalt des Datenpunktes

              aber dich nicht vollständig!
              und der Datenpunkt enthält die VAR?

              kommt dann aufs selbe raus

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

                @mickym

                Super Attribut von Objekt war der Schlüssel der mir fehlte !!

                Bau mir das mal eben zusammen und gucke obs klappt

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @Dellishelly last edited by

                  @dellishelly

                  hier bereits ausgefüllt
                  @homoran sagte in Auslesen von Zeichenkette mit Blockly:

                  ansonsten ist der Block "Attribut addr von VAR" dein Freund

                  1 Reply Last reply Reply Quote 0
                  • D
                    Dellishelly last edited by

                    Hi zusammen

                    @mickym

                    Ich hab keine Ahnung mehr woran es liegt.
                    Ich denke ich hab das Blockly soweit richtig, aber das Skript checkt schlichtweg keine Aktualisierung oder Änderung der JSON.

                    Hat hier wer noch ne Idee woran das liegen könnte ? Nehme ich den falschen Block ?

                    Im Log passiert rein garnichts. weder im JS noch im Admin

                    9616e3d8-45c7-4bc1-b1f1-179f02d5b398-image.png
                    861679f4-fa7e-498d-be70-bed459a0e725-image.png

                    mickym Homoran Ralla66 paul53 4 Replies Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @Dellishelly last edited by mickym

                      @dellishelly Ich habe keine Ahnung - wenn das Script läuft, sollte es in meinen Augen funktionieren. Da ich ja bekannterweise kein Blockly-Speziallist bin und selbst ja eine andere Logikmaschine verwenden, sollten die Blockly-Profis da drauf schauen. Aus meiner Sicht sollte es funktionieren.
                      @paul53 oder @Homoran

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @Dellishelly last edited by

                        @dellishelly sagte in Auslesen von Zeichenkette mit Blockly:

                        keine Aktualisierung oder Änderung der JSON.

                        welche JSON?
                        Wo liegt die?

                        im Trigger dürfen nur IDs sein

                        1 Reply Last reply Reply Quote 0
                        • Ralla66
                          Ralla66 Most Active @Dellishelly last edited by

                          @dellishelly sagte in Auslesen von Zeichenkette mit Blockly:

                          keine Aktualisierung oder Änderung der JSON

                          wer Triggert denn das Json send im Shelly fürs aktualisieren ?
                          Probiers mit nem Cron alle x Sekunden, wenn das nicht geht hole das Json
                          per Request ( Get ) ab.

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

                            @ralla66 na das ist wohl nicht dein Ernst. Egal um was für einen Datenpunkt es sich handelt, sobald in diesen geschrieben wird, muss das triggern. Und da JSONS in den Datenpunkten nur Strings sind, muss das triggern, genauso als ob ich 5 mal „Hallo“ in einen Datenpunkt schreibe.

                            Vielleicht machen die States unter System noch eine Ausnahme- alles andere muss triggern, sobald es beschrieben wird. Und ein Pollen bzw. zyklisches Abfragen stellt das ganze System in Frage. Dann kann ich gleich in eine dumme Datei schreiben

                            Homoran 1 Reply Last reply Reply Quote 1
                            • Homoran
                              Homoran Global Moderator Administrators @mickym last edited by

                              @mickym sagte in Auslesen von Zeichenkette mit Blockly:

                              Egal um was für einen Datenpunkt es sich handelt, sobald in diesen geschrieben wird, muss das triggern

                              wenn es denn überhaupt ein DP ist!
                              Danach habe ich ja gefragt

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

                                @homoran na es wurde doch sogar ein Screenshot erstellt. Ist ein State unter 0_userdata.0

                                Siehe: https://forum.iobroker.net/post/1051127

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @mickym last edited by

                                  @mickym sagte in Auslesen von Zeichenkette mit Blockly:

                                  sogar ein Screenshot

                                  Schwarz auf schwarz statt als Text in code-tags 😡

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

                                    @homoran das hilft jetzt aber nicht bei dem Problem und ich kann das lesen. Das ist nicht schwarz auf schwarz. Na egal ich kann nicht helfen, aus meiner Sicht sollte das triggern, wenn die richtige Objekt-Id ausgewählt wurde und es nicht noch ein Test-State gibt.

                                    @Dellishelly Was du noch tun kannst ist den JavaScript Code des Blocklies in Code-Tags hier einstellen

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

                                      @dellishelly sagte: Skript checkt schlichtweg keine Aktualisierung

                                      Das Skript ist aktiv und hoffentlich nicht unter der Gruppe "global" erstellt?

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

                                        @mickym

                                        per Request, so hol ich mir ja das Json vom Tasmota ESP.
                                        Gerade im DPM8624 Projekt erprobt.
                                        Entweder das Json wird vom Teilnehmer zyklisch gesendet zB. per Telemetrie oder halt angefordert per get.

                                        1 Reply Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @mickym last edited by

                                          @mickym sagte in Auslesen von Zeichenkette mit Blockly:

                                          ich kann das lesen.

                                          ich am Handy tatsächlich auch, aber nach sehr vielen Erlebnissen wie
                                          Screenshot_20230926-202817_Firefox.jpg

                                          klicke ich schwarze Briefmarken gar nicht mehr an

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          902
                                          Online

                                          32.0k
                                          Users

                                          80.4k
                                          Topics

                                          1.3m
                                          Posts

                                          6
                                          21
                                          969
                                          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