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.

    thewhoboxT Offline
    thewhoboxT Offline
    thewhobox
    schrieb am zuletzt editiert von
    #6

    @Hiltex Wie liv-in-sky schon geschrieben hat geht es ohne Schleife besser.
    Die Liste kannst du vor dem Trigger erstellen und fragst danach ab, ob der Wert in der Liste nicht enthalten ist.
    b63ed5f8-9673-4ae0-87cd-ffc48e30a4b3-grafik.png

    Meine Adapter: emby | discovery
    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    paul53P 1 Antwort Letzte Antwort
    0
    • 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.

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

      @Hiltex
      Sorry, wenn ich mir die Übersetzung nach Javascript anschaue, dann ist doch der Vergleich mit i richtig (i enthält den Inhalt, nicht den Index).

      var i;
      
      
      var i_list = [null, null, null];
      for (var i_index in i_list) {
        i = i_list[i_index];
        if (getState("ID auswählen").val != i) {
        }
      }
      

      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

      1 Antwort Letzte Antwort
      0
      • HiltexH Hiltex

        Ach super, das hatte ich garnicht gesehen.

        Also so?
        41a52890-d1bd-462e-8f97-1ae1174ea014-grafik.png

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #8

        @Hiltex

        ein anderer lösungsvorschlag:

        teststring ist der status-datenpunbkt bei dir:

        Image 4.png

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • thewhoboxT thewhobox

          @Hiltex Wie liv-in-sky schon geschrieben hat geht es ohne Schleife besser.
          Die Liste kannst du vor dem Trigger erstellen und fragst danach ab, ob der Wert in der Liste nicht enthalten ist.
          b63ed5f8-9673-4ae0-87cd-ffc48e30a4b3-grafik.png

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

          @thewhobox sagte:

          Die Liste kannst du vor dem Trigger erstellen und fragst danach ab, ob der Wert in der Liste nicht enthalten ist.

          Diese Vorgehensweise würde ich auch bevorzugen, denn die Liste enthält Konstanten.

          Anmerkung: value ist eine vordefinierte lokale Variable, die den Wert des Triggerdatenpunktes enthält. Die Variable muss exakt so erstellt werden.

          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

          1 Antwort Letzte Antwort
          0
          • HiltexH Offline
            HiltexH Offline
            Hiltex
            schrieb am zuletzt editiert von
            #10

            Oh wow, so viele Antworten. Danke für eure Lösungsvorschläge.

            Vielleicht nochmal ein wenig ausführlicher, warum ich nicht einfach auf error triggere (was hier eigentlich im Wesentlichen das Ziel ist):
            Ich möchte gerne Wissen, wenn etwas mit dem Mähroboter (Gardena) nicht stimmt und ich eingreifen muss. Das Problem ist jedoch, dass ich grundsätzlich an das Schlechte in der Produktentwicklung von Firmen glaube. Wenn bei einem Firmware-Update die Meldetexte geändert werden, bekomme ich das wohlmöglich nicht mit und entsprechend die Meldungen nicht mehr. Außerdem habe ich mir nicht die Mühe gemacht überhaupt mal zu recherchieren, welche Texte denn theoretisch kommen könnten. Also lasse ich mir im Prinzip alle zusenden, außer denen, die ich in die Liste eintrage. Das sind dann die, die für mich unbedeutend sind.
            Der Vorteil dieser Variante ist, dass nun Gardena die Texte ändern kann, wie sie will. Solange der Datenpunkt noch beschrieben wird, bekomme ich die Meldungen und müsste dann einfach nur entsprechend die Liste anpassen.

            Ich antworte mal in der Reihenfolge eurer antworten:

            @liv-in-sky Der erste Block nach dem Trigger iteriert mit der Variablen i über die Liste, die dort quasi live erzeugt wird. Da ich die Liste nirgendwo außerhalb verwende, braucht sie auch keinen Namen.

            @thewhobox Dein Script verstehe ich nicht. Liste erzeugen ist klar. Trigger ist der entsprechende Gardena-Datenpunkt. Falls 0 (was ist 0?) in der Liste suche erstes Auftreten von value (Inhalt vom Gardena-DP)

            @paul53 Das hatte ich ganz zum Anfang ausprobiert. Funktioniert hatte das jedoch nicht, allerdings komme ich zu dem gleichen Schluss wie du. Das schaue ich mir nochmal an.

            @liv-in-sky Der Vorschlag trifft nicht das eigentliche Ziel, denn hier wird ja nur nach error gesucht (siehe Erläuterung oben). Auch ist mir nicht ganz klar, wie in diesem Beispiel die Liste mit den einzelnen Werten entstehen soll, die ich nicht zugesandt haben will. Und wofür ist die Variable statusAlsListe gut? Ich steh hier irgendwie auf dem Schlauch.

            @paul53 Mir gefällt das auch. Nur die 0 verstehe ich nicht.

            Blog: indibit.de

            paul53P 1 Antwort Letzte Antwort
            0
            • HiltexH Hiltex

              Oh wow, so viele Antworten. Danke für eure Lösungsvorschläge.

              Vielleicht nochmal ein wenig ausführlicher, warum ich nicht einfach auf error triggere (was hier eigentlich im Wesentlichen das Ziel ist):
              Ich möchte gerne Wissen, wenn etwas mit dem Mähroboter (Gardena) nicht stimmt und ich eingreifen muss. Das Problem ist jedoch, dass ich grundsätzlich an das Schlechte in der Produktentwicklung von Firmen glaube. Wenn bei einem Firmware-Update die Meldetexte geändert werden, bekomme ich das wohlmöglich nicht mit und entsprechend die Meldungen nicht mehr. Außerdem habe ich mir nicht die Mühe gemacht überhaupt mal zu recherchieren, welche Texte denn theoretisch kommen könnten. Also lasse ich mir im Prinzip alle zusenden, außer denen, die ich in die Liste eintrage. Das sind dann die, die für mich unbedeutend sind.
              Der Vorteil dieser Variante ist, dass nun Gardena die Texte ändern kann, wie sie will. Solange der Datenpunkt noch beschrieben wird, bekomme ich die Meldungen und müsste dann einfach nur entsprechend die Liste anpassen.

              Ich antworte mal in der Reihenfolge eurer antworten:

              @liv-in-sky Der erste Block nach dem Trigger iteriert mit der Variablen i über die Liste, die dort quasi live erzeugt wird. Da ich die Liste nirgendwo außerhalb verwende, braucht sie auch keinen Namen.

              @thewhobox Dein Script verstehe ich nicht. Liste erzeugen ist klar. Trigger ist der entsprechende Gardena-Datenpunkt. Falls 0 (was ist 0?) in der Liste suche erstes Auftreten von value (Inhalt vom Gardena-DP)

              @paul53 Das hatte ich ganz zum Anfang ausprobiert. Funktioniert hatte das jedoch nicht, allerdings komme ich zu dem gleichen Schluss wie du. Das schaue ich mir nochmal an.

              @liv-in-sky Der Vorschlag trifft nicht das eigentliche Ziel, denn hier wird ja nur nach error gesucht (siehe Erläuterung oben). Auch ist mir nicht ganz klar, wie in diesem Beispiel die Liste mit den einzelnen Werten entstehen soll, die ich nicht zugesandt haben will. Und wofür ist die Variable statusAlsListe gut? Ich steh hier irgendwie auf dem Schlauch.

              @paul53 Mir gefällt das auch. Nur die 0 verstehe ich nicht.

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

              @Hiltex sagte:

              Nur die 0 verstehe ich nicht.

              Diese Funktion gibt den Index zurück, an dem der Wert gefunden wurde. Ist der Wert nicht in der Liste, wird 0 zurück gegeben.

              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

              1 Antwort Letzte Antwort
              0
              • HiltexH Offline
                HiltexH Offline
                Hiltex
                schrieb am zuletzt editiert von
                #12

                Danke. Das probiere ich aus.

                Blog: indibit.de

                liv-in-skyL 1 Antwort Letzte Antwort
                0
                • HiltexH Hiltex

                  Danke. Das probiere ich aus.

                  liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  schrieb am zuletzt editiert von
                  #13

                  @Hiltex

                  der punkt statusAlsListe erzeugt eine liste aus dem datenpunkt status - somit könnte man - wenn man die meldungen kennt - die liste einfach nach einträgen mit if-abfragen durchsuchen und herausfiltern was man braucht - und danach entscheiden was damit passieren soll (sozusagen könnte es als eine art trigger des rasenmähers verstanden werden) - ich nutze das z.b bei der abfrage vom summary-datenpunkt des alexa-adapters

                  natürlich abhängig, wie die status-nachrichten des mähers aufgebaut sind

                  war auch nur eine idee - so wie es aussieht, hast du ja eine lösung gefunden- mittlerweile habe ich das mit deinem ersten befehl auch gecheckt - sorry - da war ich wohl noch nicht ganz wach :-(

                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                  1 Antwort Letzte Antwort
                  0
                  • 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

                                        420

                                        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