Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Shelly 2,5, Tasmota, Json Parsen, Energie

    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

    Shelly 2,5, Tasmota, Json Parsen, Energie

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

      Hi,
      nach längere Suche hier in Forum und mehreren Versuchen Json richtig zu parsen würde ich euch um Unterstützung bitten.

      Will die Energiewerte eines Shelly 2,5 mit Tasmota mitschreiben um Balkonkraftwerk auszuwerten.
      Tasmota schickt an MQTT
      "_id": "mqtt.0.ShellyTas.SENSOR",
      folgendes

      {"Time":"2022-02-22T11:18:06","Switch1":"OFF","Switch2":"OFF","ANALOG":{"Temperature":38.1},"ENERGY":{"TotalStartTime":"2022-01-09T19:00:41","Total":0.586,"Yesterday":0.077,"Today":0.480,"Period":[24, 0],"Power":[218, 0],"ApparentPower":[225, 0],"ReactivePower":[44, 0],"Factor":[0.97,0.00],"Frequency":50,"Voltage":225,"Current":[0.222,0.000]},"TempUnit":"C"}
      

      Hab mir jetzt Datenpunkte angelegt:

      {
        "common": {
          "name": "power",
          "desc": "Manuell erzeugt",
          "role": "state",
          "type": "number",
          "read": true,
          "write": true,
          "def": 0
        },
        "type": "state",
        "_id": "0_userdata.0.Shelly2Tas.Power",
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        },
      

      wollte dann json parsen was in verschiedenen Varianten (Energie mit . oder / ) bei mit nicht funktionierte:
      (auch mit const idJson = 'mqtt.0.ShellyTas.SENSOR.ENERGY' schon probiert)

      const idJson = 'mqtt.0.ShellyTas.SENSOR'
      const power = '0_userdata.0.Shelly2Tas.Power';
      const voltage = '0_userdata.0.Shelly2Tas.Voltage';
      const current = '0_userdata.0.Shelly2Tas.Current';
      const frequency = '0_userdata.0.Shelly2Tas.Frequency';
      
      on(idJson, function(dp) {
         let obj = JSON.parse(dp.state.val);
         setState(power, obj['Power'], true);
         setState(voltage, obj['ENERGY.Voltage'], true);
         setState(current, obj['ENERGY/Current'], true);
         setState(frequency, obj['Frequency'], true);
      });
      

      oder

      4c9811a3-5098-4bea-a7cc-3c0969202623-image.png

      sieht jemand auf Anhieb was ich fasch mache (also eh alles) - oder wie wäre es richtig?
      Danke
      jarek

      EDIT:
      OK, Blockly schreibt zumindest "null" rein
      Error:
      17f67a0d-d49a-4a6a-b9b7-4ae226f8dd3b-image.png

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

        @jarek sagte: wie wäre es richtig?

           setState(power, obj.ENERGY.Power[0], true);
           setState(voltage, obj.ENERGY.Voltage, true);
           setState(current, obj.ENERGY.Current[0], true);
           setState(frequency, obj.ENERGY.Frequency, true);
        
        J 1 Reply Last reply Reply Quote 1
        • J
          Jarek @paul53 last edited by

          @paul53 - wie Geil!
          Danke!!!

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

          Support us

          ioBroker
          Community Adapters
          Donate
          FAQ Cloud / IOT
          HowTo: Node.js-Update
          HowTo: Backup/Restore
          Downloads
          BLOG

          877
          Online

          31.9k
          Users

          80.1k
          Topics

          1.3m
          Posts

          2
          3
          493
          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