Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly: auf Werte einer Liste zugreifen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    993

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Blockly: auf Werte einer Liste zugreifen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blockly
24 Beiträge 8 Kommentatoren 11.8k Aufrufe 9 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • HiltexH Hiltex

    Hallo zusammen,

    mein Mähroboter liefert mir verschiedene Statusmeldungen und einige, jedoch nicht alle, hätte ich gerne per Telegram aufs Handy.

    Die Idee ist, in einer Liste zu speichern, welche Meldungen ich nicht haben will. Alles andere wird gesendet.

    2a194929-267e-4feb-b319-b32fb37fcca5-grafik.png

    Das Problem ist jedoch, dass ich im Script zwar auf den Schleifenzähler der Listenwerte zugreifen kann, nicht jedoch auf den zugehörigen Inhalt des Listeneintrages. Weiß jemand, wie man da ran kommt?

    PS: ich weiß, dass das Script noch nicht ganz sauber ist. Es geht hier nur darum, das Problem zu verdeutlichen.

    dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von dslraser
    #14

    @Hiltex
    Ich habe keinen Gardena, aber beim Worx gibt es zwei Datenpunkte mit Listenwerten.

    Einmal den Status:

    worx status.png

    Und Error:

    worx-error.png

    Ich habe mir für diese beiden Datenpunkte noch zwei eigene zusätzliche Datenpunkte erstellt, da ich gern die Meldung in deutsch bekommen möchte. Ausserdem verwende ich die eigenen Datenpunkte zur Anzeige in iQontol.

    Screenshot_20190715-150138_Chrome.jpg

    Wenn hier Herstellerseitig/Adapterseitig ein neuer Eintag in die Liste kommt, müßte ich das also mitbekommen. (über das letzte sonst...) Bisher funktioniert es wie gewünscht.

    Mein Blockly dazu sieht so aus:

    Bildschirmfoto 2019-07-15 um 14.39.52.png

    Bildschirmfoto 2019-07-15 um 14.40.16.png

    Bildschirmfoto 2019-07-15 um 14.40.46.png

    50.000 Zeichen Limit, daher hier als Textdatei
    worx.txt

    Edit: heute morgen hatte ich mal (kommt selten vor) einen Error. Da habe ich den Mäher ausgeschaltet und wieder auf den Rasen gelegt und dann wieder gestartet.

    Bildschirmfoto 2019-07-15 um 14.51.48.png

    HiltexH R 2 Antworten Letzte Antwort
    0
    • dslraserD dslraser

      @Hiltex
      Ich habe keinen Gardena, aber beim Worx gibt es zwei Datenpunkte mit Listenwerten.

      Einmal den Status:

      worx status.png

      Und Error:

      worx-error.png

      Ich habe mir für diese beiden Datenpunkte noch zwei eigene zusätzliche Datenpunkte erstellt, da ich gern die Meldung in deutsch bekommen möchte. Ausserdem verwende ich die eigenen Datenpunkte zur Anzeige in iQontol.

      Screenshot_20190715-150138_Chrome.jpg

      Wenn hier Herstellerseitig/Adapterseitig ein neuer Eintag in die Liste kommt, müßte ich das also mitbekommen. (über das letzte sonst...) Bisher funktioniert es wie gewünscht.

      Mein Blockly dazu sieht so aus:

      Bildschirmfoto 2019-07-15 um 14.39.52.png

      Bildschirmfoto 2019-07-15 um 14.40.16.png

      Bildschirmfoto 2019-07-15 um 14.40.46.png

      50.000 Zeichen Limit, daher hier als Textdatei
      worx.txt

      Edit: heute morgen hatte ich mal (kommt selten vor) einen Error. Da habe ich den Mäher ausgeschaltet und wieder auf den Rasen gelegt und dann wieder gestartet.

      Bildschirmfoto 2019-07-15 um 14.51.48.png

      HiltexH Offline
      HiltexH Offline
      Hiltex
      schrieb am zuletzt editiert von
      #15

      @dslraser Nette Lösung aber das wäre mir viel zu viel Information. Ich habs lieber sparsam und lass mich nur bei Problemen informieren. Was bringt mir sonst mein smartes Zuhause, wenn es ständig meine Aufmerksamkeit benötigt?

      Folgende Lösung funktioniert jetzt wie gewünscht:
      4fb78060-1311-48e3-896f-5ab826b2328e-grafik.png

      Die Liste erweitere ich bei Bedarf, wenn eine Meldung ankommt, die ich vorher noch nicht berücksichtigt habe.

      Wenn ich mehr wissen will, dann nutze ich meine VIS. Da kann ich alles sehen, wenn ich da Lust drauf habe.
      0bbeacca-2181-46c0-801c-08b65ede0080-grafik.png

      Danke an alle für die Hilfe.

      Blog: indibit.de

      dslraserD M 2 Antworten Letzte Antwort
      1
      • HiltexH Hiltex

        @dslraser Nette Lösung aber das wäre mir viel zu viel Information. Ich habs lieber sparsam und lass mich nur bei Problemen informieren. Was bringt mir sonst mein smartes Zuhause, wenn es ständig meine Aufmerksamkeit benötigt?

        Folgende Lösung funktioniert jetzt wie gewünscht:
        4fb78060-1311-48e3-896f-5ab826b2328e-grafik.png

        Die Liste erweitere ich bei Bedarf, wenn eine Meldung ankommt, die ich vorher noch nicht berücksichtigt habe.

        Wenn ich mehr wissen will, dann nutze ich meine VIS. Da kann ich alles sehen, wenn ich da Lust drauf habe.
        0bbeacca-2181-46c0-801c-08b65ede0080-grafik.png

        Danke an alle für die Hilfe.

        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #16

        @Hiltex
        sollte auch nur ein Beispiel sein. Die Meldungen, die Du nicht willst, kannst Du ja auch weg lessen.

        HiltexH 1 Antwort Letzte Antwort
        0
        • dslraserD dslraser

          @Hiltex
          sollte auch nur ein Beispiel sein. Die Meldungen, die Du nicht willst, kannst Du ja auch weg lessen.

          HiltexH Offline
          HiltexH Offline
          Hiltex
          schrieb am zuletzt editiert von
          #17

          @dslraser ich wollte dich und deine Lösung auch nicht kritisieren, sondern nur zum Ausdruck bringen, dass das nicht das ist, was ich mir vorstelle. Sorry, wenn das falsch rüber gekommen ist.

          Blog: indibit.de

          dslraserD 1 Antwort Letzte Antwort
          1
          • HiltexH Hiltex

            @dslraser ich wollte dich und deine Lösung auch nicht kritisieren, sondern nur zum Ausdruck bringen, dass das nicht das ist, was ich mir vorstelle. Sorry, wenn das falsch rüber gekommen ist.

            dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #18

            @Hiltex
            quatsch, kein Problem

            1 Antwort Letzte Antwort
            0
            • HiltexH Hiltex

              @dslraser Nette Lösung aber das wäre mir viel zu viel Information. Ich habs lieber sparsam und lass mich nur bei Problemen informieren. Was bringt mir sonst mein smartes Zuhause, wenn es ständig meine Aufmerksamkeit benötigt?

              Folgende Lösung funktioniert jetzt wie gewünscht:
              4fb78060-1311-48e3-896f-5ab826b2328e-grafik.png

              Die Liste erweitere ich bei Bedarf, wenn eine Meldung ankommt, die ich vorher noch nicht berücksichtigt habe.

              Wenn ich mehr wissen will, dann nutze ich meine VIS. Da kann ich alles sehen, wenn ich da Lust drauf habe.
              0bbeacca-2181-46c0-801c-08b65ede0080-grafik.png

              Danke an alle für die Hilfe.

              M Offline
              M Offline
              muuulle
              schrieb am zuletzt editiert von
              #19

              @Hiltex
              Das sieht großartig aus. Könntest du mir die Scripte und den VIS Teil zur Verfügung stellen?

              Vielen Dank

              HiltexH 1 Antwort Letzte Antwort
              0
              • M muuulle

                @Hiltex
                Das sieht großartig aus. Könntest du mir die Scripte und den VIS Teil zur Verfügung stellen?

                Vielen Dank

                HiltexH Offline
                HiltexH Offline
                Hiltex
                schrieb am zuletzt editiert von
                #20

                @muuulle Da will ich mal nicht so sein ;)

                Der Blockly-Export:

                <xml xmlns="http://www.w3.org/1999/xhtml">
                  <variables>
                    <variable type="" id="A^Lj$G?P/~^?QyF]Z6(t">Liste</variable>
                    <variable type="" id="qLWFjsyZoVDS)!v=wv$2">message-text</variable>
                    <variable type="" id="%I}=-P3`d=35#Sx/=[+o">value</variable>
                  </variables>
                  <block type="comment" id="0rsl!cM_@)YcW^M:9Ad~" x="37" y="13">
                    <field name="COMMENT">Liste mit Meldungen, die NICHT gesendet werden</field>
                    <next>
                      <block type="variables_set" id="voF4G0J0Np.6N80Q],mj">
                        <field name="VAR" id="A^Lj$G?P/~^?QyF]Z6(t" variabletype="">Liste</field>
                        <value name="VALUE">
                          <block type="lists_create_with" id="uM3ml=Z10Ey-[]5HlI;q">
                            <mutation items="5"></mutation>
                            <value name="ADD0">
                              <block type="text" id="y2qXW!{@M-;R}NjLi)(5">
                                <field name="TEXT">ok_leaving</field>
                              </block>
                            </value>
                            <value name="ADD1">
                              <block type="text" id="16+HEUL,!U_YjGrXpiv`">
                                <field name="TEXT">ok_cutting</field>
                              </block>
                            </value>
                            <value name="ADD2">
                              <block type="text" id="a[B,_}H3Tc./m5mq@YF%">
                                <field name="TEXT">ok_searching</field>
                              </block>
                            </value>
                            <value name="ADD3">
                              <block type="text" id="Wqlq?8y`D@u*$LivFvt5">
                                <field name="TEXT">ok_charging</field>
                              </block>
                            </value>
                            <value name="ADD4">
                              <block type="text" id="O:kfq6]l[y^yEV?%7a5c">
                                <field name="TEXT">parked_timer</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <next>
                          <block type="on_ext" id="fgr0{0UaysX(pzL9kO~L">
                            <mutation items="1"></mutation>
                            <field name="CONDITION">ne</field>
                            <field name="ACK_CONDITION"></field>
                            <value name="OID0">
                              <shadow type="field_oid" id="H;vS9z#$3=|m97kIJfui">
                                <field name="oid">gardena.0.datapoints.c1dd3c29-f7e4-47be-93df-2067815e31b0.eca204ea-d62d-4c73-8076-17a28e8f70fc.abilities.2c579936-2445-3831-a3f0-3266dc017705.2863fa2f-a0d4-3e82-8bb3-5088c2d2be58</field>
                              </shadow>
                            </value>
                            <statement name="STATEMENT">
                              <block type="controls_if" id="A{hA@)q`=X7UPpmcM!e-">
                                <value name="IF0">
                                  <block type="logic_compare" id="L3fd^]`tVU4!Q0%c}D)q">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="lists_indexOf" id="5P_]#z$~wB^@jwh#qk55">
                                        <field name="END">FIRST</field>
                                        <value name="VALUE">
                                          <block type="variables_get" id="05%5*6#yD,v~A9u?2rpJ">
                                            <field name="VAR" id="A^Lj$G?P/~^?QyF]Z6(t" variabletype="">Liste</field>
                                          </block>
                                        </value>
                                        <value name="FIND">
                                          <block type="variables_get" id="ZfZ.gfD[VmjS-Y{$i^,l">
                                            <field name="VAR" id="%I}=-P3`d=35#Sx/=[+o" variabletype="">value</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="math_number" id="WEtX5VFr$g%hs9d;n#^Z">
                                        <field name="NUM">0</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="controls_if" id="4/M],9a?k.-@AK,Bhy)*">
                                    <mutation else="1"></mutation>
                                    <value name="IF0">
                                      <block type="logic_compare" id="|%^)L*Ev(nYM.,|vq`e$">
                                        <field name="OP">EQ</field>
                                        <value name="A">
                                          <block type="variables_get" id="],j`1g0*.S{+J#Dpe?@R">
                                            <field name="VAR" id="%I}=-P3`d=35#Sx/=[+o" variabletype="">value</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="text" id="!Xhf2}Fm6ry,N~;MfHik">
                                            <field name="TEXT">error</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="variables_set" id="KU2H(a!gnsdS*1g!#TI6">
                                        <field name="VAR" id="qLWFjsyZoVDS)!v=wv$2" variabletype="">message-text</field>
                                        <value name="VALUE">
                                          <block type="text_join" id="H(3u`N%S8=V9MlY/pRU!">
                                            <mutation items="5"></mutation>
                                            <value name="ADD0">
                                              <block type="text" id="0pz-12?Pjx9L^~+2%utv">
                                                <field name="TEXT">&lt;B&gt;Robi-Status:&lt;/B&gt;</field>
                                              </block>
                                            </value>
                                            <value name="ADD1">
                                              <block type="text_newline" id="U-nhX`7thOe_gy@bXez3">
                                                <field name="Type">\n</field>
                                              </block>
                                            </value>
                                            <value name="ADD2">
                                              <block type="variables_get" id="HiUK^Q^}EiGk)cAT=G%%">
                                                <field name="VAR" id="%I}=-P3`d=35#Sx/=[+o" variabletype="">value</field>
                                              </block>
                                            </value>
                                            <value name="ADD3">
                                              <block type="text_newline" id="p1+4wNSF6l]sjZMseOaO">
                                                <field name="Type">\n</field>
                                              </block>
                                            </value>
                                            <value name="ADD4">
                                              <block type="get_value" id=":O6+eQgA;2NTzr/Ow*4c">
                                                <field name="ATTR">val</field>
                                                <field name="OID">gardena.0.datapoints.c1dd3c29-f7e4-47be-93df-2067815e31b0.eca204ea-d62d-4c73-8076-17a28e8f70fc.abilities.2c579936-2445-3831-a3f0-3266dc017705.c81e86ee-16c6-3352-9ba1-28488718f64e</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                    <statement name="ELSE">
                                      <block type="variables_set" id="1J[J:2Xjb)j6`RyUPqy,">
                                        <field name="VAR" id="qLWFjsyZoVDS)!v=wv$2" variabletype="">message-text</field>
                                        <value name="VALUE">
                                          <block type="text_join" id="co*b6;a/T?,pp3}w2/xJ">
                                            <mutation items="3"></mutation>
                                            <value name="ADD0">
                                              <block type="text" id=",_gg?MBhxdKdtUGskN]{">
                                                <field name="TEXT">&lt;B&gt;Robi-Status:&lt;/B&gt;</field>
                                              </block>
                                            </value>
                                            <value name="ADD1">
                                              <block type="text_newline" id="UN!EmU]$y8:p}VsZM]+2">
                                                <field name="Type">\n</field>
                                              </block>
                                            </value>
                                            <value name="ADD2">
                                              <block type="variables_get" id="heEXEXYE27!Umy7yNlPx">
                                                <field name="VAR" id="%I}=-P3`d=35#Sx/=[+o" variabletype="">value</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                    <next>
                                      <block type="telegram" id="rWxr:B@M}XZ{:`mEBLmq">
                                        <field name="INSTANCE"></field>
                                        <field name="LOG"></field>
                                        <field name="SILENT">FALSE</field>
                                        <field name="PARSEMODE">HTML</field>
                                        <value name="MESSAGE">
                                          <shadow type="text" id="oO(Hh}{3KME6+k}i.yc1">
                                            <field name="TEXT">text</field>
                                          </shadow>
                                          <block type="variables_get" id="-S?wE;x+-*t~BJhi8+WW">
                                            <field name="VAR" id="qLWFjsyZoVDS)!v=wv$2" variabletype="">message-text</field>
                                          </block>
                                        </value>
                                      </block>
                                    </next>
                                  </block>
                                </statement>
                              </block>
                            </statement>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </xml>
                

                Und der Export aus VIS als Dateianhang, da zu lang für die Zeichenbegrenzung.
                vis_maehroboter.txt

                Sieht dann so aus:
                1563197012598-0bbeacca-2181-46c0-801c-08b65ede0080-grafik.png

                Blog: indibit.de

                1 Antwort Letzte Antwort
                0
                • dslraserD dslraser

                  @Hiltex
                  Ich habe keinen Gardena, aber beim Worx gibt es zwei Datenpunkte mit Listenwerten.

                  Einmal den Status:

                  worx status.png

                  Und Error:

                  worx-error.png

                  Ich habe mir für diese beiden Datenpunkte noch zwei eigene zusätzliche Datenpunkte erstellt, da ich gern die Meldung in deutsch bekommen möchte. Ausserdem verwende ich die eigenen Datenpunkte zur Anzeige in iQontol.

                  Screenshot_20190715-150138_Chrome.jpg

                  Wenn hier Herstellerseitig/Adapterseitig ein neuer Eintag in die Liste kommt, müßte ich das also mitbekommen. (über das letzte sonst...) Bisher funktioniert es wie gewünscht.

                  Mein Blockly dazu sieht so aus:

                  Bildschirmfoto 2019-07-15 um 14.39.52.png

                  Bildschirmfoto 2019-07-15 um 14.40.16.png

                  Bildschirmfoto 2019-07-15 um 14.40.46.png

                  50.000 Zeichen Limit, daher hier als Textdatei
                  worx.txt

                  Edit: heute morgen hatte ich mal (kommt selten vor) einen Error. Da habe ich den Mäher ausgeschaltet und wieder auf den Rasen gelegt und dann wieder gestartet.

                  Bildschirmfoto 2019-07-15 um 14.51.48.png

                  R Offline
                  R Offline
                  Ravermichl
                  schrieb am zuletzt editiert von
                  #21

                  @dslraser

                  Klasse Script! Genau sowas hab ich auch für meinen Landroid gesucht. Hab es gerade übernommen und minimal abgeändert. Funktioniert einwandfrei. Wollte mich trotz des Alters des Posts noch dafür bedanken. Also: Danke 😁

                  Stephan SchleichS 1 Antwort Letzte Antwort
                  0
                  • R Ravermichl

                    @dslraser

                    Klasse Script! Genau sowas hab ich auch für meinen Landroid gesucht. Hab es gerade übernommen und minimal abgeändert. Funktioniert einwandfrei. Wollte mich trotz des Alters des Posts noch dafür bedanken. Also: Danke 😁

                    Stephan SchleichS Offline
                    Stephan SchleichS Offline
                    Stephan Schleich
                    schrieb am zuletzt editiert von Stephan Schleich
                    #22

                    Ich würde das Thema gerne nochmal aufgreifen, da bei mir die Liste auch nicht richtig abgearbeitet wird, es wird nur immer ein Wert abgearbeitet pro Trigger, jemand ne idee? (Letztes Jahr lief es noch einwandfrei)

                    3872b6a0-42f9-42a7-9444-3924adae743f-image.png

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • Stephan SchleichS Stephan Schleich

                      Ich würde das Thema gerne nochmal aufgreifen, da bei mir die Liste auch nicht richtig abgearbeitet wird, es wird nur immer ein Wert abgearbeitet pro Trigger, jemand ne idee? (Letztes Jahr lief es noch einwandfrei)

                      3872b6a0-42f9-42a7-9444-3924adae743f-image.png

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #23

                      @stephan-schleich sagte: es wird nur immer ein Wert abgearbeitet pro Trigger

                      Funktioniert die Schleife nicht?
                      Kann höchstens eine Vereinfachung anbieten:

                      Bild_2022-09-21_192729492.png

                      EDIT: Vielleicht hilft es, mit zeitlichem Abstand zu senden?

                      Bild_2022-09-21_233226952.png

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      Stephan SchleichS 1 Antwort Letzte Antwort
                      1
                      • paul53P paul53

                        @stephan-schleich sagte: es wird nur immer ein Wert abgearbeitet pro Trigger

                        Funktioniert die Schleife nicht?
                        Kann höchstens eine Vereinfachung anbieten:

                        Bild_2022-09-21_192729492.png

                        EDIT: Vielleicht hilft es, mit zeitlichem Abstand zu senden?

                        Bild_2022-09-21_233226952.png

                        Stephan SchleichS Offline
                        Stephan SchleichS Offline
                        Stephan Schleich
                        schrieb am zuletzt editiert von
                        #24

                        @paul53 Danke Paul, 1 Sekunde Pause direkt nach dem Trigger hat das Problem gelöst, sehr komisch und unverständlich für mich, aber läuft wieder :+1:

                        1 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        337

                        Online

                        32.6k

                        Benutzer

                        82.3k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe