Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  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.1k

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

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

Adapter "smartmeter"

Scheduled Pinned Locked Moved ioBroker Allgemein
3.6k Posts 280 Posters 2.4m Views 161 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    wrote on last edited by
    #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 Reply Last reply
    0
    • M Offline
      M Offline
      Matthias I
      wrote on last edited by
      #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 Reply Last reply
      0
      • P Offline
        P Offline
        passuff
        wrote on last edited by
        #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 Reply Last reply
        0
        • M Offline
          M Offline
          Matthias I
          wrote on last edited by
          #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 Reply Last reply
          0
          • wendy2702W Offline
            wendy2702W Offline
            wendy2702
            wrote on last edited by
            #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 Reply Last reply
            0
            • bahnuhrB Online
              bahnuhrB Online
              bahnuhr
              Forum Testing Most Active
              wrote on last edited by
              #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 Reply Last reply
              0
              • P Offline
                P Offline
                passuff
                wrote on last edited by
                #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 Reply Last reply
                0
                • HomoranH Do not disturb
                  HomoranH Do not disturb
                  Homoran
                  Global Moderator Administrators
                  wrote on last edited by
                  #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 Reply Last reply
                  0
                  • bahnuhrB Online
                    bahnuhrB Online
                    bahnuhr
                    Forum Testing Most Active
                    wrote on last edited by
                    #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 Reply Last reply
                    0
                    • P Offline
                      P Offline
                      passuff
                      wrote on last edited by
                      #1152

                      Vielen Dank für die Tips& Links!

                      1 Reply Last reply
                      0
                      • F Offline
                        F Offline
                        FriMatze
                        wrote on last edited by
                        #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 Reply Last reply
                        0
                        • apollon77A Offline
                          apollon77A Offline
                          apollon77
                          wrote on last edited by
                          #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 Reply Last reply
                          0
                          • F Offline
                            F Offline
                            FriMatze
                            wrote on last edited by
                            #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 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              simpixo
                              wrote on last edited by
                              #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 Reply Last reply
                              0
                              • apollon77A Offline
                                apollon77A Offline
                                apollon77
                                wrote on last edited by
                                #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 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  Matthias I
                                  wrote on last edited by
                                  #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 Reply Last reply
                                  0
                                  • apollon77A Offline
                                    apollon77A Offline
                                    apollon77
                                    wrote on last edited by
                                    #1159

                                    Oder auch mal die neuen Adapter von Dutchman checken. Dann braucht man das Skript vllt. Nicht mehr 😉

                                    Gesendet vom Handy …

                                    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 Reply Last reply
                                    0
                                    • bahnuhrB Online
                                      bahnuhrB Online
                                      bahnuhr
                                      Forum Testing Most Active
                                      wrote on last edited by
                                      #1160

                                      Ja, habe den neuen Adapter mal installiert.

                                      Teste derzeit diesen mal für mich.


                                      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 Reply Last reply
                                      0
                                      • C Offline
                                        C Offline
                                        cmeyer86
                                        wrote on last edited by
                                        #1161

                                        Hallo,

                                        ist es auch möglich einen Youless LS 120 damit auszulesen?!

                                        Habe ich bereits versucht, aber irgendwie kriege ich keine neuen Objekte in ioBroker…

                                        Das Log sagt auch lediglich, dass der Adapter gestartet ist.

                                        URL zum Abruf wäre:

                                        http://xxx.xxx.xxx.xxx/a?f=j
                                        

                                        Output der Abfragen sieht so aus:

                                        {"cnt":" 1427,706","pwr":547,"lvl":0,"dev":"","det":"","con":"","sts":"","ps0":0,"raw":0}
                                        

                                        Wobei cnt - Zählerstand und pwr - aktueller Wattzahl entspricht.

                                        mfg

                                        Chris

                                        1 Reply Last reply
                                        0
                                        • apollon77A Offline
                                          apollon77A Offline
                                          apollon77
                                          wrote on last edited by
                                          #1162

                                          Nein aktuell arbeitet der Smartmeter Adapter mit OBIS basierten Protokollen

                                          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 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          740

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe