Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] kwh berechnen und fortlaufend speichern

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] kwh berechnen und fortlaufend speichern

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

      Hallo Gemeinde,

      heute kamen meine https://www.amazon.de/Steckdose-Gosund-Stromverbrauch-Fernsteurung-Kompatibel/dp/B07FVR7PG7/ref=sr_1_1?ie=UTF8&qid=1545071319&sr=8-1&keywords=gosund. Ohne Probleme konnte ich diese über den https://forum.iobroker.net/viewtopic.php?f=36&t=18029&hilit=tuya in ioBroker einbinden. Mich interessieren vor allem die Verbrauchswerte der eingesteckten Verbraucher.

      Der Adpater liefert auch die aktuellen Werte mit einem Polling von 60 zurück. Ich möchte aber den Verbrauch in kwh aufzeichnen, und zwar aufsteigend. In der App funktioniert dass. Der Wert soll kontinuierlich hochgezählt werden.

      Hier muss ich dass dann wohl per Script machen, und den Wert dann in eine Variable speichern. Ich nutze auch den MYSQL Adapter.

      Wie kann ich das denn per Script (Blockly oder JS) realisieren?

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

        hat das teil keinen wert fuer gesammt ?

        also das du anhand des gesammt standes de verbrauch/kosten berechnen kannst, wen ja hab ich in kuerze nen adapter fuer dich 😛

        1 Reply Last reply Reply Quote 0
        • AxelF1977
          AxelF1977 last edited by

          @Dutchman:

          hat das teil keinen wert fuer gesammt ? `
          Hallo Dutschman,

          in der Android App werden die Werte berechnet, aber nicht in den Adapter übernommen (siehe Screenshots)

          @Dutchman:

          also das du anhand des gesammt standes de verbrauch/kosten berechnen kannst, wen ja hab ich in kuerze nen adapter fuer dich 😛 `

          Na dann bin ich gespannt 😄
          4249_gosund-steckdose-002.jpg
          4249_gosund-steckdose-001.jpg

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

            Wenn man nur die Leistung zur Verfügung hat, muß man integrieren.

            const idPower = '...5';  // cur_power
            const idEnergy = 'Waschmaschine.Energieverbrauch'; // kWh
            
            // Energie-Datenpunkt erzeugen
            createState(idEnergy, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
            
            var energy = 1000 * getState(idEnergy).val; // Wh, erzeugt beim ersten Skripstart Fehler
            
            on({id: idPower}, function(dp) {
               energy = energy + dp.oldState.val * (dp.state.ts - dp.oldState.ts) / 3600000; // Wh
               setState(idEnergy, Math.round(energy) / 1000, true); // kWh mit 3 Nachkommastellen
            });
            

            EDIT: Korrigiert state.val –> oldState.val

            S 1 Reply Last reply Reply Quote 0
            • M
              martin last edited by

              Bei mir sieht das genauso aus wie bei dir.

              Habe diese Steckdosen: https://www.amazon.de/gp/product/B0776P … UTF8&psc=1

              Hätte wenn möglich gerne eine Aufzeichnung über Tagesverbrauch, Monatsverbrauch, Jahresverbrauch

              Vielleicht kann ja jemand der sich damit auskennt ein Script hier einstellen.

              1 Reply Last reply Reply Quote 0
              • AxelF1977
                AxelF1977 last edited by

                @paul53:

                Wenn man nur die Leistung zur Verfügung hat, muß man integrieren.

                const idPower = '...5';  // cur_power
                const idEnergy = 'Waschmaschine.Energieverbrauch'; // kWh
                
                // Energie-Datenpunkt erzeugen
                createState(idEnergy, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
                
                var energy = 1000 * getState(idEnergy).val; // Wh, erzeugt beim ersten Skripstart Fehler
                
                on({id: idPower}, function(dp) {
                   energy = energy + dp.state.val * (dp.state.ts - dp.oldState.ts) / 3600000; // Wh
                   setState(idEnergy, Math.round(energy) / 1000, true); // kWh mit 3 Nachkommastellen
                });
                ```` `  
                

                Hi,

                danke, das ist schon mal ein Anfang. Der Datenpunkt wird auch erstellt, aber ja noch nicht live gefüllt. Muss ich hier

                const idPower = '...5';  // cur_power
                

                den Datenpunkt eintragen von cur_power (den es ja gibt, wie Du im Screenshot gesehen hast)?

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

                  @AxelF1977:

                  Muss ich hier

                  const idPower = '...5';  // cur_power
                  

                  den Datenpunkt eintragen von cur_power `
                  Ja, natürlich. Da gehört die ID des Datenpunktes mit dem Namen cur_power rein.

                  1 Reply Last reply Reply Quote 0
                  • AxelF1977
                    AxelF1977 last edited by

                    @paul53:

                    Ja, natürlich. Da gehört die ID des Datenpunktes mit dem Namen cur_power rein. `

                    Danke Dir, dann habe ich es ja verstanden, sorry, habe von JS keine Ahnung…

                    1 Reply Last reply Reply Quote 0
                    • AxelF1977
                      AxelF1977 last edited by

                      Und nun komme ich an meine Grenzen bei JS, sorry.

                      Die Zweite Steckdose hat bisher 0,29 kwh verbraucht (laut App). Ich habe das Script entsprechend an diese Doese angepasst. Aber errechnen tut das Script einen Wert von 1,333 kwh

                      Im Script ist der Anfangswert auf 0.29 gesetzt

                      // Energie-Datenpunkt erzeugen
                      createState(idEnergy, 0.29, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
                      

                      Was mache ich falsch?

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

                        Die beiden IDs (oberste zwei Zeilen im Skript) hast Du vor Start des 2. Skripts angepasst ?

                        1 Reply Last reply Reply Quote 0
                        • AxelF1977
                          AxelF1977 last edited by

                          @paul53:

                          Die beiden IDs (oberste zwei Zeilen im Skript) hast Du vor Start des 2. Skripts angepasst ? `

                          Ja, die hatte ich angepasst. Ich habe es gerade nochmal doppelt überprüft. Nachdem ich die Datenpunkte gelöscht hatte, und die Scripte neu gestartet habe, funktioniert es, sehr cool.

                          Vielen Dank für die schnelle Hilfe!!

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

                            @AxelF1977:

                            funktioniert es, `
                            Dann markiere bitte das Thema im Betreff des ersten Beitags als [gelöst].

                            1 Reply Last reply Reply Quote 0
                            • AxelF1977
                              AxelF1977 last edited by

                              @paul53:

                              @AxelF1977:

                              funktioniert es, Dann markiere bitte das Thema im Betreff des ersten Beitags als [gelöst].

                              Erledigt, vielen Dank nochmal.

                              1 Reply Last reply Reply Quote 0
                              • M
                                martin last edited by

                                Könntest du bitte dein fertiges Script zur Verfügung stellen?

                                Hätte auch Interesse daran.

                                1 Reply Last reply Reply Quote 0
                                • Z
                                  Zerpmaster last edited by

                                  Das wäre echt klasse wenn du dein fertiges Script mit uns teilen könntest.

                                  Vielen dank

                                  1 Reply Last reply Reply Quote 0
                                  • AxelF1977
                                    AxelF1977 last edited by

                                    Das fertige Script findet Ihr hier im Beitrag, das hatte paul53 hier gepostet

                                    viewtopic.php?f=21&t=19643&p=205738#p205253

                                    Das ist alles, was benötigt wird. Bei mir läuft es ohne Probleme. Klein und fein.

                                    1 Reply Last reply Reply Quote 0
                                    • Z
                                      Zerpmaster last edited by

                                      Danke dir,

                                      kannst du mir vielleicht noch erklären wo ich das Script einbaue?

                                      edit:

                                      http://prntscr.com/lwqt2o

                                      Ich habe bei Node-Red eine Funktion erstellt und da das JS reinkopiert… siehe Screen 😞

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        martin last edited by

                                        Irgendwo stimmt was nicht. Er zeigt immer 0 kwh an.

                                        Wer kann mir weiter helfen?

                                        https://www.bilder-upload.eu/bild-019d55-1545227517.jpg.html https://www.bilder-upload.eu/bild-a3b592-1545227545.jpg.html Und kann man die Zeile in den Objekten auch zur passenden Steckdose schieben?

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

                                          @martin:

                                          Irgendwo stimmt was nicht. Er zeigt immer 0 kwh an. `
                                          Leerzeichen in der ID sind keine gute Idee ! Schau mal unter javascript.0 nach, welche ID der Energie-Datenpunkt hat und passe die ID im Skript entsprechend an (wahrscheinlich muss das Leerzeichen durch einen Unterstrich ersetzt werden).

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

                                            @Zerpmaster:

                                            wo ich das Script einbaue? `
                                            Als neues Skript im Javascript-Adapter.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            980
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            12
                                            57
                                            15441
                                            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