Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Pulsar07

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    P
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 5
    • Best 0
    • Groups 1

    Pulsar07

    @Pulsar07

    Starter

    0
    Reputation
    3
    Profile views
    5
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Pulsar07 Follow
    Starter

    Latest posts made by Pulsar07

    • RE: json(<key>) liefert "undefined" im Binding

      @bahnuhr said in json(<key>) liefert "undefined" im Binding:

      Dann probier es doch einmal mit einem Script.
      Und das Ergebnis dann in einen DP schreiben.
      Klappt dies auch nicht ?

      Doch das klappt, ist aber keine Spaß, wenn man viele solcher Steckdosen hat. Ist eben ein echter Workaround.
      Deshalb gibt es ja die json()-Funktion. Die Nutzung der json(<key>) Funktion im Binding ist eigentlich perfekt, nur der Bug bei Wert == 0 ist eben ein Fehler.

      Bin noch nicht lange mit IOBroker unterwegs. Wo kann man solche Fehler einstellen / melden?

      Was mich auch irritiert, ist dass man eigentlich im Binding (vis-2) eigentlich auch "rechnen" kann ({h:javascript.0.myCustom.height;w:javascript.0.myCustom.width;h*w}, das funktioniert aber mit dem json-Value überhaupt nicht. Habe versucht den rohen JSON-String in ne Variable zu schreiben und danach mittels String Operationen zu zu schneiden. Kann aber weder den rohen JSON-String bearbeiten noch den Value aus der JSON Funktion in der Art

       {mqtt.0.tele.tasmota_DBDAE0.SENSOR;jval:json(ENERGY.Power):jval ? jval : "0" }
      

      Was gibt es denn da für Einschränkungen bzw. wo kann man nachlesen, was hier möglich ist?
      Gruß Rainer

      posted in Visualisierung
      P
      Pulsar07
    • RE: json(<key>) liefert "undefined" im Binding

      @bahnuhr said in json(<key>) liefert "undefined" im Binding:

      Bitte json als Text oder in code-tags hier einstellen.
      und auch dein binding.

      JSON:

      {"Time":"2025-03-14T18:40:26","ENERGY":{"TotalStartTime":"2020-05-05T11:42:36","Total":116.135,"Yesterday":0.100,"Today":0.081,"Period": 1,"Power":10,"ApparentPower":19,"ReactivePower":16,"Factor":0.53,"Voltage":230,"Current":0.081}}
      

      Binding 1:

      Licht {mqtt.0.tele.tasmota_DBDAE0.SENSOR; json(ENERGY.Power) }
      

      Ergebnis:

      Licht 10
      

      (wenn das Wert im JSON-String = 0 ist ist das Ergebins "Licht undefined"

      Binding 2.Versuch:

      Licht {mqtt.0.tele.tasmota_DBDAE0.SENSOR; json(ENERGY.Power).toFixed(2) }
      

      Ergebnis:

      Licht undefined
      

      Screenshot from 2025-03-14 18-30-29.png
      Screenshot from 2025-03-14 18-31-08.png
      Screenshot from 2025-03-14 18-26-56.png

      posted in Visualisierung
      P
      Pulsar07
    • RE: json(<key>) liefert "undefined" im Binding

      @bahnuhr said in json(<key>) liefert "undefined" im Binding:

      und wenn du dies ergänzt mit
      .tofixed

      habe ich probiert, bringt keine Änderung

      posted in Visualisierung
      P
      Pulsar07
    • RE: json(<key>) liefert "undefined" im Binding

      @homoran said in json(<key>) liefert "undefined" im Binding:

      nur ein Gedanke!
      hast du zusätzlich mal nach Zahl gewandelt?

      Bin bei den Bindings nicht sehr tief drin. Da ist viel zu viel implizites Wissen notwendig, das ich nirgends nachlesen kann.
      Es funktioniert NUR: {mqtt.0.tele.tasmota_DBDAE0.SENSOR;json(ENERGY.Power) }
      aber eben nur wenn in ENERGY.Power ein Wert ungleich 0 steht.
      Sobald ich versuche hier per Scripting was zu modifizieren, parsen, abschneiden, hinzufügen funktioniert alles nicht.
      Das jedoch alles Zahlen ausser 0 funktionieren, muss das ein Bug sein.

      posted in Visualisierung
      P
      Pulsar07
    • json(<key>) liefert "undefined" im Binding

      Nutze in Vis-2 das Styled - States Control Widget, für einen detailierten Schalter einer Tasmota-Steckdose, die über mqtt (iobroker.mqtt) angebunden ist.
      Das Tasmota Device schickt viele Detail-Attribute über einen JSON-String, der mittels der JSON() Funktion sehr leicht geparst werden kann:

      ({mqtt.0.tele.tasmota_DBDAE0.SENSOR;json(ENERGY.Power) })
      

      Der String der sich im SENSOR-Topic befindet sieht aus wie folgt:

      mqtt.0.tele.tasmota_DBDAE0.SENSOR.val:{"Time":"2025-03-14T08:40:26","ENERGY":{"TotalStartTime":"2020-05-05T11:42:36","Total":116.087,"Yesterday":0.100,"Today":0.033,"Period": 0,"Power": 0,"ApparentPower": 0,"ReactivePower": 0,"Factor":0.00,"Voltage": 0,"Current":0.000}} [string]
      

      Wie man sieht, gibt es einen Wert 0 zum Key "ENERGY.Power".
      Dieser Wert ist im Text / Title des Widgets eingefügt, um den aktuellen Stromverbrauch im Widget zu sehen.

      Jetzt zum Problem:
      Der Wert wird immer perfekt angezeigt, ausser, wenn der Wert 0 ist, dann gibt die json(ENERGY.Power)-Funktion den String "undefined" aus:
      Screenshot from 2025-03-14 08-50-59.png

      Habe per javascript versucht

      let sensorObj = JSON.parse(obj.state.val);
      let powerVal = sensorObj.ENERGY.Power;
      

      auf den Wert zu zugreifen. Hier funktioniert alles perfekt mit und ohne "0". Deshalb poste ich meine Frage mal hier im Bereich Visualisierung.
      Hat jemand eine Idee?

      Gruß Rainer

      posted in Visualisierung
      P
      Pulsar07
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo