Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Gelöst] MQTT - Sonoff POW ENERGY JSON neuer Datenpunkt

    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

    [Gelöst] MQTT - Sonoff POW ENERGY JSON neuer Datenpunkt

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

      Hallo,

      wie kann ich den JSON Energy LOG in ein brauchbares Format bringen?

      Ich möchte mit den einzelnen Werten aus den ENERGY Log weiter arbeiten.

      Ich brauche unter unter Objekten die Werte für "WATT" - "A" - "Volt"

      Danke schon mal

      <u>JSON vom Sonoff POW ENERGY</u>

      {"Time":"2017-12-12T12:56:45", "Total":0.970, "Yesterday":0.006, "Today":0.964, "Period":2, "Power":6, "Factor":0.42, "Voltage":223, "Current":0.062}
      
      1 Reply Last reply Reply Quote 0
      • kmxak
        kmxak Most Active last edited by

        Hatte ich bereits beschrieben. Durchsuch mal meine Beiträge nach sonoff pow JSON converter

        Gesendet von meinem SM-G930F mit Tapatalk

        1 Reply Last reply Reply Quote 0
        • A
          Asrock last edited by

          Mein erster Versuch. Nur leider bekomme ich keine Daten.

          Den Code habe ich hier im Forum gefunden.

          /*
          Json Converter Sonoff POW
          
          Setup: Pfad + Channel + SName setzen / immer ein . am ende
          
          */
          
          var pfad = "Keller.";
          var channel = "Waschmaschine.";
          var sname = "Waschmaschine.";
          
          // do not change
          
          var idwatt = pfad + channel + sname + 'Watt';
          var idvolt = pfad + channel + sname + 'Volt';
          var idampere = pfad + channel + sname + 'Ampere';
          
          // Create States
          
          createState(idwatt, 0,{type: 'number',name: 'Aktuelle Leistung', read: true,write: true,role: 'value'});
          createState(idvolt, 0,{type: 'number',name: 'Aktuelle Spannung', read: true,write: true,role: 'value'});
          createState(idampere, 0,{type: 'number',name: 'Aktueller Strom', read: true,write: true,role: 'value'});
          
          // script beginning
          on({id: 'mqtt.0.sonoff_pow.ENERGY', change: "any"}, function (obj) {
          
             //variabele erstellen fuer meine 3 beispiel objecte
                  var volt;
                  var watt;  
                  var ampere; 
          
             try {obj = JSON.parse(getState('mqtt.0.sonoff_pow.ENERGY').val);
             } catch (e) {
                     console.error('Cannot parse: ' + getState('mqtt.0.sonoff_pow.ENERGY').val);
                     return;
              }
          
             volt = obj.Voltage;
             watt = obj.Power;
             ampere = obj.Current;
          
              setState(idwatt, watt);
              setState(idvolt, volt);
              setState(idampere, ampere);
          
             log(volt);
             log(watt);
             log(ampere);
          });
          
          1 Reply Last reply Reply Quote 0
          • A
            Asrock last edited by

            @kmxak:

            Hatte ich bereits beschrieben. Durchsuch mal meine Beiträge nach sonoff pow JSON converter `

            Habe ich gelesen.

            Der Code müsste von Dir sein.

            Ich denke das ich ein Problem mit dem PFAD - CHANEL - SNAME habe

            1 Reply Last reply Reply Quote 0
            • kmxak
              kmxak Most Active last edited by

              Musst du auch für dich umarbeiten.

              Gesendet von meinem SM-G930F mit Tapatalk

              1 Reply Last reply Reply Quote 0
              • A
                Asrock last edited by

                Was muss ich denn noch umarbeiten?

                Was ist der PFAD - CHANEL und SNAME

                > mqtt.0.sonoff_pow.ENERGY

                Habe ich jetzt in mqtt.0.waschmaschine.ENERGY geändert.

                ` > Sonoff Pow Module

                Waschmaschine

                –---------------------

                MQTT parameters

                Host (domus1)

                192.168.178.39

                –---------------------

                Port (1883)

                1882

                –---------------------

                Client (DVES_A03248)

                Waschmaschine

                –---------------------

                User (DVES_USER)

                Asrock

                –---------------------

                Password

                ••••••••

                –---------------------

                Topic = %topic% (sonoff)

                sonoff

                –---------------------

                Full Topic (%prefix%/%topic%/)

                /Keller/Waschmaschine

                –--------------------- `

                1 Reply Last reply Reply Quote 0
                • kmxak
                  kmxak Most Active last edited by

                  mach mir mal bitte einen screenshot vom iobroker objekten

                  den full topic hatte ich bei mir default gelassen.

                  1 Reply Last reply Reply Quote 0
                  • A
                    Asrock last edited by

                    Ich hoffe das wolltest du 🙂
                    4542_screenshot_2017-12-12_19.00.29.png

                    1 Reply Last reply Reply Quote 0
                    • kmxak
                      kmxak Most Active last edited by

                      probier es mal so:

                      ! ````
                      /*
                      Json Converter Sonoff POW
                      ! Setup: Pfad + Channel + SName setzen / immer ein . am ende
                      ! */
                      ! var pfad = "javascript.0.jsonconverter.";
                      var channel = "Keller.";
                      var sname = "Waschmaschine.";
                      ! // do not change
                      ! var idwatt = pfad + channel + sname + 'Watt';
                      var idvolt = pfad + channel + sname + 'Volt';
                      var idampere = pfad + channel + sname + 'Ampere';
                      ! // Create States
                      ! createState(idwatt, 0,{type: 'number',name: 'Aktuelle Leistung', read: true,write: true,role: 'value'});
                      createState(idvolt, 0,{type: 'number',name: 'Aktuelle Spannung', read: true,write: true,role: 'value'});
                      createState(idampere, 0,{type: 'number',name: 'Aktueller Strom', read: true,write: true,role: 'value'});
                      ! // script beginning
                      on({id: 'mqtt.0.Keller.Waschmaschiene.ENERGY', change: "ne"}, function (obj) {
                      ! //variabele erstellen fuer meine 3 beispiel objecte
                      var volt;
                      var watt;
                      var ampere;
                      ! try {obj = JSON.parse(getState('mqtt.0.Keller.Waschmaschiene.ENERGY').val);
                      } catch (e) {
                      console.error('Cannot parse: ' + getState('mqtt.0.Keller.Waschmaschiene.ENERGY').val);
                      return;
                      }
                      ! volt = obj.Voltage;
                      watt = obj.Power;
                      ampere = obj.Current;
                      ! setState(idwatt, watt);
                      setState(idvolt, volt);
                      setState(idampere, ampere);
                      ! log(volt);
                      log(watt);
                      log(ampere);
                      });

                      
                      Unter Javascript wird ein unterordner json converter abgelegt und dort die sachen eingetragen.
                      
                      Wenn das alles nicht funktioniert muss ein profi drüber schaun.
                      
                      Warum nimmst du nicht den Sonoff Adapter? Ich nutze seit dem es ihn gibt das Script auch nicht mehr weil es gleich die gewünschten Daten ausgibt.
                      1 Reply Last reply Reply Quote 0
                      • A
                        Asrock last edited by

                        Habe ich auch schon versucht mit dem Adapter, nur leider bleibt der rot bei mir.

                        Liegt wohl daran das ich auch den MQTT Adapter vom Iobroker nutze.

                        Ich probiere das jetzt noch mal mit dem Sonoff Adapter.

                        Ich werde berichten. Das Skript von dir liefert auch keine Werte.

                        1 Reply Last reply Reply Quote 0
                        • Dutchman
                          Dutchman Developer Most Active Administrators last edited by

                          @Asrock:

                          Liegt wohl daran das ich auch den MQTT Adapter vom Iobroker nutze. `

                          Setze den mqtt Adapter auf einen anderen port und er wird laufen und erspare dir das mühselige umsetzen des json per Script [emoji6]

                          –-----------------------

                          Send from mobile device

                          1 Reply Last reply Reply Quote 0
                          • A
                            Asrock last edited by

                            <u>DANKE</u> 😄 😄 😄 😄 😄
                            4542_screenshot_2017-12-12_19.38.57.png

                            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

                            398
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

                            3
                            12
                            2014
                            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