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.
    • 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

                          502
                          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