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.
    • 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
                                          • Z
                                            Zerpmaster last edited by

                                            Ok danke dann habe ich es richtig,

                                            ich finde nur die werte sind etwas seltsam mit den Startwert von 1,11 kWh

                                            http://prntscr.com/lx0dhn

                                            Ich habe für zwei Stromverbraucher das Script pro Verbraucher angelegt und angepasst.

                                            1 Script Weihnachtsbaumbeleuchtung die 3,7 Watt verbraucht

                                            2 Script Terrarium was aktuell 117 Watt verbraucht…

                                            Wieso wird mir dann gleich der Wert 1,11kwh angezeigt?

                                            Soll ich den Wert 1,11 im Script anpassen auf 0,01?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            997
                                            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