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.
    • 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

                                        871
                                        Online

                                        32.0k
                                        Users

                                        80.4k
                                        Topics

                                        1.3m
                                        Posts

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