Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Adapter "smartmeter"

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

Adapter "smartmeter"

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
3.6k Beiträge 280 Kommentatoren 2.4m Aufrufe 161 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #1139

    @Matthias I:

    @Dieter: Sind bei dir denn auch die Unterstriche in der Ausgabe von /sbin/udevadm info –query=all --name=/dev/ttyUSB0 enthalten??? `

    Ja, in der Ausgabe sind bei mir auch Unterstriche.

    In der TXT Datei aber nicht !!.


    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
    Danke.
    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
    ScreenToGif :https://www.screentogif.com/downloads.html

    1 Antwort Letzte Antwort
    0
    • bahnuhrB Online
      bahnuhrB Online
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #1140

      Und, hats jetzt geklappt ?


      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
      Danke.
      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
      ScreenToGif :https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Matthias I
        schrieb am zuletzt editiert von
        #1141

        Lieber Dieter,

        lieber Wendy,

        ihr habt meinen Tag gerettet!!!

        VIIIIELEN DANK!!!!

        Wenn man die Unterstriche durch Leerzeichen ersetzt, dann funktioniert es!!!

        Als ihr sagtet ich solle den Namen nehmen, habe ich den so genommen, wie er in der Ausgabe eben Stand, also mit den Unterstrichen.

        Tut mir leid, ich kenne mich mit Linux leider noch nicht so gut aus (ich arbeite aber daran ;-) )

        Dann müsste ich die beiden Instanzen ja jetzt starten können da ich dort in den Einstellungen bei "Serielles Gerät Name:" bereits "/dev/Z1" und "/dev/Z1a" eingetragen habe.

        Macht das aus eurer Sicht jetzt schon Sinn oder würdet ihr warten bis der Pin des Versorgers eingetroffen ist (vorher werde ich ja nicht alle Daten auslesen können)?

        Gruß

        Matthias

        1 Antwort Letzte Antwort
        0
        • wendy2702W Offline
          wendy2702W Offline
          wendy2702
          schrieb am zuletzt editiert von
          #1142

          Probiere doch jetzt schon was rauskommt. Kann ja nicht schaden und es tut ja auch nicht weh ;)

          Schön das es jetzt funktioniert.

          Bitte keine Fragen per PN, die gehören ins Forum!

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          1 Antwort Letzte Antwort
          0
          • bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #1143

            genau, einfach starten.

            Habe bei mir auch keinen Pin gebraucht.

            mfg

            Dieter


            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
            Danke.
            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
            ScreenToGif :https://www.screentogif.com/downloads.html

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              Matthias I
              schrieb am zuletzt editiert von
              #1144

              Ein kleines Problem scheint es dann doch noch zu geben…

              Smartmeter.0 funktioniert, es werden auch die Objekte in ioBroker angelegt :-)

              Smartmeter.1 funktioniert nicht, ich bekomme aber auch nur 1 USB-Gerät angezeigt:

              pi@raspberrypi:~ $ ls -l /dev/Z*
              lrwxrwxrwx 1 root root 7 Jan 12 11:53 /dev/Z1 -> ttyUSB1
              
              

              Das Gerät Z1a wird nicht angezeigt :-(

              pi@raspberrypi:~ $ /dev/Z1a
              bash: /dev/Z1a: Datei oder Verzeichnis nicht gefunden
              
              

              Begebe mich dann nochmal auf Fehlersuche…

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                passuff
                schrieb am zuletzt editiert von
                #1145

                Hallo zusammen,

                ich bin gerade auf den thread gestoßen, da ich meinen Stromverbrauch loggen möchte.

                Ich habe bereits versucht herauszufinden ob mein Stromzähler unterstützt wird, kann jedoch niemanden finden der diesen erwähnt hat:

                Itron OpenWay 3 // HZ-AC-D4-A1: https://www1.itron.com/PublishedContent/OpenWay_kl.pdf

                Info-Schnittstelle: Frontseitige IR-Schnittstelle, uni-direktional, 9600 Baud,

                Protokoll SML V1.04

                LMN-Schnittstelle: 2x RS485, 921,6 kBit/s, Protokoll SML unverschlüsselt und TLSverschlüsselt, HDLC, SML

                Vom Protokoll her (SML) sollte es ja funktionieren. Jedoch weiß ich nicht welche Hardware ich zur Erfassung benötige und wie ich die ausgelesenen Messwerte in mein Netzwerk übertragen soll. Auch Github war für mich hier nicht hilfreich, da meines Erachtens bei den getesteten Adaptern abgesehen vom EFR SmartGridHub (150€!!) um Stromzähler und keine Adapter handelt. Bevor ich aber 150€ für die Erfassung des Stromzählerstandes ausgebe, kann ich auch wieder auf dei HM Lösung zurückgreifen. Welchen kostengünstigen Weg gibt es?

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  Matthias I
                  schrieb am zuletzt editiert von
                  #1146

                  Jetzt laufen beide Instanzen, es hatte sich nur ein Tippfehler in der .rules-Datei eingeschlichen.

                  Als nächstes gebe ich mich dann an das Script, habe ja gesehen, dass es hier auch schon Vorlagen gibt.

                  Da arbeite ich mich dann jetzt mal ein, ich muss das Skript ja entsprechend anpassen.

                  1 Antwort Letzte Antwort
                  0
                  • wendy2702W Offline
                    wendy2702W Offline
                    wendy2702
                    schrieb am zuletzt editiert von
                    #1147

                    @passuff:

                    Welchen kostengünstigen Weg gibt es? `

                    Definiere Kostengünstig?

                    Keiner weiß ja was du bisher hast/nutzt.

                    Im einfachsten Fall reicht ein PI und ein USB Lesekopf.

                    Bitte keine Fragen per PN, die gehören ins Forum!

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    1 Antwort Letzte Antwort
                    0
                    • bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #1148

                      @wendy2702:

                      Im einfachsten Fall reicht ein PI und ein USB Lesekopf. `

                      Und dies funktioniert einwandfrei bei mir seit Monaten.


                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • P Offline
                        P Offline
                        passuff
                        schrieb am zuletzt editiert von
                        #1149

                        @wendy2702:

                        Definiere Kostengünstig?

                        Keiner weiß ja was du bisher hast/nutzt. `

                        Kostengünstig bezieht sich auf die Alternativen zu Homematic (100€) oder EFR SmartGridHub (150€).

                        > Im einfachsten Fall reicht ein PI und ein USB Lesekopf.
                        Hört sich gut an. Noch mehr PIs will ich allerdings nicht. Ich habe im selben Raum einen Synology Server mit iobroker in der VM. Ich denke da bekomme ich den USB Lesekopf ebenfalls ans laufen. Kannst du mir Details zu Lesekopf und Software geben?

                        1 Antwort Letzte Antwort
                        0
                        • HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von
                          #1150

                          Software brauchst du keine - nur den smartmeter-Adapter.

                          Den Lesekopf gibt es bei "Volkszähler" für kleines Geld.

                          Ob du ihn allerdings an der Syno betreiben kannst hängt von deinen Fähigkeiten und der Art der Installation des ioBrokers dort ab.

                          Gruß

                          Rainer

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          1 Antwort Letzte Antwort
                          0
                          • bahnuhrB Online
                            bahnuhrB Online
                            bahnuhr
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #1151

                            Ich hatte diesen gekauft.

                            https://www.ebay.de/itm/Stromzahler-Sma … SwceNZPu8c

                            Bei Volkszähler musst du Wochen auf eine Antwortmail warten ;-)

                            mfg

                            Dieter


                            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                            Danke.
                            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                            ScreenToGif :https://www.screentogif.com/downloads.html

                            1 Antwort Letzte Antwort
                            0
                            • P Offline
                              P Offline
                              passuff
                              schrieb am zuletzt editiert von
                              #1152

                              Vielen Dank für die Tips& Links!

                              1 Antwort Letzte Antwort
                              0
                              • F Offline
                                F Offline
                                FriMatze
                                schrieb am zuletzt editiert von
                                #1153

                                Moin in die Runde,

                                ich habe heute einen Adapter (SourceAnalytix) installiert, der Node 8.X benötigt. Also BackUp gemacht und nach der allgemeinen Prozedur Node geupdatet.

                                node -v : v8.15.0

                                nodejs -v: v8.15.0

                                npm -v: 6.4.1

                                Leider geht darauf der Smartmeter Adapter nicht mehr, was natürlich sehr ärgerlich ist.

                                Was kann ich machen?

                                Gruß

                                1 Antwort Letzte Antwort
                                0
                                • apollon77A Offline
                                  apollon77A Offline
                                  apollon77
                                  schrieb am zuletzt editiert von
                                  #1154

                                  Hast Du damit vllt nodejs geupdatet? Dann musst Du mal mindestens "npm rebuild" im ioBroker Verzeichnis aufrufen weil die ganzen Binären Palete (wie zB Serialport) neu gebaut werden müssen.

                                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                  1 Antwort Letzte Antwort
                                  0
                                  • F Offline
                                    F Offline
                                    FriMatze
                                    schrieb am zuletzt editiert von
                                    #1155

                                    Ich habe den Adapter nach meinem Post vollständig gelöscht und neuinstalliert. Ergebnis: Läuft wieder :mrgreen:

                                    Sorry fürs stören. Weitermachen…

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      simpixo
                                      schrieb am zuletzt editiert von
                                      #1156

                                      Servus

                                      Ich bin gerade dabei meinen Gaszähler in den Iobroker zu bekommen

                                      Gibt es eine Möglichkeit Impulse zu zählen!? Auf der USB Schnittstelle sehe ich das was ankommt, aber wie kann ich die zählen oder auswerten!

                                      Ist für den smartmeter was hinsichtlich dieser Funktionalität geplant!?

                                      Gruß

                                      Adrian

                                      Gesendet von iPhone mit Tapatalk Pro

                                      1 Antwort Letzte Antwort
                                      0
                                      • apollon77A Offline
                                        apollon77A Offline
                                        apollon77
                                        schrieb am zuletzt editiert von
                                        #1157

                                        Nein, der Smartmeter Adapter verarbeitet Smartmeter Datenformate … Impulszählen ist nicht drin und aktuell nicht geplant

                                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                        1 Antwort Letzte Antwort
                                        0
                                        • M Offline
                                          M Offline
                                          Matthias I
                                          schrieb am zuletzt editiert von
                                          #1158

                                          Hallo zusammen,

                                          ich habe das Skript von Dieter angepasst. Evtl. hat ja jemand Zeit mal "drüber zu schauen" um mir zu sagen ob die Syntax stimmt?!

                                          Zunächst Variablen anlegen:

                                          // Stromzähler -------------------------------------------------------------------------------------------------------------
                                          createState('javascript.0.Status.Stromzähler.Stunde.Bezogen_HH_in_Wh', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Stunde.Bezogen_WP_in_Wh', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Stunde.Bezogen_Zähler_HH_alt', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Stunde.Bezogen_Zähler_WP_alt', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Stunde.Eingespeist_in_Wh', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Stunde.Eingespeist_Zähler_alt', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Stunde.Produziert_in_Wh', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Stunde.Produziert_Zähler_alt', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Tag.Bezogen_HH_in_Wh', 0, {type: 'number',name: 'Tag',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Tag.Bezogen_Zähler_HH_alt', 0, {type: 'number',name: 'Tag',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Tag.Bezogen_WP_in_Wh', 0, {type: 'number',name: 'Tag',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Tag.Bezogen_Zähler_WP_alt', 0, {type: 'number',name: 'Tag',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Tag.Eingespeist_in_Wh', 0, {type: 'number',name: 'Tag',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Tag.Eingespeist_Zähler_alt', 0, {type: 'number',name: 'Tag',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Tag.Produziert_in_Wh', 0, {type: 'number',name: 'Tag',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Tag.Produziert_Zähler_alt', 0, {type: 'number',name: 'Tag',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Monat.Bezogen_HH_in_Wh', 0, {type: 'number',name: 'Monat',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Monat.Bezogen_Zähler_HH_alt', 0, {type: 'number',name: 'Monat',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Monat.Bezogen_WP_in_Wh', 0, {type: 'number',name: 'Monat',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Monat.Bezogen_Zähler_WP_alt', 0, {type: 'number',name: 'Monat',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Monat.Eingespeist_in_Wh', 0, {type: 'number',name: 'Monat',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Monat.Eingespeist_Zähler_alt', 0, {type: 'number',name: 'Monat',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Monat.Produziert_in_Wh', 0, {type: 'number',name: 'Monat',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Monat.Produziert_Zähler_alt', 0, {type: 'number',name: 'Monat',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Aktuell.Bezogen_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Aktuell.Eingespeist_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Aktuell.Produziert_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Jahr.Bezogen_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Stand_Jahresanfang', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Stand_Jahresanfang', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Jahr.Produziert_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Jahr.Produziert_Stand_Jahresanfang', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Hochrechnung', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          createState('javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
                                          

                                          Anschließend das Skript zur Berechnung der Werte:

                                          (Hinweis: Der Smartmeter, der die Produktion der PV-Anlage an ioBroker übergibt, liefert die Werte in Wh)

                                          // Werte aus smartmeter auslesen und in Variablen schreiben
                                          
                                          var java = 'javascript.0.Status.Stromzähler';								// Die Variable java ersetzt einen Teil der Objektpfadangabe, sodass diese nicht immer komplett eingegeben werden muss
                                          var Stand_Z1a_180 = "smartmeter.1.1-0:1_8_0_255.value";						// Zähler Zia 1.8.0 (Bezug HH NT+HT, = Summe Z1a 1.8.1 + Z1a 1.8.2)
                                          var Stand_Z1a_181 = "smartmeter.1.1-0:1_8_1_255.value";         			// Zähler Z1a 1.8.1	(Bezug HH NT)
                                          var Stand_Z1a_182 = "smartmeter.1.1-0:1_8_2_255.value";						// Zähler Z1a 1.8.2	(Bezug HH HT)
                                          var Stand_Z1a_281 = "smartmeter.1.1-0:2_8_1_255.value";						// Zähler Z1a 2.8.1
                                          var Stand_Z1a_282 = "smartmeter.1.1-0:2_8_2_255.value";						// Zähler Z1a 2.8.2
                                          var Stand_Z1_180 = "smartmeter.0.1-0:1_8_0_255.value";						// Zähler Z1 1.8.0	(= Summer Z1 1.8.1 + Z1 1.8.2)
                                          var Stand_Z1_181 = "smartmeter.0.1-0:1_8_1_255.value";						// Zähler Z1 1.8.1
                                          var Stand_Z1_182 = "smartmeter.0.1-0:1_8_2_255.value";						// Zähler Z1 1.8.2
                                          var Stand_Z1_281 = "smartmeter.0.1-0:2_8_1_255.value";						// Zähler Z1 2.8.1
                                          var Stand_Z1_282 = "smartmeter.0.1-0:2_8_2_255.value";						// Zähler Z1 2.8.2
                                          var Stand_Z2_280 = "fronius.0.inverter.1.TOTAL_ENERGY.value";				// Zähler Z2 2.8.0	(Gesamterzeugung PV, Wert in Wh!)
                                          var Stand_eingespeist = "smartmeter.0.1-0:2_8_0_255.value";         		// Zähler Z1 2.8.0 	(Überschusseinspeisung = Summe Z1 2.8.1 + Z1 2.8.2)
                                          var Stand_produziert = "fronius.0.inverter.1.TOTAL_ENERGY.value";     	  	// Zähler Z2 2.8.0	(Gesamterzeugung PV, Wert in Wh!)
                                          var GesamtwirkleistungHHundWP = "smartmeter.0.1-0:16_7_0_255.value";      	// Zähler links Wirkleistung aktuell Haushalt + Wärmepumpe
                                          var GesamtwirkleistungHH = "smartmeter.1.1-0:16_7_0_255.value";				// Zähler links Wirkleistung aktuell Haushalt
                                          var Tag = "hm-rega.0.21649";
                                          var Monat = "hm-rega.0.21648";
                                          
                                          schedule("59 * * * *", function () {                        // jede Stunde Werte schreiben
                                              var akt_bezogen_HH = parseInt(getState(Stand_Z1a_180).val * 1000);    // dann in Wh
                                              var alt_bezogen_HH = parseInt(getState(java + '.Stunde.Bezogen_Zähler_HH_alt').val * 1000);
                                              setState(java + '.Stunde.Bezogen_HH_in_Wh', akt_bezogen_HH - alt_bezogen_HH);
                                              setState(java + '.Stunde.Bezogen_Zähler_HH_alt', akt_bezogen_HH / 1000);
                                          	var akt_bezogen_WP = parseInt((getState(Stand_Z1_180).val - getState(Stand_Z1a_180).val) * 1000);    // dann in Wh
                                              var alt_bezogen_WP = parseInt(getState(java + '.Stunde.Bezogen_Zähler_WP_alt').val * 1000);
                                              setState(java + '.Stunde.Bezogen_WP_in_Wh', akt_bezogen_WP - alt_bezogen_WP);
                                              setState(java + '.Stunde.Bezogen_Zähler_WP_alt', akt_bezogen_WP / 1000);
                                          	var akt_eingespeist = parseInt(getState(Stand_eingespeist).val * 1000);
                                              var alt_eingespeist = parseInt(getState(java + '.Stunde.Eingespeist_Zähler_alt').val * 1000);
                                              setState(java + '.Stunde.Eingespeist_in_Wh', akt_eingespeist - alt_eingespeist);
                                              setState(java + '.Stunde.Eingespeist_Zähler_alt', akt_eingespeist / 1000);
                                              var akt_prod = parseInt(getState(Stand_produziert).val);			// ohne *1000, da Wert in Wh!
                                              var alt_prod = parseInt(getState(java + '.Stunde.Produziert_Zähler_alt').val * 1000);
                                              setState(java + '.Stunde.Produziert_in_Wh', akt_prod - alt_prod);
                                              setState(java + '.Stunde.Produziert_Zähler_alt', akt_prod / 1000);
                                          });
                                          
                                          schedule("59 23 * * *", function () {                        // jeden Tag Werte schreiben
                                              var akt_bezogen_HH = parseInt(getState(Stand_Z1a_180).val * 1000);
                                              var alt_bezogen_HH = parseInt(getState(java + '.Tag.Bezogen_Zähler_HH_alt').val * 1000);
                                              setState(java + '.Tag.Bezogen_HH_in_Wh', akt_bezogen_HH - alt_bezogen_HH);
                                              setState(java + '.Tag.Bezogen_Zähler_HH_alt', akt_bezogen_HH / 1000);
                                              var akt_bezogen_WP = parseInt((getState(Stand_Z1_180).val - getState(Stand_Z1a_180).val) * 1000);
                                              var alt_bezogen_WP = parseInt(getState(java + '.Tag.Bezogen_Zähler_WP_alt').val * 1000);
                                              setState(java + '.Tag.Bezogen_WP_in_Wh', akt_bezogen_WP - alt_bezogen_WP);
                                              setState(java + '.Tag.Bezogen_Zähler_WP_alt', akt_bezogen_WP / 1000);	
                                              var akt_eingespeist = parseInt(getState(Stand_eingespeist).val * 1000);
                                              var alt_eingespeist = parseInt(getState(java + '.Tag.Eingespeist_Zähler_alt').val * 1000);
                                              setState(java + '.Tag.Eingespeist_in_Wh', akt_eingespeist - alt_eingespeist);
                                              setState(java + '.Tag.Eingespeist_Zähler_alt', akt_eingespeist / 1000);
                                              var akt_prod = parseInt(getState(Stand_produziert).val);		// ohne *1000, da Wert in Wh!
                                              var alt_prod = parseInt(getState(java + '.Tag.Produziert_Zähler_alt').val * 1000);
                                              setState(java + '.Tag.Produziert_in_Wh', akt_prod - alt_prod);
                                              setState(java + '.Tag.Produziert_Zähler_alt', akt_prod / 1000);
                                          });
                                          
                                          schedule("0 0 1 * *", function () {                        // jeden Monat Werte schreiben
                                              var akt_bezogen_HH = parseInt(getState(Stand_Z1a_180).val* 1000);
                                              var alt_bezogen_HH = parseInt(getState(java + '.Monat.Bezogen_Zähler_HH_alt').val * 1000);
                                              setState(java + '.Monat.Bezogen_HH_in_Wh', akt_bezogen_HH - alt_bezogen_HH);
                                              setState(java + '.Monat.Bezogen_Zähler_HH_alt', akt_bezogen_HH / 1000);
                                              var akt_bezogen_WP = parseInt((getState(Stand_Z1_180).val - getState(Stand_Z1a_180).val) * 1000);
                                              var alt_bezogen_WP = parseInt(getState(java + '.Monat.Bezogen_Zähler_WP_alt').val * 1000);
                                              setState(java + '.Monat.Bezogen_WP_in_Wh', akt_bezogen_WP - alt_bezogen_WP);
                                              setState(java + '.Monat.Bezogen_Zähler_WP_alt', akt_bezogen_WP / 1000);	
                                              var akt_eingespeist = parseInt(getState(Stand_eingespeist).val * 1000);
                                              var alt_eingespeist = parseInt(getState(java + '.Monat.Eingespeist_Zähler_alt').val * 1000);
                                              setState(java + '.Monat.Eingespeist_in_Wh', akt_eingespeist - alt_eingespeist);
                                              setState(java + '.Monat.Eingespeist_Zähler_alt', akt_eingespeist / 1000);
                                              var akt_prod = parseInt(getState(Stand_produziert).val);		// ohne *1000, da Wert in Wh!
                                              var alt_prod = parseInt(getState(java + '.Monat.Produziert_Zähler_alt').val * 1000);
                                              setState(java + '.Monat.Produziert_in_Wh', akt_prod - alt_prod);
                                              setState(java + '.Monat.Produziert_Zähler_alt', akt_prod / 1000);
                                          });
                                          
                                          // aktuelle Werte -----------------------------------------------------------------------------------------------------------------------------------------------
                                          on({id: Stand_Z1a_180, change: "ne"}, function(obj) {           // Wert hat sich geändert.
                                              setState('javascript.0.Status.Stromzähler.Aktuell.Bezogen_in_W', parseInt(obj.newState.val * 1000) - parseInt(obj.oldState.val * 1000));
                                              setState('javascript.0.Status.Stromzähler.Jahr.Bezogen_in_W', parseInt(obj.newState.val * 1000) - parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Stand_Jahresanfang').val * 1000));
                                          }); 
                                          on({id: Stand_eingespeist, change: "ne"}, function(obj) {       // Wert hat sich geändert.
                                              setState('javascript.0.Status.Stromzähler.Aktuell.Eingespeist_in_W', parseInt(obj.newState.val * 1000) - parseInt(obj.oldState.val * 1000));
                                              setState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_in_W', parseInt(obj.newState.val * 1000) - parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Stand_Jahresanfang').val * 1000));
                                          }); 
                                          on({id: Stand_produziert, change: "ne"}, function(obj) {        // Wert hat sich geändert.
                                              setState('javascript.0.Status.Stromzähler.Aktuell.Produziert_in_W', parseInt(obj.newState.val * 1000) - parseInt(obj.oldState.val * 1000));
                                              setState('javascript.0.Status.Stromzähler.Jahr.Produziert_in_W', parseInt(obj.newState.val * 1000) - parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Produziert_Stand_Jahresanfang').val * 1000));
                                          }); 
                                          
                                          // Hochrechnung auf Jahr -----------------------------------------------------------------------------------------------------------------------------------------
                                          schedule("*/5 * * * *", function () { 
                                              var Tage = getState(Tag).val + (getState(Monat).val-1) * 30;
                                                  setState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Hochrechnung', parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Bezogen_in_W').val / Tage * 365 / 100) / 10);
                                                  setState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung', parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_in_W').val / Tage * 365 / 100) / 10);
                                                  setState('javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung', parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Produziert_in_W').val / Tage * 365 / 100) / 10);    
                                          });
                                          
                                          // am 31.12\. um 23:59 jeden Jahres Werte setzen -----------------------------------------------------------------------------------------------------------------------------------------
                                          schedule("59 23 31 12 *", function () {                        // jeden Monat Werte schreiben
                                              setState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Stand_Jahresanfang', parseInt(getState(Stand_Z1a_180).val));
                                              setState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Stand_Jahresanfang', parseInt(getState(Stand_eingespeist).val));
                                              setState('javascript.0.Status.Stromzähler.Jahr.Produziert_Stand_Jahresanfang', parseInt(getState(Stand_produziert).val));
                                          });
                                          
                                          

                                          Gruß

                                          Matthias

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          531

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe