Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. [done] Trigger auf einen JSON-Parameter bei Veränderung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [done] Trigger auf einen JSON-Parameter bei Veränderung

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tklein last edited by tklein

      Hallo,

      wie kann ich auf eine Änderung von einem Parameter innerhalb eines JSON mit BLocky auf Änderungen reagieren?

      BIsher habe ich das so ohne den gewünschten Erfolg:

      2d70c2ae-212e-4b84-b296-29d0a1a5f6b2-grafik.png

      Das habe ich im Log:

      18:05:11.762	info	javascript.0 (1281) script.js.common.Draussen.Wellis_Whirlpool.status_licht_update_mqtt: getState(id=OFF, timerId=undefined) => not found
      18:05:11.767	warn	javascript.0 (1281) at Object.<anonymous> (script.js.common.Draussen.Wellis_Whirlpool.status_licht_update_mqtt:9:7)
      18:05:11.768	info	javascript.0 (1281) script.js.common.Draussen.Wellis_Whirlpool.status_licht_update_mqtt: getState(id=ON, timerId=undefined) => not found
      18:05:11.769	warn	javascript.0 (1281) at Object.<anonymous> (script.js.common.Draussen.Wellis_Whirlpool.status_licht_update_mqtt:9:48)
      

      Dier erwartete Pushbenachrichtigung erfolgte nicht.

      paul53 haus-automatisierung 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @tklein last edited by paul53

        @tklein
        Vorschlag:

        Bild_2023-01-24_182428648.png

        Im Log steht "id=OFF, timerId=undefined". Muss dann nicht das Attribut "Lights.id" verwendet werden?

        T 1 Reply Last reply Reply Quote 0
        • T
          tklein @paul53 last edited by

          @paul53 danke, aber wie lange bleibt der wert im der variable "lastLight" bestehen? nur beim durchlaufen des triggerblocks? muss der wert dann nicht seperat in einen dp abgespeichert werden?

          Codierknecht 1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @tklein last edited by

            @tklein sagte in Trigger auf einen JSON-Parameter bei Veränderung:

            wie kann ich auf eine Änderung von einem Parameter innerhalb eines JSON mit BLocky auf Änderungen reagieren?

            Ich würde mir einen Alias erstellen, welcher LIGHTS aus dem JSON extrahiert und dann normal auf den Alias-Datenpunkt mit "wurde geändert" triggern.

            T 1 Reply Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @tklein last edited by

              @tklein sagte in Trigger auf einen JSON-Parameter bei Veränderung:

              aber wie lange bleibt der wert im der variable "lastLight" bestehen?

              Die Variablen leben bis zum Neustart des Script.

              Ich würde den Vorschlag von @haus-automatisierung bevorzugen.

              1 Reply Last reply Reply Quote 0
              • T
                tklein @haus-automatisierung last edited by

                @haus-automatisierung ja gute idee. geht ja auch in die richtung eines separaten. dp 🙂

                jetzt muss ich noch rausfinden, ob ein alias selbst den entsprechenden wert schreiben kann, oder ob ich das mit einem separaten blockly mache. aliase habe ich bisher eher rudimentär genutzt.

                haus-automatisierung 1 Reply Last reply Reply Quote 0
                • haus-automatisierung
                  haus-automatisierung Developer Most Active @tklein last edited by haus-automatisierung

                  @tklein sagte in Trigger auf einen JSON-Parameter bei Veränderung:

                  jetzt muss ich noch rausfinden, ob ein alias selbst den entsprechenden wert schreiben kann

                  Schreiben? Ich dachte hier geht es erstmal um lesen. Sonst musst Du deine Anforderung nochmal genauer definieren. In deinem Beispiel reicht ein Alias vom Typ string mit einer Lese-Funktion:

                  JSON.parse(val).LIGHTS

                  Ein paar Beispiele habe ich hier zusammengeschrieben: https://iobroker.readthedocs.io/de/latest/basics/aliases.html

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    tklein @haus-automatisierung last edited by

                    @haus-automatisierung Dann kann ich ein Alias erstellen und auf den Ursprungsdatenpunkt (JSON) verweisen. Innerhalb des Alias lese/speichere ich nur den wert von Lights ab.

                    Mein erster Gedankengang war es, bei jeder Änderung des LIGHT-Parameter in Ursprungs-JSON ein TRUE/FALSE in meinen Aliasdevice zu schreiben.

                    Thx für den Link!

                    haus-automatisierung 1 Reply Last reply Reply Quote 0
                    • haus-automatisierung
                      haus-automatisierung Developer Most Active @tklein last edited by

                      @tklein sagte in Trigger auf einen JSON-Parameter bei Veränderung:

                      bei jeder Änderung des LIGHT-Parameter in Ursprungs-JSON ein TRUE/FALSE in meinen Aliasdevice zu schreiben.

                      Wenn Du das möchtest, dann mach halt JSON.parse(val).LIGHTS == 'ON' und leg den Alias vom Typ boolean an.

                      T 2 Replies Last reply Reply Quote 0
                      • T
                        tklein @haus-automatisierung last edited by

                        @haus-automatisierung said in Trigger auf einen JSON-Parameter bei Veränderung:

                        JSON.parse(val).LIGHTS == 'ON'

                        klappt super. Besten Dank für den Hinweis.

                        Dann kann ich auch so ähnlich mit meinen FHEM Devices vorgehen, deren Werte ich meistens per FHEM Adapter mit on/off reinbekomme.

                        1 Reply Last reply Reply Quote 0
                        • T
                          tklein @haus-automatisierung last edited by

                          @haus-automatisierung wie kann ich ein attribut mit einem " " (blank) abfragen?

                          JSON.parse(val).Pump 1 == 'HIGH' klappt leider nicht. Im JSON steht halt als Attribut "Pump 1"
                          "" der ' haben nicht funktiniert.

                          haus-automatisierung 1 Reply Last reply Reply Quote 0
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @tklein last edited by haus-automatisierung

                            @tklein sagte in [done] Trigger auf einen JSON-Parameter bei Veränderung:

                            wie kann ich ein attribut mit einem " " (blank) abfragen?

                            Das hat alles nichts mit ioBroker oder Alias zu tun. Das ist Standard JavaScript 🙂

                            JSON.parse(val)['Pump 1'] == 'HIGH'

                            Was zum Lesen: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects?retiredLocale=de#accessing_properties

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              tklein @haus-automatisierung last edited by

                              @haus-automatisierung said in [done] Trigger auf einen JSON-Parameter bei Veränderung:

                              Das hat alles nichts mit ioBroker oder Alias zu tun. Das ist Standard JavaScript

                              Da habe ich bisher immer einen weiten Bogen drum gemacht 🙂
                              Muss mich wohl auch mal damit auseinandersetzen...

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              574
                              Online

                              31.7k
                              Users

                              79.9k
                              Topics

                              1.3m
                              Posts

                              4
                              13
                              499
                              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