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.
    • Homoran
      Homoran Global Moderator Administrators @Dellishelly last edited by Homoran

      @dellishelly sagte in Auslesen von Zeichenkette mit Blockly:

      Wie "zerlege ich nun einzelne Werte aus der VAR mit Blockly ?

      soll das der Skript Ausschnitt sein?
      der ist doch nicht vollständig, oder ?

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

      D 1 Reply Last reply Reply Quote 0
      • 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

                                            904
                                            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