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. ioBroker Allgemein
  4. Blockly Prüfung auf "null"?

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    509

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Blockly Prüfung auf "null"?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
17 Beiträge 6 Kommentatoren 2.0k Aufrufe 4 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.
  • F Offline
    F Offline
    flitzpiepe
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich bin gerade auf Fehlersuche in einem Script und es scheint so, dass ich den null-Check falsch verwende, aber ich blicke gerade nicht, was ich falsch mache:

    Ich habe einen Datenpunkt mit null-Wert:
    e06176d9-3415-460f-ae61-75bedc430eef-image.png

    In einem Blockly möchte ich auf null überprüfen:

    5d624a4a-05b4-4a36-8452-a2f541c16abc-image.png

    Bei der Ausführung des Programms greift aber die Bedingung für Prüfung ungleich null wie im Log zu sehen ist:

    569f3c40-86a9-4332-9889-020df2176a5f-image.png

    Wo stehe ich hier auf dem Schlauch?

    Danke & Grüße...

    paul53P 1 Antwort Letzte Antwort
    0
    • F flitzpiepe

      Hallo,

      ich bin gerade auf Fehlersuche in einem Script und es scheint so, dass ich den null-Check falsch verwende, aber ich blicke gerade nicht, was ich falsch mache:

      Ich habe einen Datenpunkt mit null-Wert:
      e06176d9-3415-460f-ae61-75bedc430eef-image.png

      In einem Blockly möchte ich auf null überprüfen:

      5d624a4a-05b4-4a36-8452-a2f541c16abc-image.png

      Bei der Ausführung des Programms greift aber die Bedingung für Prüfung ungleich null wie im Log zu sehen ist:

      569f3c40-86a9-4332-9889-020df2176a5f-image.png

      Wo stehe ich hier auf dem Schlauch?

      Danke & Grüße...

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

      @flitzpiepe
      Lass den Vergleich weg und prüfe "falls Wert vom Objekt ...".
      Es wird auch (null) im Tab "Objekte" angezeigt, wenn kein Zustand zum Datenpunkt existiert. Führe mal die Maus über den Wert.

      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
      • F Offline
        F Offline
        flitzpiepe
        schrieb am zuletzt editiert von
        #3

        @paul53 said in Blockly Prüfung auf "null"?:

        @flitzpiepe
        Lass den Vergleich weg und prüfe "falls Wert vom Objekt ...".
        Es wird auch (null) im Tab "Objekte" angezeigt, wenn kein Zustand zum Datenpunkt existiert. Führe mal die Maus über den Wert.

        Hi.. danke für die Antwort, aber ich blicke es noch nicht: Der Vergleich soll weggelassen werden und stattdessen soll "falls Wert vom Objekt ..." genutzt werden? Wie sieht das in Blockly aus?

        Grüße..

        paul53P 1 Antwort Letzte Antwort
        0
        • F flitzpiepe

          @paul53 said in Blockly Prüfung auf "null"?:

          @flitzpiepe
          Lass den Vergleich weg und prüfe "falls Wert vom Objekt ...".
          Es wird auch (null) im Tab "Objekte" angezeigt, wenn kein Zustand zum Datenpunkt existiert. Führe mal die Maus über den Wert.

          Hi.. danke für die Antwort, aber ich blicke es noch nicht: Der Vergleich soll weggelassen werden und stattdessen soll "falls Wert vom Objekt ..." genutzt werden? Wie sieht das in Blockly aus?

          Grüße..

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

          @flitzpiepe sagte: Wie sieht das in Blockly aus?

          Bild_2021-10-18_000342.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

          F 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @flitzpiepe sagte: Wie sieht das in Blockly aus?

            Bild_2021-10-18_000342.png

            F Offline
            F Offline
            flitzpiepe
            schrieb am zuletzt editiert von
            #5

            @paul53 said in Blockly Prüfung auf "null"?:

            @flitzpiepe sagte: Wie sieht das in Blockly aus?

            Bild_2021-10-18_000342.png

            Hi,
            auch wenn ich wahrscheinlich den Wald vor lauter Bäumen nicht sehe:

            b217a54f-5b11-415e-9a95-07ef5b781163-image.png

            Liefert bei mir immer true, also egal ob null, oder ein Wert vorhanden ist:

            null:
            d95a26ac-753b-4349-a5f1-40c06e0a8a00-image.png

            abctest:
            4c9be3f4-1665-48c3-8b1b-a5dcc6cfa1e0-image.png

            War das so gemeint :confused: ?

            paul53P 1 Antwort Letzte Antwort
            0
            • F flitzpiepe

              @paul53 said in Blockly Prüfung auf "null"?:

              @flitzpiepe sagte: Wie sieht das in Blockly aus?

              Bild_2021-10-18_000342.png

              Hi,
              auch wenn ich wahrscheinlich den Wald vor lauter Bäumen nicht sehe:

              b217a54f-5b11-415e-9a95-07ef5b781163-image.png

              Liefert bei mir immer true, also egal ob null, oder ein Wert vorhanden ist:

              null:
              d95a26ac-753b-4349-a5f1-40c06e0a8a00-image.png

              abctest:
              4c9be3f4-1665-48c3-8b1b-a5dcc6cfa1e0-image.png

              War das so gemeint :confused: ?

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

              @flitzpiepe sagte: null:

              "null" als String ergibt wahr bei er impliziten Typwandlung.

              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
              • F Offline
                F Offline
                flitzpiepe
                schrieb am zuletzt editiert von
                #7

                @paul53 said in Blockly Prüfung auf "null"?:

                @flitzpiepe sagte: null:

                "null" als String ergibt war bei er impliziten Typwandlung.

                ok, es scheint, dass da bei mir irgendwo jemand auf der Leitung steht, da ich mir auch nach mehrmaligem Lesen der Info nicht erschließen kann, was gemeint sein könnte und wie ich letztendlich einen funktionierenden null check erreiche.
                Hier ging es auch um dieses Thema und die Abfrage war m.E. so formuliert wie bei mir.

                Habe es jetzt anders für mich gelöst und prüfe, ob die Länge des Strings > 5 ist. true: Wert vorhanden bei false: kein Wert vorhanden.

                AsgothianA 1 Antwort Letzte Antwort
                0
                • F flitzpiepe

                  @paul53 said in Blockly Prüfung auf "null"?:

                  @flitzpiepe sagte: null:

                  "null" als String ergibt war bei er impliziten Typwandlung.

                  ok, es scheint, dass da bei mir irgendwo jemand auf der Leitung steht, da ich mir auch nach mehrmaligem Lesen der Info nicht erschließen kann, was gemeint sein könnte und wie ich letztendlich einen funktionierenden null check erreiche.
                  Hier ging es auch um dieses Thema und die Abfrage war m.E. so formuliert wie bei mir.

                  Habe es jetzt anders für mich gelöst und prüfe, ob die Länge des Strings > 5 ist. true: Wert vorhanden bei false: kein Wert vorhanden.

                  AsgothianA Offline
                  AsgothianA Offline
                  Asgothian
                  Developer
                  schrieb am zuletzt editiert von
                  #8

                  @flitzpiepe sagte in Blockly Prüfung auf "null"?:

                  @paul53 said in Blockly Prüfung auf "null"?:

                  @flitzpiepe sagte: null:

                  "null" als String ergibt war bei er impliziten Typwandlung.

                  ok, es scheint, dass da bei mir irgendwo jemand auf der Leitung steht, da ich mir auch nach mehrmaligem Lesen der Info nicht erschließen kann, was gemeint sein könnte und wie ich letztendlich einen funktionierenden null check erreiche.
                  Hier ging es auch um dieses Thema und die Abfrage war m.E. so formuliert wie bei mir.

                  Habe es jetzt anders für mich gelöst und prüfe, ob die Länge des Strings > 5 ist. true: Wert vorhanden bei false: kein Wert vorhanden.

                  Ich versuch mal dich von dem Schlauch zu holen:

                  Wenn du im ioBroker "null" stehen siehst, dann kann das auf 2 Arten passieren:

                  • der Datenpunkt hat den expliziten Wert null.
                  • im Datenpunkt steht der Text "null".

                  Die von Dir im Skript oben eingebaute Überprüfung prüft auf den expliziten Wert null, das worauf du prüfen möchtest ist aber der Text "null"

                  Nun zum Thema Vergleich:
                  Im Kontext Falls Wert mache wird Wert als wahr angesehen wenn

                  • Wert ein Text mit einem oder mehr Zeichen ist ("null", "leer", "hierstehtwas", "1", " ")
                  • Wert eine Zahl ist die nicht 0 ist
                  • Wert explizit wahr beinhaltet
                  • Wert einen der beiden intern definierten Werte NaN und infinity beinhaltet (diese entstehen automatisch bei mathematischen Operationen die ungültig sind, z.Bsp. 1/0 oder sqrt(-2)

                  Im Kontext Falls Wert mache wird Wert als falsch angesehen wenn

                  • Wert ein Text ohne Zeichen ist ("")
                  • Wert die Zahl 0 ist
                  • Wert explizit falsch beinhaltet
                  • Wert einen dieser intern definierten Werte beinhaltet: null, undefined

                  Nun dazu wie du auf den Text "null" prüfen kannst: In deinem Originalen Blockly ersetzt du den Baustein mit null durch einen mit dem Text "null".

                  A.

                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                  F 1 Antwort Letzte Antwort
                  0
                  • AsgothianA Asgothian

                    @flitzpiepe sagte in Blockly Prüfung auf "null"?:

                    @paul53 said in Blockly Prüfung auf "null"?:

                    @flitzpiepe sagte: null:

                    "null" als String ergibt war bei er impliziten Typwandlung.

                    ok, es scheint, dass da bei mir irgendwo jemand auf der Leitung steht, da ich mir auch nach mehrmaligem Lesen der Info nicht erschließen kann, was gemeint sein könnte und wie ich letztendlich einen funktionierenden null check erreiche.
                    Hier ging es auch um dieses Thema und die Abfrage war m.E. so formuliert wie bei mir.

                    Habe es jetzt anders für mich gelöst und prüfe, ob die Länge des Strings > 5 ist. true: Wert vorhanden bei false: kein Wert vorhanden.

                    Ich versuch mal dich von dem Schlauch zu holen:

                    Wenn du im ioBroker "null" stehen siehst, dann kann das auf 2 Arten passieren:

                    • der Datenpunkt hat den expliziten Wert null.
                    • im Datenpunkt steht der Text "null".

                    Die von Dir im Skript oben eingebaute Überprüfung prüft auf den expliziten Wert null, das worauf du prüfen möchtest ist aber der Text "null"

                    Nun zum Thema Vergleich:
                    Im Kontext Falls Wert mache wird Wert als wahr angesehen wenn

                    • Wert ein Text mit einem oder mehr Zeichen ist ("null", "leer", "hierstehtwas", "1", " ")
                    • Wert eine Zahl ist die nicht 0 ist
                    • Wert explizit wahr beinhaltet
                    • Wert einen der beiden intern definierten Werte NaN und infinity beinhaltet (diese entstehen automatisch bei mathematischen Operationen die ungültig sind, z.Bsp. 1/0 oder sqrt(-2)

                    Im Kontext Falls Wert mache wird Wert als falsch angesehen wenn

                    • Wert ein Text ohne Zeichen ist ("")
                    • Wert die Zahl 0 ist
                    • Wert explizit falsch beinhaltet
                    • Wert einen dieser intern definierten Werte beinhaltet: null, undefined

                    Nun dazu wie du auf den Text "null" prüfen kannst: In deinem Originalen Blockly ersetzt du den Baustein mit null durch einen mit dem Text "null".

                    A.

                    F Offline
                    F Offline
                    flitzpiepe
                    schrieb am zuletzt editiert von
                    #9

                    @asgothian said in Blockly Prüfung auf "null"?:

                    @flitzpiepe sagte in Blockly Prüfung auf "null"?:

                    @paul53 said in Blockly Prüfung auf "null"?:

                    @flitzpiepe sagte: null:

                    "null" als String ergibt war bei er impliziten Typwandlung.

                    ok, es scheint, dass da bei mir irgendwo jemand auf der Leitung steht, da ich mir auch nach mehrmaligem Lesen der Info nicht erschließen kann, was gemeint sein könnte und wie ich letztendlich einen funktionierenden null check erreiche.
                    Hier ging es auch um dieses Thema und die Abfrage war m.E. so formuliert wie bei mir.

                    Habe es jetzt anders für mich gelöst und prüfe, ob die Länge des Strings > 5 ist. true: Wert vorhanden bei false: kein Wert vorhanden.

                    Ich versuch mal dich von dem Schlauch zu holen:

                    Nun dazu wie du auf den Text "null" prüfen kannst: In deinem Originalen Blockly ersetzt du den Baustein mit null durch einen mit dem Text "null".

                    A.

                    Hi,
                    danke für den ausführlichen Kommentar und ich denke wir nähern uns dem Problem:
                    Das bedeute aber auch, dass die Zuweisungen:

                    0dfd719d-0efd-4844-bbe8-13e83b641d9e-image.png

                    ... ein und dasselbe aussagen? Davon bin ich bisher nicht ausgegangen und da lag dann mein Gedankenfehler? Ich dachte vom Block null wird der Datenpunkt auf den expliziten Wert null gesetzt und von der String-Zuweisung erhält der Datenpunkt den String "null". Ich habe den Block null in der Zuweisung verwendet und deswegen auch mit dem Block auf null geprüft.

                    Im Java-ScriptCode:

                        setState("javascript.0.scriptEnabled.System.PushOver.PushOverSysVar.PushOver_File"/*varPushOver_File*/, null, true);
                        setState("javascript.0.scriptEnabled.System.PushOver.PushOverSysVar.PushOver_File"/*varPushOver_File*/, 'null', true);
                    

                    ... ist hier ja auch der Unterschied zu sehen durch Verwendung der Anführungszeichen bei String-Zuweisung.

                    Ist hier meine eigentliche Frage vielleicht, warum mein Datenpunkt nicht auf den expliziten Wert null gesetzt wurde, obwohl ich die Zuweisung über den null-Block gemacht habe?

                    AsgothianA paul53P 2 Antworten Letzte Antwort
                    0
                    • F flitzpiepe

                      @asgothian said in Blockly Prüfung auf "null"?:

                      @flitzpiepe sagte in Blockly Prüfung auf "null"?:

                      @paul53 said in Blockly Prüfung auf "null"?:

                      @flitzpiepe sagte: null:

                      "null" als String ergibt war bei er impliziten Typwandlung.

                      ok, es scheint, dass da bei mir irgendwo jemand auf der Leitung steht, da ich mir auch nach mehrmaligem Lesen der Info nicht erschließen kann, was gemeint sein könnte und wie ich letztendlich einen funktionierenden null check erreiche.
                      Hier ging es auch um dieses Thema und die Abfrage war m.E. so formuliert wie bei mir.

                      Habe es jetzt anders für mich gelöst und prüfe, ob die Länge des Strings > 5 ist. true: Wert vorhanden bei false: kein Wert vorhanden.

                      Ich versuch mal dich von dem Schlauch zu holen:

                      Nun dazu wie du auf den Text "null" prüfen kannst: In deinem Originalen Blockly ersetzt du den Baustein mit null durch einen mit dem Text "null".

                      A.

                      Hi,
                      danke für den ausführlichen Kommentar und ich denke wir nähern uns dem Problem:
                      Das bedeute aber auch, dass die Zuweisungen:

                      0dfd719d-0efd-4844-bbe8-13e83b641d9e-image.png

                      ... ein und dasselbe aussagen? Davon bin ich bisher nicht ausgegangen und da lag dann mein Gedankenfehler? Ich dachte vom Block null wird der Datenpunkt auf den expliziten Wert null gesetzt und von der String-Zuweisung erhält der Datenpunkt den String "null". Ich habe den Block null in der Zuweisung verwendet und deswegen auch mit dem Block auf null geprüft.

                      Im Java-ScriptCode:

                          setState("javascript.0.scriptEnabled.System.PushOver.PushOverSysVar.PushOver_File"/*varPushOver_File*/, null, true);
                          setState("javascript.0.scriptEnabled.System.PushOver.PushOverSysVar.PushOver_File"/*varPushOver_File*/, 'null', true);
                      

                      ... ist hier ja auch der Unterschied zu sehen durch Verwendung der Anführungszeichen bei String-Zuweisung.

                      Ist hier meine eigentliche Frage vielleicht, warum mein Datenpunkt nicht auf den expliziten Wert null gesetzt wurde, obwohl ich die Zuweisung über den null-Block gemacht habe?

                      AsgothianA Offline
                      AsgothianA Offline
                      Asgothian
                      Developer
                      schrieb am zuletzt editiert von
                      #10

                      @flitzpiepe sagte in Blockly Prüfung auf "null"?:

                      i,
                      danke für den ausführlichen Kommentar und ich denke wir nähern uns dem Problem:
                      Das bedeute aber auch, dass die Zuweisungen:

                      ... ein und dasselbe aussagen? Davon bin ich bisher nicht ausgegangen und da lag dann mein Gedankenfehler?

                      Nein, diese Zuweisungen sind nicht identisch. Die erste weist dem State den Wert null zu, der zweite den text "null". Allerdings kann es sein das der JS-Controller eine Typconvertierung vornimmt da der Datenpunkt als "string" angelegt ist.

                      Du solltest im Übrigen (sofern du den aktuellen JS Controller mit Admin 5 nutzt eine Warnmeldung bekommen wenn du versuchst null in einen State zu schreiben der als "string" definiert ist.

                      A.

                      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                      1 Antwort Letzte Antwort
                      0
                      • F flitzpiepe

                        @asgothian said in Blockly Prüfung auf "null"?:

                        @flitzpiepe sagte in Blockly Prüfung auf "null"?:

                        @paul53 said in Blockly Prüfung auf "null"?:

                        @flitzpiepe sagte: null:

                        "null" als String ergibt war bei er impliziten Typwandlung.

                        ok, es scheint, dass da bei mir irgendwo jemand auf der Leitung steht, da ich mir auch nach mehrmaligem Lesen der Info nicht erschließen kann, was gemeint sein könnte und wie ich letztendlich einen funktionierenden null check erreiche.
                        Hier ging es auch um dieses Thema und die Abfrage war m.E. so formuliert wie bei mir.

                        Habe es jetzt anders für mich gelöst und prüfe, ob die Länge des Strings > 5 ist. true: Wert vorhanden bei false: kein Wert vorhanden.

                        Ich versuch mal dich von dem Schlauch zu holen:

                        Nun dazu wie du auf den Text "null" prüfen kannst: In deinem Originalen Blockly ersetzt du den Baustein mit null durch einen mit dem Text "null".

                        A.

                        Hi,
                        danke für den ausführlichen Kommentar und ich denke wir nähern uns dem Problem:
                        Das bedeute aber auch, dass die Zuweisungen:

                        0dfd719d-0efd-4844-bbe8-13e83b641d9e-image.png

                        ... ein und dasselbe aussagen? Davon bin ich bisher nicht ausgegangen und da lag dann mein Gedankenfehler? Ich dachte vom Block null wird der Datenpunkt auf den expliziten Wert null gesetzt und von der String-Zuweisung erhält der Datenpunkt den String "null". Ich habe den Block null in der Zuweisung verwendet und deswegen auch mit dem Block auf null geprüft.

                        Im Java-ScriptCode:

                            setState("javascript.0.scriptEnabled.System.PushOver.PushOverSysVar.PushOver_File"/*varPushOver_File*/, null, true);
                            setState("javascript.0.scriptEnabled.System.PushOver.PushOverSysVar.PushOver_File"/*varPushOver_File*/, 'null', true);
                        

                        ... ist hier ja auch der Unterschied zu sehen durch Verwendung der Anführungszeichen bei String-Zuweisung.

                        Ist hier meine eigentliche Frage vielleicht, warum mein Datenpunkt nicht auf den expliziten Wert null gesetzt wurde, obwohl ich die Zuweisung über den null-Block gemacht habe?

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

                        @flitzpiepe sagte: obwohl ich die Zuweisung über den null-Block gemacht habe?

                        Da der Datenpunkt von Typ "string" ist, ist die Zuweisung von null (Typ "object") falsch. Um ihn zu löschen, weise einen Leerstring zu. Dann funktioniert ebenfalls die Prüfung "falls Wert von DP" , da die implizite Typwandlung des Leerstrings false ergibt.

                        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
                        • N Offline
                          N Offline
                          niiccooo1
                          schrieb am zuletzt editiert von niiccooo1
                          #12

                          [GELÖST]
                          Hallo Zusammen,

                          ich knüpfe mal an das Thema an, da ich an einem ähnlichen Punkt bin, aber ich einfach nicht weiter komme.
                          Ich möchte ebenfalls eine Abfrage auf null / kein Inhalt überprüfen. Es handelt sich bei mir jedoch um eine Abfrage aus der InfluxDB.
                          Über ein Javascript lasse ich mir aus dem InfluxDB folgendes Ergebnis als JSON ausgeben:

                          {"result":[[{"result":"_result","table":0,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":-1536525,"_field":"T0201","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":1,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":22.59207,"_field":"T0202","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":2,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":22.78723,"_field":"T0203","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":3,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":22.32642,"_field":"T0204","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":4,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":22.2529,"_field":"T0205","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":5,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":-1669286,"_field":"T0206","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":6,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":-2018108,"_field":"T0207","_measurement":"VST3","ts":1728546318091}]],"ts":1728546318199,"error":null}
                          

                          Anschließend filtere ich über folgendes Blockly mir den Feldnamen aus:
                          8f4326a2-a10b-4a0f-8468-ef41e3f6cbc7-image.png

                          "j" ist meine Zählvariable welche über eine Schleife hochgezählt wird und "ergebnis" das oben gezeigte JSON

                          Nun möchte ich über die Schleife den value an einen Datenpunkt geben solange bis die Filterung keinen weiteren Feldname mehr findet. Ich bekomme diese Überprüfung nicht hin.

                          Ich habe probiert es über null zu vergleichen, über db66cdc2-c9c8-4f95-a27a-de17a205d2ef-image.png

                          Folgendes klappt auch nicht:
                          af809b1f-a86c-4ef7-8178-f819f19011a0-image.png

                          Was mir aufgefallen ist, dass sich der Typ von string nach object ändert sobald kein Inhalt mehr da ist.

                          cdb267aa-1669-40a2-80d6-d3eb9294c6e5-image.png

                          Log:

                          javascript.0	09:54:41.561	info	script.js.ESPEasy.Test: Typ von: string:T0204
                          javascript.0	09:54:42.571	info	script.js.ESPEasy.Test: Typ von: string:T0205
                          javascript.0	09:54:43.587	info	script.js.ESPEasy.Test: Typ von: string:T0206
                          javascript.0	09:54:44.595	info	script.js.ESPEasy.Test: Typ von: string:T0207
                          javascript.0	09:54:45.603	info	script.js.ESPEasy.Test: Typ von: object:
                          javascript.0	09:54:46.606	info	script.js.ESPEasy.Test: Typ von: object:
                          

                          Kann mir jemand helfen?

                          CodierknechtC N 2 Antworten Letzte Antwort
                          0
                          • N niiccooo1

                            [GELÖST]
                            Hallo Zusammen,

                            ich knüpfe mal an das Thema an, da ich an einem ähnlichen Punkt bin, aber ich einfach nicht weiter komme.
                            Ich möchte ebenfalls eine Abfrage auf null / kein Inhalt überprüfen. Es handelt sich bei mir jedoch um eine Abfrage aus der InfluxDB.
                            Über ein Javascript lasse ich mir aus dem InfluxDB folgendes Ergebnis als JSON ausgeben:

                            {"result":[[{"result":"_result","table":0,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":-1536525,"_field":"T0201","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":1,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":22.59207,"_field":"T0202","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":2,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":22.78723,"_field":"T0203","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":3,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":22.32642,"_field":"T0204","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":4,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":22.2529,"_field":"T0205","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":5,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":-1669286,"_field":"T0206","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":6,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":-2018108,"_field":"T0207","_measurement":"VST3","ts":1728546318091}]],"ts":1728546318199,"error":null}
                            

                            Anschließend filtere ich über folgendes Blockly mir den Feldnamen aus:
                            8f4326a2-a10b-4a0f-8468-ef41e3f6cbc7-image.png

                            "j" ist meine Zählvariable welche über eine Schleife hochgezählt wird und "ergebnis" das oben gezeigte JSON

                            Nun möchte ich über die Schleife den value an einen Datenpunkt geben solange bis die Filterung keinen weiteren Feldname mehr findet. Ich bekomme diese Überprüfung nicht hin.

                            Ich habe probiert es über null zu vergleichen, über db66cdc2-c9c8-4f95-a27a-de17a205d2ef-image.png

                            Folgendes klappt auch nicht:
                            af809b1f-a86c-4ef7-8178-f819f19011a0-image.png

                            Was mir aufgefallen ist, dass sich der Typ von string nach object ändert sobald kein Inhalt mehr da ist.

                            cdb267aa-1669-40a2-80d6-d3eb9294c6e5-image.png

                            Log:

                            javascript.0	09:54:41.561	info	script.js.ESPEasy.Test: Typ von: string:T0204
                            javascript.0	09:54:42.571	info	script.js.ESPEasy.Test: Typ von: string:T0205
                            javascript.0	09:54:43.587	info	script.js.ESPEasy.Test: Typ von: string:T0206
                            javascript.0	09:54:44.595	info	script.js.ESPEasy.Test: Typ von: string:T0207
                            javascript.0	09:54:45.603	info	script.js.ESPEasy.Test: Typ von: object:
                            javascript.0	09:54:46.606	info	script.js.ESPEasy.Test: Typ von: object:
                            

                            Kann mir jemand helfen?

                            CodierknechtC Online
                            CodierknechtC Online
                            Codierknecht
                            Developer Most Active
                            schrieb am zuletzt editiert von Codierknecht
                            #13

                            @niiccooo1

                            Das hier funktioniert:

                            b91923da-8277-4b81-a5f1-a6db8a540083-image.png
                            Aber da sind ja auch alle Pärchen sauber gefüllt.

                            Edit

                            meine Zählvariable welche über eine Schleife hochgezählt wird

                            Die Frage wäre: Wie hast Du Deine Schleife konstruiert?

                            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                            HmIP|ZigBee|Tasmota|Unifi
                            Zabbix Certified Specialist
                            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                            N 1 Antwort Letzte Antwort
                            0
                            • N niiccooo1

                              [GELÖST]
                              Hallo Zusammen,

                              ich knüpfe mal an das Thema an, da ich an einem ähnlichen Punkt bin, aber ich einfach nicht weiter komme.
                              Ich möchte ebenfalls eine Abfrage auf null / kein Inhalt überprüfen. Es handelt sich bei mir jedoch um eine Abfrage aus der InfluxDB.
                              Über ein Javascript lasse ich mir aus dem InfluxDB folgendes Ergebnis als JSON ausgeben:

                              {"result":[[{"result":"_result","table":0,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":-1536525,"_field":"T0201","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":1,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":22.59207,"_field":"T0202","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":2,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":22.78723,"_field":"T0203","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":3,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":22.32642,"_field":"T0204","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":4,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":22.2529,"_field":"T0205","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":5,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":-1669286,"_field":"T0206","_measurement":"VST3","ts":1728546318091},{"result":"_result","table":6,"_start":"2024-10-10T06:45:18.1890708Z","_stop":"2024-10-10T07:45:18.1890708Z","_time":"2024-10-10T07:45:18.0914702Z","_value":-2018108,"_field":"T0207","_measurement":"VST3","ts":1728546318091}]],"ts":1728546318199,"error":null}
                              

                              Anschließend filtere ich über folgendes Blockly mir den Feldnamen aus:
                              8f4326a2-a10b-4a0f-8468-ef41e3f6cbc7-image.png

                              "j" ist meine Zählvariable welche über eine Schleife hochgezählt wird und "ergebnis" das oben gezeigte JSON

                              Nun möchte ich über die Schleife den value an einen Datenpunkt geben solange bis die Filterung keinen weiteren Feldname mehr findet. Ich bekomme diese Überprüfung nicht hin.

                              Ich habe probiert es über null zu vergleichen, über db66cdc2-c9c8-4f95-a27a-de17a205d2ef-image.png

                              Folgendes klappt auch nicht:
                              af809b1f-a86c-4ef7-8178-f819f19011a0-image.png

                              Was mir aufgefallen ist, dass sich der Typ von string nach object ändert sobald kein Inhalt mehr da ist.

                              cdb267aa-1669-40a2-80d6-d3eb9294c6e5-image.png

                              Log:

                              javascript.0	09:54:41.561	info	script.js.ESPEasy.Test: Typ von: string:T0204
                              javascript.0	09:54:42.571	info	script.js.ESPEasy.Test: Typ von: string:T0205
                              javascript.0	09:54:43.587	info	script.js.ESPEasy.Test: Typ von: string:T0206
                              javascript.0	09:54:44.595	info	script.js.ESPEasy.Test: Typ von: string:T0207
                              javascript.0	09:54:45.603	info	script.js.ESPEasy.Test: Typ von: object:
                              javascript.0	09:54:46.606	info	script.js.ESPEasy.Test: Typ von: object:
                              

                              Kann mir jemand helfen?

                              N Offline
                              N Offline
                              Nordischerjung
                              schrieb am zuletzt editiert von
                              #14

                              @niiccooo1 kann der hier helfen?

                              8443033b-1fd6-4eb3-837b-5fb6b311e9bb-image.png

                              Gruß Nordischerjung

                              sonnige Grüße von der Ostsee

                              N 1 Antwort Letzte Antwort
                              0
                              • CodierknechtC Codierknecht

                                @niiccooo1

                                Das hier funktioniert:

                                b91923da-8277-4b81-a5f1-a6db8a540083-image.png
                                Aber da sind ja auch alle Pärchen sauber gefüllt.

                                Edit

                                meine Zählvariable welche über eine Schleife hochgezählt wird

                                Die Frage wäre: Wie hast Du Deine Schleife konstruiert?

                                N Offline
                                N Offline
                                niiccooo1
                                schrieb am zuletzt editiert von
                                #15

                                @codierknecht
                                Die Schleife habe ich so aufgebaut:
                                9c6ef13a-6784-47ef-b63b-ca57d5abe293-image.png

                                Wobei die Prüfung nicht funktioniert hat.

                                Dein Vorschlag funktioniert wunderbar :)

                                Vielen Dank!

                                CodierknechtC 1 Antwort Letzte Antwort
                                0
                                • N Nordischerjung

                                  @niiccooo1 kann der hier helfen?

                                  8443033b-1fd6-4eb3-837b-5fb6b311e9bb-image.png

                                  N Offline
                                  N Offline
                                  niiccooo1
                                  schrieb am zuletzt editiert von
                                  #16

                                  @nordischerjung

                                  Damit klappt es nicht so wie gewünscht. Die Lösung @Codierknecht passt zu meinem Vorhaben besser.

                                  Vielen Dank trotzdem!

                                  1 Antwort Letzte Antwort
                                  0
                                  • N niiccooo1

                                    @codierknecht
                                    Die Schleife habe ich so aufgebaut:
                                    9c6ef13a-6784-47ef-b63b-ca57d5abe293-image.png

                                    Wobei die Prüfung nicht funktioniert hat.

                                    Dein Vorschlag funktioniert wunderbar :)

                                    Vielen Dank!

                                    CodierknechtC Online
                                    CodierknechtC Online
                                    Codierknecht
                                    Developer Most Active
                                    schrieb am zuletzt editiert von
                                    #17

                                    @niiccooo1
                                    Ein "wiederhole solange" kann kritisch werden. Wenn es keine saubere Abbbruchbedingung gibt, hat man sich schnell eine Endlosschleife produziert.
                                    Ein Schleife über die Elemente kennt bereits die Anzahl der Durchläufe ... nämlich die Zahl der Elemente.
                                    Die ist für sowas in aller Regel besser geeignet.

                                    Wenn's läuft, bearbeite bitte Deinen Eingangspost und setze ein "[gelöst] " vor den Titel.

                                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                    HmIP|ZigBee|Tasmota|Unifi
                                    Zabbix Certified Specialist
                                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                    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
                                    FAQ Cloud / IOT
                                    HowTo: Node.js-Update
                                    HowTo: Backup/Restore
                                    Downloads
                                    BLOG

                                    632

                                    Online

                                    32.5k

                                    Benutzer

                                    81.8k

                                    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