FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Tommy82 am 27 Februar 2019, 20:58:18

Titel: Stromzähler ablesen in Fhem
Beitrag von: Tommy82 am 27 Februar 2019, 20:58:18
Hallo ich habe so ein Smart meter wie im Bild zusehen als Stromzähler, wie könnte ich diesen in Fhem anbinden?

Danke
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: KölnSolar am 27 Februar 2019, 21:09:47
IR-Lesekopf und OBIS-Modul.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: dkreutz am 27 Februar 2019, 21:11:58
Für Homematic gibt des dafür den Stromzähler HM-ES-TX-WM mit Smartmetersensor ES-IEC, ist aber ein verhältnismäßig teurer Spaß - ca. 130€
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Frood42 am 28 Februar 2019, 10:57:36
Empfänger für Lesekopf:
https://www.elv.de/homematic-zaehlersensor-strom-gas-bausatz.html
Gibts auch fertig, bisschen teurer.

Unter "Zubehör" siehst Du die Produkte zum Ablesen des Zählers, je nachdem welchen Du hast.

Summe ca 80 EUR. Beim Stromzähler kommt man aber kaum günstiger weg.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: maci am 28 Februar 2019, 14:16:31
Ich lese meinen Stromzähler mit Volkszähler aus.
Habe auch der Lesekopf dafür. Hat mich ca 30 € gekostet.

Mit Fhem kannst du dann auf Volkszähler zugreifen und die Werte in Fhem ausgeben.

Ein Grund warum ich Volkszähler nutze, ist die Tatsache, dass meine Übertragung vom Zähler verschlüsselt erfolgt und dass es für meinen Zähler kein Fhem Modul gibt. Mein Zähler gibt im AMIS Format aus.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: majorshark am 28 Februar 2019, 14:59:40
Ich habe auch die Leseköpfe vom Volkszähler-Projekt. Zwei Stück um die 30€. Aber scheinbar gibt es die bei Udo (Volkszähler) nicht mehr. Ich habe jedenfalls nichts mehr gefunden wo man noch welche bestellen könnte.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: connormcl am 28 Februar 2019, 15:07:29
Oben rechts am Zähler ist der IR-Port. Daran einfach einen IR-Lesekopf mit dem integrierten Magnet anheften.

Dann per USB mit OBIS-Modul in FHEM auslesen...

z.B. sowas hier:
https://www.amazon.de/Weidmann-Elektronik-Stromzähler-Infrarot-Lesekopf/dp/B01B8N0ASY/ (https://www.amazon.de/Weidmann-Elektronik-Stromz%C3%A4hler-Infrarot-Lesekopf/dp/B01B8N0ASY/)

Du bekommst Nachrichten im OBIS-Format, also richtige Kommunikation mit dem Zähler, Momentanverbrauch, Gesamtverbrauch, Seriennummer, ... usw. usf.
Impulszähler dagegen usw. zählen nur Impulse und geben sonst keine Information.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Tommy82 am 04 März 2019, 20:02:38
Hallo,
erstmal Danke für die vielen Tips, da ich kein Gerät in der nähe des Zählers habe und auch keine Pie oder ähnliches dort anbringen kann, wäre eine Funklösung schon das richtige für mein Vorhaben, wäre dann diese Variante das richtige?

Zitat von: dkreutz am 27 Februar 2019, 21:11:58
Für Homematic gibt des dafür den Stromzähler HM-ES-TX-WM mit Smartmetersensor ES-IEC, ist aber ein verhältnismäßig teurer Spaß - ca. 130€

und da würde ich dann diese beiden Komponenten benötigen?
https://www.elv.de/homematic-zaehlersensor-strom-gas-bausatz.html
https://www.elv.de/homematic-energie-sensor-fuer-smart-meter-es-iec-komplettbausatz.html

oder brauche ich noch was?

Danke
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Tommy82 am 28 April 2019, 21:27:44
Wären das die richtigen?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: DeeSPe am 03 Mai 2019, 12:06:42
Ich habe einen neuen WS74 Stromzähler (https://www.dzg.de/fileadmin/dzg/content/downloads/produkte-zaehler/ws74/dzg_ws74_Handbuch.pdf) bekommen.
Meinen HM-ES-TX-WM habe ich statt dem alten Ferrari-Sensor einen ES-IEC spendiert, dieser wird auch beim Starten erkannt.
Nur leider bekomme ich überhaupt keine Werte in FHEM!

Weiß jemand einen Rat?

Gruß
Dan
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Morgennebel am 03 Mai 2019, 12:19:51
Zitat von: Frood42 am 28 Februar 2019, 10:57:36
Empfänger für Lesekopf:
https://www.elv.de/homematic-zaehlersensor-strom-gas-bausatz.html
Gibts auch fertig, bisschen teurer.

Ich hab drei solcher Teile im Einsatz und bin nicht begeistert. War am überlegen, ob man nicht die Sensorköpfe an ein ESPEasy nach dieser Dokumentation http://www.frank-schuetz.de/index.php/1-gaszaehler-mit-espeasy-und-fhem anbindet...

Ciao, -MN
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: connormcl am 03 Mai 2019, 23:38:23
Zitat von: DeeSPe am 03 Mai 2019, 12:06:42
Ich habe einen neuen WS74 Stromzähler (https://www.dzg.de/fileadmin/dzg/content/downloads/produkte-zaehler/ws74/dzg_ws74_Handbuch.pdf) bekommen.
Meinen HM-ES-TX-WM habe ich statt dem alten Ferrari-Sensor einen ES-IEC spendiert, dieser wird auch beim Starten erkannt.
Nur leider bekomme ich überhaupt keine Werte in FHEM!

Weiß jemand einen Rat?

Gruß
Dan

Ich kenne den HM-ES-TX-WM jetzt nicht direkt... habe einen Weidmann Optokopf, der über FTDI direkt am Raspberry Pi hängt und an FHEM OBIS-Daten liefert.
Ich nehme an, der HM-ES-TX-WM liefert auch OBIS-Daten an Homematic?

Ist er an der richtigen Schnittstelle am Zähler montiert?

Der WS74 hat laut Handbuch eine Optische Schnittstelle (4) und eine Datenschnittstelle (5).

Die optische (4) sollte für die Impulszählung ohne weitere Info sein. Die würde ich nicht verwenden wollen...da fehlen einem die Umgebungsdaten bzw. man muss sie selbst errechnen.

Für "smarte" Kommunikation sollte es die Datenschnittstelle (5) sein, auf der via OBIS kommuniziert werden sollte.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Christoph Morrison am 04 Mai 2019, 11:50:56
Zitat von: connormcl am 03 Mai 2019, 23:38:23
Ich nehme an, der HM-ES-TX-WM liefert auch OBIS-Daten an Homematic?

Der HM-ES-TX-WM unterstützt mit dem LED-Lesekopf nur die optische Schnittstelle (Impulsausgang) und liefert keine OBIS-Daten an FHEM. Mit dem Ferraris-Zähler prinzipbedingt auch nicht.

So wie du habe ich auch einen USB-IR-Lesekopf an einen Satelliten-Raspi (als Bridge zu MQTT → Haupt-FHEM) an meinen easymeter gebaut; die Daten werte ich mit EnergyCalculator aus, was auch wunderbar funktioniert. Alles andere ist ein teurerer Spaß mit weniger Infos. Würde ich auch immer dem HM-ES-TX-WM vorziehen.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: dirk.k am 04 Mai 2019, 12:10:39
ich habe einen Wemos D1 mini am Stromzähler.
Bei mir mit reedkontakt, geht aber wohl auch mit IR-Empfangs-LED.
Als System habe ich esp-easy drauf.
Der liefert mir per WLAN die Impulse an FHEM, wo ich diese zähle und weiter auswerte.
Kosten < 5 Euro.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: roedert am 04 Mai 2019, 17:35:23
Zitat von: Christoph Morrison am 04 Mai 2019, 11:50:56
Der HM-ES-TX-WM unterstützt mit dem LED-Lesekopf nur die optische Schnittstelle (Impulsausgang) und liefert keine OBIS-Daten an FHEM.

Es gibt auch einen Lesekopf als Bausatz: https://www.elv.de/homematic-energie-sensor-fuer-smart-meter-es-iec-komplettbausatz.html

Scheinbar sind die Stromzähler aber nicht alle kompatibel, mein echelon hat zwar auch eine solche Schnittstelle - ein kompatibles Lesegerät konnte ich aber noch nicht finden.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: dirk.k am 04 Mai 2019, 17:52:27
Mein Zähler im Garten hat auch einen IR-Daten-port.
Dort können wohl alle Werte direkt gelesen werden. Zumindest vom herstellereigenen Lesegerät.
Das ist zwar ganz brauchbar dokumentiert, aber das zu lesen und die Daten zu dekodieren ist doch ein ganz schönes Stück Arbeit.
ABER ... ich habe eine bei Stromverbrauch rot blinkende LED an dem Zähler und genau wie der TO die Angabe "1000Imp/KwH".
Damit sollten 10000 mal blinken = 1KwH sein.
Zusammen mit FHEM deutlich einfacher zu verarbeiten.
 
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Christoph Morrison am 04 Mai 2019, 17:55:13
Zitat von: roedert am 04 Mai 2019, 17:35:23
Es gibt auch einen Lesekopf als Bausatz: https://www.elv.de/homematic-energie-sensor-fuer-smart-meter-es-iec-komplettbausatz.html

Tatsache, man lernt nie aus.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Neuhier am 04 Mai 2019, 21:05:52
Das ist aber nur der Lesekopf, der allein reicht nicht.
Gehört noch Zählersensor-Sendeeinheit HM-ES-TX-WM dazu.
Ob man das Teil auch alleine betreiben kann, weiß ich nicht.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: roedert am 05 Mai 2019, 13:40:35
Zitat von: Neuhier am 04 Mai 2019, 21:05:52
Das ist aber nur der Lesekopf, der allein reicht nicht.
Gehört noch Zählersensor-Sendeeinheit HM-ES-TX-WM dazu.

Ja natürlich nur der Lesekopf, die Antwort bezog sich ja auch speziell auf den HM-ES-TX-WM aus #12.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: DeeSPe am 06 Mai 2019, 11:03:14
Zitat von: connormcl am 03 Mai 2019, 23:38:23
Ich kenne den HM-ES-TX-WM jetzt nicht direkt... habe einen Weidmann Optokopf, der über FTDI direkt am Raspberry Pi hängt und an FHEM OBIS-Daten liefert.
Ich nehme an, der HM-ES-TX-WM liefert auch OBIS-Daten an Homematic?

Ist er an der richtigen Schnittstelle am Zähler montiert?

Der WS74 hat laut Handbuch eine Optische Schnittstelle (4) und eine Datenschnittstelle (5).

Die optische (4) sollte für die Impulszählung ohne weitere Info sein. Die würde ich nicht verwenden wollen...da fehlen einem die Umgebungsdaten bzw. man muss sie selbst errechnen.

Für "smarte" Kommunikation sollte es die Datenschnittstelle (5) sein, auf der via OBIS kommuniziert werden sollte.

Ich habe den ES-IEC direkt an die Datenschnittstelle (5) angeschlossen, dort rastet er auch magnetisch ein.
Leider sind bis heute immer noch keine Verbrauchsdaten eingetrudelt.
Der alte Ferrari Zählersensor ES-Fer hatte vorher immer den Gesamtstromverbrauch (kWh) und den momentanen Verbrauch (W) ausgegeben.

Gruß
Dan
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: connormcl am 08 Mai 2019, 00:11:26
Oben wird behauptet, der HM-ES-TX-WM mit ES-IEC würde nur Impulse zählen können...das kann aber laut ELV-Seite nicht stimmen. Eine "Datenerfassung nach IEC 62056-21" ist OBIS...

Leider schreibst du nicht, wie das Ding an FHEM angebunden ist...

Die Randparameter stehen ja auf der ELV-Seite zum Produkt:
ZitatWichtig: Für die Nutzung des Auslesekopfs ES-IEC in Verbindung mit dem HM-ES-TX-WM ist unbedingt das Aktualisieren mit der Gerätefirmware ab Version 1.1 und eine HM-Zentrale CCU2, Version ab 2.17.15 (Februar/März 2016) erforderlich. Ob der Zähler im Haus diesem Standard entspricht und welche Einstellungen in der CCU2 erforderlich sind, lässt sich beim Energieversorger erfragen bzw. über Zählerhersteller und Typenbezeichnung recherchieren.

Sollte er ohne CCU via CUL oder anders direkt am FHEM hängen, gibts evtl. ein Unterstützungsproblem der Homematic Komponente, oder dein Zähler ist inkompatibel. Oder es liegt ein Hardwaredefekt vor oder der Kopf sitzt nicht richtig (wobei da nicht viel schief gehen kann).

Evtl. auch mal im Homematic Forum jemand suchen, der sowas einsetzt.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Christoph Morrison am 08 Mai 2019, 08:20:20
Zitat von: connormcl am 08 Mai 2019, 00:11:26
Oben wird behauptet, der HM-ES-TX-WM mit ES-IEC würde nur Impulse zählen können...das kann aber laut ELV-Seite nicht stimmen. Eine "Datenerfassung nach IEC 62056-21" ist OBIS...

Nein, ich wusste nicht mal dass es den ES-IEC gibt. Ich habe vom LED-Lesekopf ES-LED geschrieben - und der zählt tatsächlich nur Impulse.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: DeeSPe am 08 Mai 2019, 12:03:47
Zitat von: connormcl am 08 Mai 2019, 00:11:26
Leider schreibst du nicht, wie das Ding an FHEM angebunden ist...

Ich betreibe den Sensor an einer VCCU mit 2x HM-MOD-RPI-PCB.
Bei mir haben alle Geräte die aktuelle Firmware.

Gruß
Dan
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: billy-boy am 08 Mai 2019, 12:22:41

Hallo zusammen

Vielleicht könnte Euch das hier interessieren:

https://forum.creationx.de/forum/index.php?thread/1095-d0-z%C3%A4hler-sml-auslesen-mit-tasmota/&pageNo=1

Es lohnt sich auf jeden Fall einen Blick darauf zu werfen.

Gruß

billy-boy
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: hgw77 am 31 Juli 2019, 10:33:25
Hallo zusammen :)

heute wurde unser alter Zähler durch ein SmartMeter ausgetauscht. Es ist ein Zähler der Firma EFR und der Zähler hört auf die bezeichnung SGM-DD siehe auch hier (https://50komma2.de/ww/2019/01/21/facelift-zweite-generation-der-efr-smart-meter-in-den-startloechern/)  Was mich ein wenig irritiert ist der Punkt das bei der Datenschnittstelle rechts oben drei Dioden und nicht wie üblich zwei Dioden zu sehen sind.

Leider finde ich zu dem Teil keine Anleitung beim Hersteller und auch sonst keine Infos. Ich gehe aber davon aus das ich das SmartMeter mit Volkzähler oder dem OBIS Modul in FHEM und dem IR Kopf von Weidmann (https://www.amazon.de/Weidmann-Elektronik-Stromz%C3%A4hler-Infrarot-Lesekopf/dp/B01B8N0ASY/ref=cm_cr_arp_d_product_top?ie=UTF8) auslesen könnte? um dann auch die Daten in den Fhem zu bekommen.

Vielleicht kennt jemand von euch diesen Zähler? Für mehr Informationen wäre ich dankbar :)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Christoph Morrison am 31 Juli 2019, 11:24:58
Zitat von: hgw77 am 31 Juli 2019, 10:33:25
Hallo zusammen :)

heute wurde unser alter Zähler durch ein SmartMeter ausgetauscht. Es ist ein Zähler der Firma EFR und der Zähler hört auf die bezeichnung SGM-DD siehe auch hier (https://50komma2.de/ww/2019/01/21/facelift-zweite-generation-der-efr-smart-meter-in-den-startloechern/)  Was mich ein wenig irritiert ist der Punkt das bei der Datenschnittstelle rechts oben drei Dioden und nicht wie üblich zwei Dioden zu sehen sind.

Hast du schon dem Hersteller geschrieben?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: pc1246 am 31 Juli 2019, 11:30:03
Zitat von: DeeSPe am 08 Mai 2019, 12:03:47
Ich betreibe den Sensor an einer VCCU mit 2x HM-MOD-RPI-PCB.
Bei mir haben alle Geräte die aktuelle Firmware.

Gruß
Dan
Moin Dan
Hast Du Dir das mal durchgelesen? https://files.elv.com/Assets/Produkte/14/1421/142148/Downloads/142148_zaehlerliste_data.pdf
Ist das in fhem auch so abgebildet? Nur den Kopf tauschen wird definitiv nivht reichen! Ich denke das device loeschen und neu anlegen sollte evtl. zum Ziel fuehren!?
Gruss Christoph
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: DeeSPe am 31 Juli 2019, 11:43:17
Zitat von: pc1246 am 31 Juli 2019, 11:30:03
Moin Dan
Hast Du Dir das mal durchgelesen? https://files.elv.com/Assets/Produkte/14/1421/142148/Downloads/142148_zaehlerliste_data.pdf
Ist das in fhem auch so abgebildet? Nur den Kopf tauschen wird definitiv nivht reichen! Ich denke das device loeschen und neu anlegen sollte evtl. zum Ziel fuehren!?
Gruss Christoph

Moin Christoph,

ich hatte mich bisher nicht weiter damit beschäftigt.
Danke für die Info, das PDF kannte ich so noch nicht. Zumindest wird dort mein Zähler aufgeführt und auch beschrieben dass es nur mit PIN möglich ist die Datenübertragung zu aktivieren.
Werde mich dann demnächst mit den neu gewonnenen Informationen noch einmal dran machen.

Gruß
Dan
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: hgw77 am 31 Juli 2019, 12:24:51
Zitat von: Christoph Morrison am 31 Juli 2019, 11:24:58
Hast du schon dem Hersteller geschrieben?

Bei dem Zähler war ein Infoblatt mit dabei. Da stand drin das man sich den Aktivierungscode (zum Freischalten der zusätzlichen Informationen) und die Anleitung beim Kundenservice anfordern kann. Das habe ich getan und warte mal wann die sich melden. Seltsamerweise findet man nicht einmal auf der Herstellerseite eine Info zu dem Zähler. Das Gerät ist wohl zu neu  ;D

Ich hoffe in der Anleitung stehen ein paar nützliche Informationen
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: connormcl am 21 August 2019, 00:51:20
Ich würde mir einfach den Weidmann-Kopf holen und testen, was er liest.

Bei unseren ISKA MT681 war auch dieses Schreiben dabei bzw. kam vom Versorger.

Der Code ist für die Kommunikation mit der "Taschenlampe", wo man damit reinleuchten und der am Display dann Dinge anzeigt.
Damit kann man in diesem Fall nur absolut unwichtige Dinge einsehen, die ich schon nicht mehr weis.

Zudem ist das reinleuchten bzw. reinmorsen das absolut schlechteste interagieren mit einem Gerät, was mir je untergekommen ist.
Man kann quasi nicht reproduzierbar irgendwas gezielt eingeben, geschweige denn eine PIN. -> 8314 ...: Leuchte 8 mal rein, Pause, leuchte 3 mal rein usw. -> völlig bescheuert!

Die relevanten Sachen, wie Gesamtverbrauch, Momentanverbrauch, Cycling durch HT/NT usw. senden die Dinger völlig ohne weitere Konfiguration von sich per OBIS über Infrarot raus und da hat man alles was man braucht in FHEM.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Markus. am 03 September 2019, 15:06:41
Habe den selben Zähler und muss Dir recht geben, die Codeeingabe ist der letzte Krampf. Bin aber am Überlegen ob ich mir nicht den Homematic Kopf mit dem HM-ES-TX-WM hole, da ich dort nicht noch einen Raspi verbauen will. Oder kann man den Schreib/Lesekopf in Kombination mit einem Wemos auch über WLAN an FHEM mit Obis verbinden?

Gruß

Markus
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: KölnSolar am 03 September 2019, 15:12:28
cs-online hat es scheinbar mit ESP8266 (https://forum.fhem.de/index.php/topic,51948.msg970158.html#msg970158) realisiert.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Jackie am 22 Januar 2022, 19:46:18
Hallo,

mich beschäftigt dieses Thema auch, ich habe auch schon folgenden Eintrag im Wiki gefunden:

https://wiki.fhem.de/wiki/Stromz%C3%A4hler_auslesen

Daraus geht für mich aber nicht hervor, wie genau das Auslesen in FHEM denn nun funktioniert. Also dass man das ganze per USB-Seriell Adapter, oder direkt über die GPIO Pins auslesen kann habe ich ja kapiert, aber mir fehlt jetzt der nächste Schritt, was in FHEM nun wie genau zu konfigurieren ist, damit man die Werte auch auswerten und visualisieren kann. Gibt es dazu irgendwo ein konkretes, lauffähiges Beispiel? Danke!
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: hapege am 31 Januar 2022, 09:45:41
Hallo,

ich habe das am Wochenede bei mir so gelöst:

Lesekopf bei ebay bestellt:
https://www.ebay.de/itm/313460034498 (https://www.ebay.de/itm/313460034498)

An einen WemosD1 mini angelötet:
https://haus-automatisierung.com/hardware/2021/09/25/infrarot-lesekopf-stromzaehler.html (https://haus-automatisierung.com/hardware/2021/09/25/infrarot-lesekopf-stromzaehler.html)

Tasmota mit Scripting kompiliert, siehe Tasmota Smart Meter Interface:
https://tasmota.github.io/docs/Smart-Meter-Interface/ (https://tasmota.github.io/docs/Smart-Meter-Interface/)
(die kompilierte Firmware könnte ich notfalls hier hochladen)

Damit schickt der D1mini die gelesenen Daten per MQTT raus, was sich wunderbar in fhem darstellen lässt :-), siehe Screenshots.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Nogga am 01 Februar 2022, 15:01:07
Also ich hab einen seriellen Lesekopf (den gibts bei Ebay glaube ich für ~17 EUR) an einen Wemos D1 gelötet und mit ESP-Link geflashed.
Ich binde den Leser dann per WLAN und dem OBIS Modul an:

Funktioniert einwandfrei seit bald 1 Jahr...

Update: Genau den oben verlinkten Leser habe ich auch von Ebay ;-)

Internals:
   DEF        192.168.178.11:23 SML
   DeviceName 192.168.178.11:23
   FD         15
   FUUID      -----
   MeterType  SML
   NAME       UG_Stromzaehler
   NR         202
   PARTIAL   
   STATE      9 W
   TYPE       OBIS
   Helper:
     DBLOG:
       power:
         DbLog_DB:
           TIME       1643724023.73473
           VALUE      9
       total_consumption:
         DbLog_DB:
           TIME       1643724023.73473
           VALUE      2172557.7
   READINGS:
     2021-05-25 18:13:39   0.118.5.0.108.255 `2
     2021-05-28 13:34:08   0.118.5.0.119.255 rb
     2021-05-29 12:16:41   0.118.5.0.123.255 0
     2021-05-30 20:42:19   0.118.5.0.128.255 -1e+30
     2021-05-19 03:15:46   0.118.5.0.81.255 0
     2021-05-21 22:18:07   0.118.5.0.93.255 `2
     2021-08-02 23:16:33   1.0.96.50.1.255 EMH
     2022-02-01 15:00:23   ManufID2        EMH
     2022-02-01 15:00:23   power           9
     2022-02-01 15:00:23   powerL1         192
     2022-02-01 15:00:23   powerL2         -154
     2022-02-01 15:00:23   powerL3         -28
     2022-01-26 14:05:55   state           opened
     2022-02-01 15:00:23   total_consumption 2172557.7
   helper:
     BUFFER     
     DIRECTIONSUM >
     EoM        1
     LastPacketTime 1643724023.77171
     NETDEV     1
     SPEED      5
     TRIGGERTIME 1643202350.45722
     Channels:
       1.0.36.7.0.255 powerL1
       1.0.56.7.0.255 powerL2
       1.0.76.7.0.255 powerL3
     DEVICES:
       
       5
       
     RULECACHE:
       1-0:1.8.0*255 Counter
       1-0:16.7.0*255 Channels
       1-0:96.50.1*1 ManufID2
       255-255:255.255.255*255 unknown
     directions:
Attributes:
   DbLogInclude power,total_consumption
   channels   {"1.0.36.7.0.255"=>"powerL1", "1.0.56.7.0.255"=>"powerL2",  "1.0.76.7.0.255"=>"powerL3"}
   event-on-change-reading .*
   group      # Strommessung
   interval   5
   pollingMode on
   room       Energie,Steuerung
   stateFormat power W
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: roedert am 08 Februar 2022, 15:17:23
Zitat von: hapege am 31 Januar 2022, 09:45:41
(die kompilierte Firmware könnte ich notfalls hier hochladen)

Das wäre super  ;D
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: ch.eick am 08 Februar 2022, 16:28:26
Ich wollte nicht selber basteln und habe einen DvLIR Lesekopf, der dann mit HTTPMOD ausgelesen werden kann.
Der kostet zwar einiges, ist aber profie Ware und ich durfte Ihn für einen Bericht über die Implemenierung testen ;-)

VG
   Christian
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: hapege am 08 Februar 2022, 21:36:30
Zitat
Zitat
(die kompilierte Firmware könnte ich notfalls hier hochladen)
Das wäre super

Bitteschön :)
Basis Tasmota 9.5.0, kompiliert mit

#define USE_SCRIPT
#define USE_SML_M
#undef USE_RULES
#define USE_SCRIPT_JSON_EXPORT
#define USE_SCRIPT_WEB_DISPLAY
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: sn0000py am 09 März 2022, 12:31:53
Ne Frage hat jemand diesen hier
https://www.ebay.de/itm/154873080542
oder
https://www.ebay.de/itm/313892218073
und weiss ob die Dinger mit den AMIS Geräte funktionieren also den Siemens TD-3511, die benötigen ja eine AES128 Key (den Key erhält man eh beim NEtzbetreiber, aber kann der das auch entschlüsseln?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: WW am 09 März 2022, 19:08:09
Angeregt durch diesen Artikel (https://www.mwinklerblog.de/smarthome/aktoren-sensoren/stromz%C3%A4hler-digital/ (https://www.mwinklerblog.de/smarthome/aktoren-sensoren/stromz%C3%A4hler-digital/)) habe ich mit einem Fototransistor und einem Widerstand sowie einem D1-Mini mit ESPEasy und dem OBIS-Modul meinen Zähler eingebunden.
Mein Zähler liefert die Werte im Sekundentakt über die IR-Schnittstelle. Die gesamte Datenauswertung erfolgt dabei FHEM-seitig. Dies gefiel mir nicht und ich habe mit Tasmota eine Lösung gefunden, bei der die gesamte Vorverdichtung auf ESP-Seite passiert.
Über den TasmoCompiler habe ich (wie schon von "hapege" beschrieben) mir die Tasmota-Software mit folgenden Erweiterungen kompiliert:

#ifndef USE_SCRIPT
#define USE_SCRIPT
#endif
#ifndef USE_SML_M
#define USE_SML_M
#endif
#ifdef USE_RULES
#undef USE_RULES
#endif

Siehe hierzu auch: https://tasmota.github.io/docs/Smart-Meter-Interface/ (https://tasmota.github.io/docs/Smart-Meter-Interface/)

Für meinen Zähler waren folgende Meter-Definitionen erforderlich:

>D 

>B 
->sensor53 r

>M 1
+1,3,s,0,9600,SML

;1-0:1.8.0*255(
1,77070100010800ff@1000,Verbrauch,kWh,total_consumption,4

;1-0:16.7.0*255(
1,77070100100700ff@1,akt. Leistung,W,power,0

;1-0:32.7.0*255(
1,77070100200700ff@1,Spannung L1,V,voltage_L1,1

;1-0:52.7.0*255(
1,77070100340700ff@1,Spannung L2,V,voltage_L2,1

;1-0:72.7.0*255(
1,77070100480700ff@1,Spannung L2,V,voltage_L3,1

;1-0:31.7.0*255(
1,770701001F0700ff@1,Strom L1,A,current_L1,2

;1-0:51.7.0*255(
1,77070100330700ff@1,Strom L2,A,current_L2,2

;1-0:71.7.0*255(
1,77070100470700ff@1,Strom L3,A,current_L3,2

;1-0:81.7.4*255(
1,77070100510704ff@1,Phase L1,°,angle_L1,0

;1-0:81.7.15*255(
1,7707010051070Fff@1,Phase L2,°,angle_L2,0

;1-0:81.7.26*255(
1,7707010051071Aff@1,Phase L3,°,angle_L3,0

;1-0:14.7.0*255(
1,770701000E0700ff@1,Frequenz,Hz,frequency,1

#


Es ergibt sich dann eine Anzeige entsprechend beigefügtem Bild. Die entsprechenden Werte werden per MQTT übertragen.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: sn0000py am 15 März 2022, 08:56:13
So habe nun so eine Adapter erworben, ist eine kleine Platine mit einem ESP8266.
der kann den SmartMEter per RFID auslesen, und funktioniert dabei auch der AMIS Key (die verschlüsselung)
und nun schickt das Teil fröhlich jede Sekunde die Daten an meinen MQTT Server - perfekt!
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Helmi55 am 16 März 2022, 09:59:43
Hallo @sn0000py
Du hast den Weidmann? - der hängt an einem RPi?
Wie schickst du die Daten an MQTT?
Mit dem OBISV2 Modul?

Danke
Gruß
Helmut
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: sn0000py am 16 März 2022, 10:21:18
nein das ist ein AMIS Leser

ist eine kleine Platine die du mit 3 Magnete an den Zähler draufploppst, und mit USB mit stromversorgt.
Der schickt dann per WLAN das ganze ins Netz.

der hier: https://www.mitterbaur.at/amis-leser.html

funkt bei mir nun schon tag 3 super - aber weiss ned ob der auch bei anderen als denen von der NEtzOÖ (Siemens TD-3511) auch geht?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Helmi55 am 16 März 2022, 10:33:46
Danke für die rasche Antwort.
Muss mal nachsehen was ich da heute in NÖ bekommen habe

Ggfs. melde ich mich nochmals
Schönen Tag
Helmut
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 20 März 2022, 10:38:55
Ich habe es nun geschafft alle meine Zähler in einem esp8266 unterzubringen.

Ich habe zwei Counter S0-Zähler für Wasser und PV und einen Zweirichtungszähler eingebunden.

Damit konnte ich einen ELV Stromzähler EM 1000-S und einen Lesekopf über serielle Schnittstelle zum Raspi mit OBIS-Stromzähler-Device in Rente schicken.

Die Daten werden über MQTT an FHEM geschickt.

Die erforderlichen Bauteile (esp8266, Fototransistor, Neodym-Magnet) hatte ich noch in der Grabbelkiste. Den Wasserzähler über TCRT5000 Infrarot-Reflexionsschalter hatte ich zuvor über espeasy eingebunden gehabt.

Visualisierung erfolgt hierrüber:

https://wiki.fhem.de/wiki/DOIF/Automatisierung#Tages-.2C_Monats-_und_Jahresstatistik_f.C3.BCr_Strom-.2C_Gas-.2C_Wasserz.C3.A4hler_und_andere_Z.C3.A4hler
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Maista am 20 März 2022, 16:03:02
@Damian

danke für die Beispiele.
Ich hatte anfangs ebenfalls vor meine Wasseruhr mit einer Lichtschranke zu erfassen.
Hatte mir dazu das hier https://www.stall.biz/project/intelligenter-impulsgeber-w-mit-s0-schnittstelle-zum-nachruesten-fuer-konventionelle-wasserzaehler (https://www.stall.biz/project/intelligenter-impulsgeber-w-mit-s0-schnittstelle-zum-nachruesten-fuer-konventionelle-wasserzaehler)
bestellt. Nach dem ich nach einiger Zeit auf der Seite war hat mich der Hinweis zum Thema "Algenbildung" aber wieder davon abgebracht.
Verwende nun die ESP32CAM-Lösung.

Der eHZ wird bei mir nun wie bei Dir abgefragt. Leider stellt mein Versorger nur die Momentane Leistung und den Zählerstand zur Verfügung :(

Jetzt werde ich erst einmal versuchen deine Lösung umzusetzen  :D

Gruss Gerd
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 20 März 2022, 17:10:46
Zitat von: Maista am 20 März 2022, 16:03:02
@Damian

danke für die Beispiele.
Ich hatte anfangs ebenfalls vor meine Wasseruhr mit einer Lichtschranke zu erfassen.
Hatte mir dazu das hier https://www.stall.biz/project/intelligenter-impulsgeber-w-mit-s0-schnittstelle-zum-nachruesten-fuer-konventionelle-wasserzaehler (https://www.stall.biz/project/intelligenter-impulsgeber-w-mit-s0-schnittstelle-zum-nachruesten-fuer-konventionelle-wasserzaehler)
bestellt. Nach dem ich nach einiger Zeit auf der Seite war hat mich der Hinweis zum Thema "Algenbildung" aber wieder davon abgebracht.
Verwende nun die ESP32CAM-Lösung.

Der eHZ wird bei mir nun wie bei Dir abgefragt. Leider stellt mein Versorger nur die Momentane Leistung und den Zählerstand zur Verfügung :(

Jetzt werde ich erst einmal versuchen deine Lösung umzusetzen  :D

Gruss Gerd

Unser Stromzähler liefert auch nur Momentanleistung und Zählerstände - das reicht. Beim Stromversorger habe ich die dazugehörige PIN zum Zähler nach Beantragung erhalten, mit der man die Genauigkeit der Angaben erhöhen kann.

Für den S0-Zähler kann man sich relativ einfach aus den Impulsen nicht nur den Stromverbrauch, sondern über userReadings auch die momentane Leistung errechnen:

power_pv {OldReadingsAge($name,"SENSOR_COUNTER_C1",0) == 0 ? 0 : (ReadingsVal($name,"SENSOR_COUNTER_C1",0)-OldReadingsVal($name,"SENSOR_COUNTER_C1",0))*3.6/OldReadingsAge($name,"SENSOR_COUNTER_C1",0)}

Die Wasserzählerlösung hat mich nicht mal 2 Euro gekostet :)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Bartimaus am 27 März 2022, 21:34:34
Zitat von: Damian am 20 März 2022, 10:38:55
Ich habe es nun geschafft alle meine Zähler in einem esp8266 unterzubringen.

Ich habe zwei Counter S0-Zähler für Wasser und PV und einen Zweirichtungszähler eingebunden.

Damit konnte ich einen ELV Stromzähler EM 1000-S und einen Lesekopf über serielle Schnittstelle zum Raspi mit OBIS-Stromzähler-Device in Rente schicken.

Die Daten werden über MQTT an FHEM geschickt.

Die erforderlichen Bauteile (esp8266, Fototransistor, Neodym-Magnet) hatte ich noch in der Grabbelkiste. Den Wasserzähler über TCRT5000 Infrarot-Reflexionsschalter hatte ich zuvor über espeasy eingebunden gehabt.

Visualisierung erfolgt hierrüber:

https://wiki.fhem.de/wiki/DOIF/Automatisierung#Tages-.2C_Monats-_und_Jahresstatistik_f.C3.BCr_Strom-.2C_Gas-.2C_Wasserz.C3.A4hler_und_andere_Z.C3.A4hler

Sehr cool, vielen Dank dafür.
Aber hilf bitte einem alten Mann mal, diese Fehlermeldung bekomme ich condition c02: syntax error, line 1, at EOF...
Weiss aber garnicht, wo der zweite Timer versteckt ist. Zum Test habe ich erstmal nur einen Zähler (PV) eingebunden.

"mid" ist doch der erste Timer... und dann ?

mid {[00:01];;                          ## Sicherung der Daten um Mitternacht
  for (my $i=0;;$i<@{$_counter};;$i++) { ## Für jeden Zähler wird die Funktion midnight aufgerufen
    midnight($_counter[$i][0],$_counter[$i][1],$mday,$yday);;
  }
}

init {                                ## initialisierung aller Readings
  for (my $i=0;;$i<@{$_counter};;$i++) {## Für jeden Zähler werden Readings über die Funktion init_readings initialisiert
    init_readings($_counter[$i][0],$_counter[$i][1]);;
  }
}

DEF TPL_stat (
  day_count_$1_$2 { ## bei einem Event des Zählers, wird der tägliche, monatliche und jährliche Verbrauch im jeweiligen Reading festgehalten
                    ##  $1 Zählerdevice, $2 Zählerreading

    my $diff = int(([$1:$2,0]-(get_Reading("$1.$2.last_counter",0)))*1000)/1000;;
    if ($diff < 0 and get_Reading("$1.$2.last_counter",0) > 0  or $diff > 0 and get_Reading("$1.$2.last_counter",0) < 0) {  ## Wenn der Zähler zurückgesetzt wurde, dann Zählerstände zurückrechnen
      set_Reading("$1.$2.day_counter",-(get_Reading("$1.$2.day",0)));;
      set_Reading("$1.$2.month_counter",-(get_Reading("$1.$2.month",0)));;
      set_Reading("$1.$2.year_counter",-(get_Reading("$1.$2.year",0)));;
    }
    set_Reading ("$1.$2.last_counter",[$1:$2,0]);;
    set_Reading ("$1.$2.day",int(([$1:$2,0]-(get_Reading("$1.$2.day_counter",0)))*1000)/1000,1);;
    set_Reading ("$1.$2.month",int(([$1:$2,0]-(get_Reading("$1.$2.month_counter",0)))*1000)/1000,1);;
    set_Reading ("$1.$2.year",int(([$1:$2,0]-(get_Reading("$1.$2.year_counter",0)))*1000)/1000,1);;
  }
)

## Pro Zähler wird über eine FOR-Schleife ein day_count_<Device>_<Reading>-Block generiert
FOR(@{$_counter},TPL_stat($1$1,$1$2)) ## $1$1 entspricht dem Device, $1$2 entspricht dem Reading
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 27 März 2022, 22:17:14
Du zeigst mir aber nicht die ganze Definition?

Es gibt nur einen Timer, der kümmert sich um all deine Devices ;)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Bartimaus am 27 März 2022, 22:42:55
Nope, war nur der Abschnit der IMO den Timer beinhaltete. Weil die Fehlermeldung sich auf C02 bezieht.

Hier die ganze Definition:  :-[

subs {
##                     Device        Reading   
  push (@{$_counter},["Shelly.DachbodenPV","TagesErtragPV"]);;         ## Solarenergie
 
sub midnight { ## Diese Funktion wird um Mitternacht ausgeführt
  my ($device,$reading,$mday,$yday)=@_;;
  set_Reading("$device.$reading.day_counter",ReadingsVal($device, $reading,0));;   
  set_Reading("$device.$reading.last_day",get_Reading("$device.$reading.day",0),1);;
  set_Reading("$device.$reading.day",0,1);;
  if ($mday == 1) {
    set_Reading("$device.$reading.month_counter",ReadingsVal($device, $reading,0));;
    set_Reading("$device.$reading.last_month",get_Reading("$device.$reading.month",0),1);;
    set_Reading("$device.$reading.month",0,1);;
  }
  if ($yday == 1) {
    set_Reading("$device.$reading.year_counter",ReadingsVal($device, $reading,0));;
    set_Reading("$device.$reading.last_year",get_Reading("$device.$reading.year",0),1);;
    set_Reading("$device.$reading.year",0,1);;
  }
}

sub init_readings {
  my ($device,$reading)=@_;;
  if (get_Reading("$device.$reading.day_counter","") eq "") {   ## Initialisierung der Readings
    ## aktuellen Zählerstand initialisieren
    set_Reading("$device.$reading.last_counter",ReadingsVal($device, $reading,0));;
    set_Reading("$device.$reading.day_counter",ReadingsVal($device, $reading,0));;
    set_Reading("$device.$reading.month_counter",ReadingsVal($device, $reading,0));;
    set_Reading("$device.$reading.year_counter",ReadingsVal($device, $reading,0));;
 
    set_Reading ("$device.$reading.day",0);;           ## aktueller Tagesverbrauch
    set_Reading ("$device.$reading.month",0);;         ## aktueller Monatsverbrauch
    set_Reading ("$device.$reading.year",0);;          ## aktueller Jahresverbrauch
    set_Reading ("$device.$reading.last_day",0);;      ## Verbrauch des letzten Tages
    set_Reading ("$device.$reading.last_month",0);;    ## Verbrauch des letzten Monats
    set_Reading ("$device.$reading.last_year",0);;     ## Verbrauch des letzten Jahres
## Log definieren
fhem ("defmod log.counter.$device.$reading FileLog ./log/counter.$device.$reading.log $SELF:$device.$reading.last_(day|month|year):.*");;
    fhem ("attr log.counter.$device.$reading room Filelogs");;
}

}
} ## Ende subs-Block

mid {[00:01];;                          ## Sicherung der Daten um Mitternacht
  for (my $i=0;;$i<@{$_counter};;$i++) { ## Für jeden Zähler wird die Funktion midnight aufgerufen
    midnight($_counter[$i][0],$_counter[$i][1],$mday,$yday);;
  }
}

init {                                ## initialisierung aller Readings
  for (my $i=0;;$i<@{$_counter};;$i++) {## Für jeden Zähler werden Readings über die Funktion init_readings initialisiert
    init_readings($_counter[$i][0],$_counter[$i][1]);;
  }
}

DEF TPL_stat (
  day_count_$1_$2 { ## bei einem Event des Zählers, wird der tägliche, monatliche und jährliche Verbrauch im jeweiligen Reading festgehalten
                    ##  $1 Zählerdevice, $2 Zählerreading

    my $diff = int(([$1:$2,0]-(get_Reading("$1.$2.last_counter",0)))*1000)/1000;;
    if ($diff < 0 and get_Reading("$1.$2.last_counter",0) > 0  or $diff > 0 and get_Reading("$1.$2.last_counter",0) < 0) {  ## Wenn der Zähler zurückgesetzt wurde, dann Zählerstände zurückrechnen
      set_Reading("$1.$2.day_counter",-(get_Reading("$1.$2.day",0)));;
      set_Reading("$1.$2.month_counter",-(get_Reading("$1.$2.month",0)));;
      set_Reading("$1.$2.year_counter",-(get_Reading("$1.$2.year",0)));;
    }
    set_Reading ("$1.$2.last_counter",[$1:$2,0]);;
    set_Reading ("$1.$2.day",int(([$1:$2,0]-(get_Reading("$1.$2.day_counter",0)))*1000)/1000,1);;
    set_Reading ("$1.$2.month",int(([$1:$2,0]-(get_Reading("$1.$2.month_counter",0)))*1000)/1000,1);;
    set_Reading ("$1.$2.year",int(([$1:$2,0]-(get_Reading("$1.$2.year_counter",0)))*1000)/1000,1);;
  }
)

## Pro Zähler wird über eine FOR-Schleife ein day_count_<Device>_<Reading>-Block generiert
FOR(@{$_counter},TPL_stat($1$1,$1$2)) ## $1$1 entspricht dem Device, $1$2 entspricht dem Reading
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 27 März 2022, 22:58:12
Du hast dir da was verbastelt, damit geht es, als RAW-Definition:

defmod di_counter_new DOIF subs {\
##                     Device        Reading   \
  push (@{$_counter},["Shelly.DachbodenPV","TagesErtragPV"]);; ## Wasserzähler\
  \
sub midnight { ## Diese Funktion wird um Mitternacht ausgeführt\
  my ($device,$reading,$mday,$yday)=@_;;\
  set_Reading("$device.$reading.day_counter",ReadingsVal($device, $reading,0));;   \
  set_Reading("$device.$reading.last_day",get_Reading("$device.$reading.day",0),1);;\
  set_Reading("$device.$reading.day",0,1);;\
  if ($mday == 1) {\
    set_Reading("$device.$reading.month_counter",ReadingsVal($device, $reading,0));;\
    set_Reading("$device.$reading.last_month",get_Reading("$device.$reading.month",0),1);;\
    set_Reading("$device.$reading.month",0,1);;\
  }\
  if ($yday == 1) {\
    set_Reading("$device.$reading.year_counter",ReadingsVal($device, $reading,0));;\
    set_Reading("$device.$reading.last_year",get_Reading("$device.$reading.year",0),1);;\
    set_Reading("$device.$reading.year",0,1);;\
  }\
}\
\
sub init_readings {\
  my ($device,$reading)=@_;;\
  if (get_Reading("$device.$reading.day_counter","") eq "") {   ## Initialisierung der Readings\
    ## aktuellen Zählerstand initialisieren\
    set_Reading("$device.$reading.last_counter",ReadingsVal($device, $reading,0));;\
    set_Reading("$device.$reading.day_counter",ReadingsVal($device, $reading,0));; \
    set_Reading("$device.$reading.month_counter",ReadingsVal($device, $reading,0));;\
    set_Reading("$device.$reading.year_counter",ReadingsVal($device, $reading,0));;\
  \
    set_Reading ("$device.$reading.day",0);;           ## aktueller Tagesverbrauch\
    set_Reading ("$device.$reading.month",0);;         ## aktueller Monatsverbrauch\
    set_Reading ("$device.$reading.year",0);;          ## aktueller Jahresverbrauch\
    set_Reading ("$device.$reading.last_day",0);;      ## Verbrauch des letzten Tages\
    set_Reading ("$device.$reading.last_month",0);;    ## Verbrauch des letzten Monats\
    set_Reading ("$device.$reading.last_year",0);;     ## Verbrauch des letzten Jahres\
## Log definieren\
fhem ("defmod log.counter.$device.$reading FileLog ./log/counter.$device.$reading.log $SELF:$device.$reading.last_(day|month|year):.*");;\
    fhem ("attr log.counter.$device.$reading room Filelogs");;\
}\
\
}\
} ## Ende subs-Block\
\
mid {[00:01];;                          ## Sicherung der Daten um Mitternacht\
  for (my $i=0;;$i<@{$_counter};;$i++) { ## Für jeden Zähler wird die Funktion midnight aufgerufen\
    midnight($_counter[$i][0],$_counter[$i][1],$mday,$yday);;\
  }\
}\
\
init {                                ## initialisierung aller Readings\
  for (my $i=0;;$i<@{$_counter};;$i++) {## Für jeden Zähler werden Readings über die Funktion init_readings initialisiert\
    init_readings($_counter[$i][0],$_counter[$i][1]);;\
  }\
}\
\
DEF TPL_stat (\
  day_count_$1_$2 { ## bei einem Event des Zählers, wird der tägliche, monatliche und jährliche Verbrauch im jeweiligen Reading festgehalten\
                    ##  $1 Zählerdevice, $2 Zählerreading\
\
    my $diff = int(([$1:$2,0]-(get_Reading("$1.$2.last_counter",0)))*1000)/1000;;\
    if ($diff < 0 and get_Reading("$1.$2.last_counter",0) > 0  or $diff > 0 and get_Reading("$1.$2.last_counter",0) < 0) {  ## Wenn der Zähler zurückgesetzt wurde, dann Zählerstände zurückrechnen\
      set_Reading("$1.$2.day_counter",-(get_Reading("$1.$2.day",0)));;\
      set_Reading("$1.$2.month_counter",-(get_Reading("$1.$2.month",0)));;\
      set_Reading("$1.$2.year_counter",-(get_Reading("$1.$2.year",0)));;\
    }\
    set_Reading ("$1.$2.last_counter",[$1:$2,0]);;\
    set_Reading ("$1.$2.day",int(([$1:$2,0]-(get_Reading("$1.$2.day_counter",0)))*1000)/1000,1);;\
    set_Reading ("$1.$2.month",int(([$1:$2,0]-(get_Reading("$1.$2.month_counter",0)))*1000)/1000,1);;\
    set_Reading ("$1.$2.year",int(([$1:$2,0]-(get_Reading("$1.$2.year_counter",0)))*1000)/1000,1);;\
  }\
)\
\
## Pro Zähler wird über eine FOR-Schleife ein day_count_<Device>_<Reading>-Block generiert\
FOR(@{$_counter},TPL_stat($1$1,$1$2)) ## $1$1 entspricht dem Device, $1$2 entspricht dem Reading
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Bartimaus am 27 März 2022, 23:03:05
Wow, vielen lieben Dank Schaue ich mir morgen im Detail mal an, damit ich vielleicht auch verstehe was ich falsch gemacht habe...

Edith: Sch... Sommerzeit, kann nicht einschlafen, also Zeit versucht sinnvoll zu nutzen.
Fehler gefunden... habe Deinen Code zuerst in Notepad++ kopiert, darin editiert, und nicht gemerkt das jedes Semikolon verdoppelt wurde......

Jetzt habe ich auch direkt meinen Strombezugszähler + Ölzähler eingebunden. Bin gespannt.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 06 April 2022, 18:15:41
Hier noch mal ein Update zu meiner Zählerlösung hier: https://forum.fhem.de/index.php/topic,97959.msg1214276.html#msg1214276

Überrascht war ich, dass bei Tasmota auch die einfachen Counter im Gegensatz zu EspEasy offenbar ihren Stand ohne Stromversorgung behalten, allerdings werden sie natürlich nicht weiter gezählt, wenn der Stecker abgezogen ist.

Falls man einen einfachen Counter für Strom, Gas, Wasser benötigt, auf den man sich auch beim Stromausfall verlassen kann, weil man seine Zählerstände nicht dauerhaft anpassen will, so kann man sich das Leben recht einfach machen.

Ich habe eine kaum benutzte USV-Minipowerbank (Werbegeschenk) in der Schublade gefunden, aufgeladen, dazwischen geschaltet und mit Stromausfall getestet - funktioniert.

Rein rechnerisch sollte eine Unterbrechung der Stromversorgung von 10 Stunden und mehr nun kein Problem darstellen :)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Klaus_R am 07 April 2022, 09:43:57
Zitat von: Damian am 06 April 2022, 18:15:41
Ich habe eine kaum benutzte USV-Minipowerbank (Werbegeschenk) in der Schublade gefunden, aufgeladen, dazwischen geschaltet und mit Stromausfall getestet - funktioniert.

Rein rechnerisch sollte eine Unterbrechung der Stromversorgung von 10 Stunden und mehr nun kein Problem darstellen :)

Sehr interressant! Hab auch schon versucht meinen Wemos so mit Strom zu versorgen. Hintergrund: Wollte in der Dusche Temperatur und Luftfeuchtigkeit über Fhem loggen. Hab dort keine Steckdose mit Dauerstrom. Netzteilversorgung fällt also flach. Hat auch grundsätzlich funktioniert aber... die Hygrometerwerte eines DHT22 fielen immer als erstes aus. Reagiert dieser evtl sehr empfindlich auf Unterversorgung? Dann ging alles nicht mehr obwohl die Anzeige der PB nach einigen Stunden Laufzeit immer noch "Halbvoll" anzeigte. Meine Vermutung Powerbank schält ab da zuwenig Stromentnahme (hab sowas gelesen). Hab dann vorläufig aufgegeben :(

Gibt es das bei Dir nicht? Würde mir Mut machen noch einen Versuch zu starten.
Gruss Klaus
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 07 April 2022, 11:17:58
Zitat von: Klaus_R am 07 April 2022, 09:43:57
Sehr interressant! Hab auch schon versucht meinen Wemos so mit Strom zu versorgen. Hintergrund: Wollte in der Dusche Temperatur und Luftfeuchtigkeit über Fhem loggen. Hab dort keine Steckdose mit Dauerstrom. Netzteilversorgung fällt also flach. Hat auch grundsätzlich funktioniert aber... die Hygrometerwerte eines DHT22 fielen immer als erstes aus. Reagiert dieser evtl sehr empfindlich auf Unterversorgung? Dann ging alles nicht mehr obwohl die Anzeige der PB nach einigen Stunden Laufzeit immer noch "Halbvoll" anzeigte. Meine Vermutung Powerbank schält ab da zuwenig Stromentnahme (hab sowas gelesen). Hab dann vorläufig aufgegeben :(

Gibt es das bei Dir nicht? Würde mir Mut machen noch einen Versuch zu starten.
Gruss Klaus

Naja, meine Lösung ist gerade mal einen Tag alt. Da muss ich einfach Erfahrungen sammeln. Meine Strommessungen beim Laden und beim geladenen Akku waren zufriedenstellend. Einen langen Stromausfall müsste ich noch simulieren.

Ebenso verhalten sich Powerbanks unterschiedlich. Ich habe noch eine andere Powerbank, die den Strom unterbricht, wenn sie selbst nach einem Stromausfall Strom bekommt.

Wie schon im Nebenthread erwähnt, braucht ein ESP einfach zu viel Strom, um ihn lange Zeit mit einem Akku zu versorgen.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 09 April 2022, 10:14:00
Da die meisten Stromzähler/Gaszähler eine Impulsauswertung (S0) ermöglichen, lässt sich sehr preisgünstig eine zuverlässige Lösung realisieren, siehe: https://forum.fhem.de/index.php/topic,127127.msg1217452.html#msg1217452

Mit ESP8266 mit Tasmota-Counter und einer Powerbank erfüllt sie folgende Bedingung:

-zählt beim Stromausfall

-zählt, wenn FHEM nicht läuft

-behält sogar den Zählerstand, selbst wenn die Powerbank versagen würde

-Momentanleistung lässt sich leicht über UserReadings oder DOIF_Readings ermitteln

-keine Kabelverbindung zum FHEM-Server nötig

-preisgünstig

-kombinierbar mit weiteren S0/D0-Zählern über einen ESP

Auch wenn mein Gaszähler einen M-Bus besitzt (https://forum.fhem.de/index.php/topic,124838.msg1194082.html#msg1194082), habe ich mich für diese Lösung entschieden, weil sie sehr einfach zu realisieren und billig war und wenn ein ESP bereits drei Zähler bedient, dann kann er auch einen vierten ohne Probleme aufnehmen und die Zählerstände per MQTT zum FHEM-Server übertragen :)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Nobbynews am 09 April 2022, 10:46:19
Zitat von: Damian am 09 April 2022, 10:14:00
-zählt beim Stromausfall
Dumme Frage:
Was soll denn bei Stromausfall noch funktionieren und damit die Zählerstände verändern??
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 09 April 2022, 10:57:27
Zitat von: Nobbynews am 09 April 2022, 10:46:19
Dumme Frage:
Was soll denn bei Stromausfall noch funktionieren und damit die Zählerstände verändern??

Es geht hier um eine allgemeine Lösung, es gibt auch Zähler, die ohne Strom laufen, z. B. Wasserzähler :)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Nobbynews am 09 April 2022, 11:02:13
Zitat von: Damian am 09 April 2022, 10:57:27
, z. B. Wasserzähler :)
Stimmt, den hatte ich für diese Lösung nicht auf dem Schirm.
Das ist ein Punkt.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 09 April 2022, 11:16:28
Zitat von: Nobbynews am 09 April 2022, 11:02:13
Stimmt, den hatte ich für diese Lösung nicht auf dem Schirm.
Das ist ein Punkt.

Das ist ja nur ein Punkt, viel entscheidender ist aber, dass ein Zähler seinen Zählerstand dauerhaft behalten kann.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Nobbynews am 09 April 2022, 11:23:29
Zitat von: Damian am 09 April 2022, 11:16:28viel entscheidender ist aber, dass ein Zähler seinen Zählerstand dauerhaft behalten kann.
Da gibt es nichts mehr hinzuzufügen.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 12 April 2022, 11:37:45
Entprellen bei S0-Zählern mit Tasmota:

Trotz eines sauberen Triggersignals beim S0-Stromzähler (mit Oszi gemessen), zählte ein Tasmota-Counter bei mir zu viele Impulse.

Mit dem Befehl CounterDebounce <Millisekunden> kann man auf der Tasmota-Konsole die Counter entprellen. Mit CounterDebounce 500 wird nun auch der S0-Stromzähler bei mir korrekt gezählt. Die Angabe der Entprellzeit muss unter dem minimalen Pulsabstand zwischen zwei Impulsen bleiben (bei mir 1 Sekunde).

Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: cs-online am 14 April 2022, 21:57:58
Hallo zusammen,

ich hab jetzt nicht alle 5 Seiten gelesen, daher ist das, was ich schreibe ggf. schon mal erwähnt worden. Ich habe einen EMH-Zähler mit IR-Schnittstelle vorne. Habe dazu den Lesekopf nach UDOs Plänen mit TTL-Schnittstelle an einen ESP8266 (WEMOS) an RX/TX. Soll wohl auch mit einem simplen Kopf nach

https://www.s-jordan.de/index.php?page=easymeter_raspberrypi (https://www.s-jordan.de/index.php?page=easymeter_raspberrypi)

gehen. Also auf dem ESP läuft ESPLink (ESPEasy müsste auch gehen mit Serial-Server) und im FHEM wird der ESP dann mit der IP-Adresse im OBIS-Modul eingebunden. Ich bekomme damit den Zählerstand und die Momentanleistung, mehr ist bei meinem Zähler leider nicht freigeschaltet...

Vielleicht hilft es ja...

Grüße

Christian
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 16 April 2022, 11:11:04
Ich habe hier: https://forum.fhem.de/index.php/topic,97959.msg1214338.html#msg1214338 beschrieben, wie man die momentane Leistungsaufnahme per userReading und OldReading berechnet. Leider funktionierte es bei mir nicht zuverlässig.

Ich habe es nun  über event_Readings (im DOIF) gelöst. Auch beim D0-Zähler (Hauszähler) verwende ich nun die Methode, um mit S0-Zähler (PV-Anlage) vom gleichen Tasmota-Device synchron zu bleiben. Ich habe bei mir das Sendeintervall auf 60 Sekunden eingestellt, damit lässt sich über den absoluten Counter, egal ob von D0 oder S0, die durchschnittliche Leistungsaufnahme der letzten 60 Sekunden ermitteln. Auf diese Weise passt nun die Einspeise-Leistung zu PV-Leistung.

attr di_counter_new event_Readings power_pv:sprintf("%0.3f",[MQTT2_DVES_C58DCB:SENSOR_COUNTER_C1:diff]*3.6/60),\
power_f:sprintf("%0.3f",[MQTT2_DVES_C58DCB:SENSOR_MT681_Total_out:diff]*60),\
power_c:sprintf("%0.3f",[MQTT2_DVES_C58DCB:SENSOR_MT681_Total_in:diff]*60),\
power_fc:[$SELF:power_f]-[$SELF:power_c]


Aufgrund der Synchronisation kann so die Einspeise-Leistung nicht mehr die PV-Leistung übersteigen.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Bartimaus am 09 Mai 2022, 07:57:23
Zitat von: Damian am 20 März 2022, 10:38:55
Ich habe es nun geschafft alle meine Zähler in einem esp8266 unterzubringen.

Ich habe zwei Counter S0-Zähler für Wasser und PV und einen Zweirichtungszähler eingebunden.

Damit konnte ich einen ELV Stromzähler EM 1000-S und einen Lesekopf über serielle Schnittstelle zum Raspi mit OBIS-Stromzähler-Device in Rente schicken.

Die Daten werden über MQTT an FHEM geschickt.

Die erforderlichen Bauteile (esp8266, Fototransistor, Neodym-Magnet) hatte ich noch in der Grabbelkiste. Den Wasserzähler über TCRT5000 Infrarot-Reflexionsschalter hatte ich zuvor über espeasy eingebunden gehabt.

Visualisierung erfolgt hierrüber:

https://wiki.fhem.de/wiki/DOIF/Automatisierung#Tages-.2C_Monats-_und_Jahresstatistik_f.C3.BCr_Strom-.2C_Gas-.2C_Wasserz.C3.A4hler_und_andere_Z.C3.A4hler

Moin,

nachdem diese Visualisierung nurn 2 Monate sehr gut lief, habe ich seit ein paar Tagen hiermit ein kleines Problem. Und zwar geht es um das Reading für den vorherigen Tag, das ist seit ein paar Tagen auf "0" statt auf dem ermittelten Wert.

2022-05-01_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_month: 102.179
2022-05-02_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 3.63
2022-05-03_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 5.58
2022-05-04_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 5.38
2022-05-05_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 6.06
2022-05-06_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 3.24
2022-05-07_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 5.71
2022-05-07_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 0
2022-05-08_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 5.56
2022-05-08_00:01:01 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 0
2022-05-09_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 8.85
2022-05-09_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 0


Und doch, an den Tagen wurden Readings geschrieben. Es betrifft nicht nur dieses Device, sondern alle Devices zu denen ich das protokolliere

So habe ich es lt. Wiki auch definiert...

sub init_readings {
  my ($device,$reading)=@_;
  if (get_Reading("$device.$reading.day_counter","") eq "") {   ## Initialisierung der Readings
    ## aktuellen Zählerstand initialisieren
    set_Reading("$device.$reading.last_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.day_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.month_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.year_counter",ReadingsVal($device, $reading,0));
 
    set_Reading ("$device.$reading.day",0);           ## aktueller Tagesverbrauch
    set_Reading ("$device.$reading.month",0);         ## aktueller Monatsverbrauch
    set_Reading ("$device.$reading.year",0);          ## aktueller Jahresverbrauch
    set_Reading ("$device.$reading.last_day",0);      ## Verbrauch des letzten Tages
    set_Reading ("$device.$reading.last_month",0);    ## Verbrauch des letzten Monats
    set_Reading ("$device.$reading.last_year",0);     ## Verbrauch des letzten Jahres
## Log definieren
fhem ("defmod log.counter.$device.$reading FileLog ./log/counter.$device.$reading.log $SELF:$device.$reading.last_(day|month|year):.*");
    fhem ("attr log.counter.$device.$reading room Filelogs");
}


Geändert wurde am System nichts. Gestern habe ich dann ein Update von FHME/DOIF gemacht, leider ohne Erfolg.
Irgend ne Idee was hier falsch läuft ?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 09 Mai 2022, 08:26:03
Dann musst du schauen, was die anderen Readings des Zähler machen. Der last_counter muss sich bei jeder Zähleränderung erhöhen. Evtl. kommt vom Zähler nichts an.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Bartimaus am 09 Mai 2022, 09:04:32
Der "last_counter" erhöht sich auch, nur das Reading "last_day" wird um Mitternacht nicht mehr bestückt. Dies gilt für alle Devices die ich in dieses DOIF gepackt hab.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 09 Mai 2022, 09:26:06
Zitat von: Bartimaus am 09 Mai 2022, 09:04:32
Der "last_counter" erhöht sich auch, nur das Reading "last_day" wird um Mitternacht nicht mehr bestückt. Dies gilt für alle Devices die ich in dieses DOIF gepackt hab.

Dann poste mal list-Ausgabe von dem DOIF
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Bartimaus am 09 Mai 2022, 11:10:06
Bitte, ist aber arg lang

Edith: Mist, musste ich kürzen

Internals:
   DEF        subs {
##                     Device        Reading   
  push (@{$_counter},["Shelly.DachbodenPV","TagesErtragDach"]); ## PV-ZählerDach
  push (@{$_counter},["Shelly.GartenhausPV","TagesErtrag"]); ## PV-ZählerGarten
  push (@{$_counter},["1wire_Strom_Gesamt","E-Energy"]); ## Strom-Zähler
  push (@{$_counter},["Brennerlaufzeit","Heute"]); ## Öl-Zähler
 
sub midnight { ## Diese Funktion wird um Mitternacht ausgeführt
  my ($device,$reading,$mday,$yday)=@_;
  set_Reading("$device.$reading.day_counter",ReadingsVal($device, $reading,0));   
  set_Reading("$device.$reading.last_day",get_Reading("$device.$reading.day",0),1);
  set_Reading("$device.$reading.day",0,1);
  if ($mday == 1) {
    set_Reading("$device.$reading.month_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.last_month",get_Reading("$device.$reading.month",0),1);
    set_Reading("$device.$reading.month",0,1);
  }
  if ($yday == 1) {
    set_Reading("$device.$reading.year_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.last_year",get_Reading("$device.$reading.year",0),1);
    set_Reading("$device.$reading.year",0,1);
  }
}

sub init_readings {
  my ($device,$reading)=@_;
  if (get_Reading("$device.$reading.day_counter","") eq "") {   ## Initialisierung der Readings
    ## aktuellen Zählerstand initialisieren
    set_Reading("$device.$reading.last_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.day_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.month_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.year_counter",ReadingsVal($device, $reading,0));
 
    set_Reading ("$device.$reading.day",0);           ## aktueller Tagesverbrauch
    set_Reading ("$device.$reading.month",0);         ## aktueller Monatsverbrauch
    set_Reading ("$device.$reading.year",0);          ## aktueller Jahresverbrauch
    set_Reading ("$device.$reading.last_day",0);      ## Verbrauch des letzten Tages
    set_Reading ("$device.$reading.last_month",0);    ## Verbrauch des letzten Monats
    set_Reading ("$device.$reading.last_year",0);     ## Verbrauch des letzten Jahres
## Log definieren
fhem ("defmod log.counter.$device.$reading FileLog ./log/counter.$device.$reading.log $SELF:$device.$reading.last_(day|month|year):.*");
    fhem ("attr log.counter.$device.$reading room Filelogs");
}

}
} ## Ende subs-Block

mid {[00:01];                          ## Sicherung der Daten um Mitternacht
  for (my $i=0;$i<@{$_counter};$i++) { ## Für jeden Zähler wird die Funktion midnight aufgerufen
    midnight($_counter[$i][0],$_counter[$i][1],$mday,$yday);
  }
}

init {                                ## initialisierung aller Readings
  for (my $i=0;$i<@{$_counter};$i++) {## Für jeden Zähler werden Readings über die Funktion init_readings initialisiert
    init_readings($_counter[$i][0],$_counter[$i][1]);
  }
}

DEF TPL_stat (
  day_count_$1_$2 { ## bei einem Event des Zählers, wird der tägliche, monatliche und jährliche Verbrauch im jeweiligen Reading festgehalten
                    ##  $1 Zählerdevice, $2 Zählerreading

    my $diff = int(([$1:$2,0]-(get_Reading("$1.$2.last_counter",0)))*1000)/1000;
    if ($diff < 0 and get_Reading("$1.$2.last_counter",0) > 0  or $diff > 0 and get_Reading("$1.$2.last_counter",0) < 0) {  ## Wenn der Zähler zurückgesetzt wurde, dann Zählerstände zurückrechnen
      set_Reading("$1.$2.day_counter",-(get_Reading("$1.$2.day",0)));
      set_Reading("$1.$2.month_counter",-(get_Reading("$1.$2.month",0)));
      set_Reading("$1.$2.year_counter",-(get_Reading("$1.$2.year",0)));
    }
    set_Reading ("$1.$2.last_counter",[$1:$2,0]);
    set_Reading ("$1.$2.day",int(([$1:$2,0]-(get_Reading("$1.$2.day_counter",0)))*1000)/1000,1);
    set_Reading ("$1.$2.month",int(([$1:$2,0]-(get_Reading("$1.$2.month_counter",0)))*1000)/1000,1);
    set_Reading ("$1.$2.year",int(([$1:$2,0]-(get_Reading("$1.$2.year_counter",0)))*1000)/1000,1);
  }
)

## Pro Zähler wird über eine FOR-Schleife ein day_count_<Device>_<Reading>-Block generiert
FOR(@{$_counter},TPL_stat($1$1,$1$2)) ## $1$1 entspricht dem Device, $1$2 entspricht dem Reading
   FUUID      62404eec-f33f-7539-15ad-f32ad970406b9465
   MODEL      Perl
   NAME       di_counter_new
   NOTIFYDEV  Shelly.DachbodenPV,di_counter_new,Brennerlaufzeit,Shelly.GartenhausPV,1wire_Strom_Gesamt,global
   NR         1605
   NTFY_ORDER 50-di_counter_new
   STATE      initialized
   TYPE       DOIF
   VERSION    26020 2022-05-03 16:28:02
   READINGS:
     2022-05-09 11:05:31   1wire_Strom_Gesamt.E-Energy.day 2.933
     2022-05-09 00:01:00   1wire_Strom_Gesamt.E-Energy.day_counter 7.306
     2022-05-09 11:05:31   1wire_Strom_Gesamt.E-Energy.last_counter 10.239
     2022-05-09 00:01:00   1wire_Strom_Gesamt.E-Energy.last_day 0
     2022-05-01 00:01:00   1wire_Strom_Gesamt.E-Energy.last_month 273.361
     2022-03-28 00:17:11   1wire_Strom_Gesamt.E-Energy.last_year 0
     2022-05-09 11:05:31   1wire_Strom_Gesamt.E-Energy.month 75.775
     2022-05-08 00:02:06   1wire_Strom_Gesamt.E-Energy.month_counter -65.536
     2022-05-09 11:05:31   1wire_Strom_Gesamt.E-Energy.year 387.64
     2022-05-08 00:02:06   1wire_Strom_Gesamt.E-Energy.year_counter -377.402
     2022-05-09 11:00:06   Brennerlaufzeit.Heute.day 0
     2022-05-09 01:00:04   Brennerlaufzeit.Heute.day_counter 0
     2022-05-09 11:00:06   Brennerlaufzeit.Heute.last_counter 0
     2022-05-09 00:01:00   Brennerlaufzeit.Heute.last_day 0
     2022-05-01 00:01:01   Brennerlaufzeit.Heute.last_month 171.863
     2022-03-28 01:03:33   Brennerlaufzeit.Heute.last_year 0
     2022-05-09 11:00:06   Brennerlaufzeit.Heute.month 12.969
     2022-05-09 01:00:04   Brennerlaufzeit.Heute.month_counter -12.969
     2022-05-09 11:00:06   Brennerlaufzeit.Heute.year 209.814
     2022-05-09 01:00:04   Brennerlaufzeit.Heute.year_counter -209.814
     2022-05-09 11:05:30   Device          1wire_Strom_Gesamt
     2022-05-09 11:00:13   Shelly.DachbodenPV.TagesErtragDach.day 0.56
     2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.day_counter 0
     2022-05-09 11:00:13   Shelly.DachbodenPV.TagesErtragDach.last_counter 0.56
     2022-05-09 00:01:00   Shelly.DachbodenPV.TagesErtragDach.last_day 0
     2022-05-01 00:01:00   Shelly.DachbodenPV.TagesErtragDach.last_month 102.179
     2022-03-28 00:21:34   Shelly.DachbodenPV.TagesErtragDach.last_year 0
     2022-05-09 11:00:14   Shelly.DachbodenPV.TagesErtragDach.month 44.57
     2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.month_counter -44.01
     2022-05-09 11:00:14   Shelly.DachbodenPV.TagesErtragDach.year 153.744
     2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.year_counter -153.184
     2022-05-09 00:05:01   Shelly.GartenhausPV.TagesErtrag.day 0
     2022-05-09 00:05:00   Shelly.GartenhausPV.TagesErtrag.day_counter 0
     2022-05-09 00:05:01   Shelly.GartenhausPV.TagesErtrag.last_counter 0.00
     2022-05-09 00:01:00   Shelly.GartenhausPV.TagesErtrag.last_day 0
     2022-05-01 00:01:00   Shelly.GartenhausPV.TagesErtrag.last_month 45.545
     2022-03-28 00:21:35   Shelly.GartenhausPV.TagesErtrag.last_year 0
     2022-05-09 00:05:01   Shelly.GartenhausPV.TagesErtrag.month 9.088
     2022-05-09 00:05:00   Shelly.GartenhausPV.TagesErtrag.month_counter -9.088
     2022-05-09 00:05:01   Shelly.GartenhausPV.TagesErtrag.year 62.512
     2022-05-09 00:05:00   Shelly.GartenhausPV.TagesErtrag.year_counter -62.512
     2022-05-09 11:05:31   block_day_count_Brennerlaufzeit_Heute executed
     2022-05-08 09:33:54   block_init      executed
     2022-05-09 00:01:00   block_mid       executed
     2022-05-09 11:05:30   e_1wire_Strom_Gesamt_E-Energy 10.239
     2022-05-09 11:00:06   e_Brennerlaufzeit_Heute 0
     2022-05-09 11:00:13   e_Shelly.DachbodenPV_TagesErtragDach 0.56
     2022-05-09 00:05:00   e_Shelly.GartenhausPV_TagesErtrag 0.00
     2022-03-28 01:03:32   mode            enabled
     2022-03-28 01:03:33   state           initialized
     2022-05-09 00:01:00   timer_01_c01    10.05.2022 00:01:00
   Regex:
     accu:
     collect:
       di_counter_new:
         collect:
           1wire_Strom_Gesamt.E-Energy.day ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.day:
           1wire_Strom_Gesamt.E-Energy.last_day ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.last_day:
           1wire_Strom_Gesamt.E-Energy.last_month ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.last_month:
           1wire_Strom_Gesamt.E-Energy.last_year ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.last_year:
           1wire_Strom_Gesamt.E-Energy.month ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.month:
           1wire_Strom_Gesamt.E-Energy.year ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.year:
           Brennerlaufzeit.Heute.day ^di_counter_new$:^Brennerlaufzeit.Heute.day:
           Brennerlaufzeit.Heute.last_day ^di_counter_new$:^Brennerlaufzeit.Heute.last_day:
           Brennerlaufzeit.Heute.last_month ^di_counter_new$:^Brennerlaufzeit.Heute.last_month:
           Brennerlaufzeit.Heute.last_year ^di_counter_new$:^Brennerlaufzeit.Heute.last_year:
           Brennerlaufzeit.Heute.month ^di_counter_new$:^Brennerlaufzeit.Heute.month:
           Brennerlaufzeit.Heute.year ^di_counter_new$:^Brennerlaufzeit.Heute.year:
           Shelly.DachbodenPV.TagesErtragDach.day ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.day:
           Shelly.DachbodenPV.TagesErtragDach.last_day ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.last_day:
           Shelly.DachbodenPV.TagesErtragDach.last_month ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.last_month:
           Shelly.DachbodenPV.TagesErtragDach.last_year ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.last_year:
           Shelly.DachbodenPV.TagesErtragDach.month ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.month:
           Shelly.DachbodenPV.TagesErtragDach.year ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.year:
           Shelly.GartenhausPV.TagesErtrag.day ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.day:
           Shelly.GartenhausPV.TagesErtrag.last_day ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.last_day:
           Shelly.GartenhausPV.TagesErtrag.last_month ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.last_month:
           Shelly.GartenhausPV.TagesErtrag.last_year ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.last_year:
           Shelly.GartenhausPV.TagesErtrag.month ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.month:
           Shelly.GartenhausPV.TagesErtrag.year ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.year:
     cond:
       1wire_Strom_Gesamt:
         0:
         1:
         2:
         3:
         4:
           E-Energy   ^1wire_Strom_Gesamt$:^E-Energy:
         5:
         6:
         7:
         8:
           E-Energy   ^1wire_Strom_Gesamt$:^E-Energy:
         9:
       Brennerlaufzeit:
         0:
         1:
         2:
         3:
         4:
         5:
           Heute      ^Brennerlaufzeit$:^Heute:
         6:
         7:
         8:
         9:
           Heute      ^Brennerlaufzeit$:^Heute:
       Shelly.DachbodenPV:
         0:
         1:
         2:
           TagesErtragDach ^Shelly.DachbodenPV$:^TagesErtragDach:
         3:
         4:
         5:
         6:
           TagesErtragDach ^Shelly.DachbodenPV$:^TagesErtragDach:
         7:
         8:
         9:
       Shelly.GartenhausPV:
         0:
         1:
         2:
         3:
           TagesErtrag ^Shelly.GartenhausPV$:^TagesErtrag:
         4:
         5:
         6:
         7:
           TagesErtrag ^Shelly.GartenhausPV$:^TagesErtrag:
         8:
         9:
     uiTable:
       di_counter_new:
         di_counter_new_uiTable_c_0_0_0_0:
           Shelly.DachbodenPV.TagesErtragDach.day ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.day:
         di_counter_new_uiTable_c_0_1_0_0:
           Shelly.GartenhausPV.TagesErtrag.day ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.day:
         di_counter_new_uiTable_c_0_2_0_0:
           1wire_Strom_Gesamt.E-Energy.day ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.day:
         di_counter_new_uiTable_c_0_3_0_0:
           Brennerlaufzeit.Heute.day ^di_counter_new$:^Brennerlaufzeit.Heute.day:
         di_counter_new_uiTable_c_1_0_0_0:
           Shelly.DachbodenPV.TagesErtragDach.last_day ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.last_day:
         di_counter_new_uiTable_c_1_1_0_0:
           Shelly.GartenhausPV.TagesErtrag.last_day ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.last_day:
         di_counter_new_uiTable_c_1_2_0_0:
           1wire_Strom_Gesamt.E-Energy.last_day ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.last_day:
         di_counter_new_uiTable_c_1_3_0_0:
           Brennerlaufzeit.Heute.last_day ^di_counter_new$:^Brennerlaufzeit.Heute.last_day:
         di_counter_new_uiTable_c_2_0_0_0:
           Shelly.DachbodenPV.TagesErtragDach.month ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.month:
         di_counter_new_uiTable_c_2_1_0_0:
           Shelly.GartenhausPV.TagesErtrag.month ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.month:
         di_counter_new_uiTable_c_2_2_0_0:
           1wire_Strom_Gesamt.E-Energy.month ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.month:
         di_counter_new_uiTable_c_2_3_0_0:
           Brennerlaufzeit.Heute.month ^di_counter_new$:^Brennerlaufzeit.Heute.month:
         di_counter_new_uiTable_c_3_0_0_0:
           Shelly.DachbodenPV.TagesErtragDach.last_month ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.last_month:
         di_counter_new_uiTable_c_3_1_0_0:
           Shelly.GartenhausPV.TagesErtrag.last_month ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.last_month:
         di_counter_new_uiTable_c_3_2_0_0:
           1wire_Strom_Gesamt.E-Energy.last_month ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.last_month:
         di_counter_new_uiTable_c_3_3_0_0:
           Brennerlaufzeit.Heute.last_month ^di_counter_new$:^Brennerlaufzeit.Heute.last_month:
         di_counter_new_uiTable_c_4_0_0_0:
           Shelly.DachbodenPV.TagesErtragDach.year ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.year:
         di_counter_new_uiTable_c_4_1_0_0:
           Shelly.GartenhausPV.TagesErtrag.year ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.year:
         di_counter_new_uiTable_c_4_2_0_0:
           1wire_Strom_Gesamt.E-Energy.year ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.year:
         di_counter_new_uiTable_c_4_3_0_0:
           Brennerlaufzeit.Heute.year ^di_counter_new$:^Brennerlaufzeit.Heute.year:
         di_counter_new_uiTable_c_5_0_0_0:
           Shelly.DachbodenPV.TagesErtragDach.last_year ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.last_year:
         di_counter_new_uiTable_c_5_1_0_0:
           Shelly.GartenhausPV.TagesErtrag.last_year ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.last_year:
         di_counter_new_uiTable_c_5_2_0_0:
           1wire_Strom_Gesamt.E-Energy.last_year ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.last_year:
         di_counter_new_uiTable_c_5_3_0_0:
           Brennerlaufzeit.Heute.last_year ^di_counter_new$:^Brennerlaufzeit.Heute.last_year:
   card:
   collect:
     di_counter_new 1wire_Strom_Gesamt.E-Energy.day:
       168:
         animate    0
         dim        100
         hours      168
         last       
         last_v     2.686
         last_value 3.459
         max_value  12.346
         max_value_slot 34
         max_value_time 1651696463
         min_value  0
         min_value_slot 92
         min_value_time 1652047260
         name       di_counter_new
         reading    1wire_Strom_Gesamt.E-Energy.day
         time       1652087131
         value      2.933
         times:
           1651490820
           
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 09 Mai 2022, 12:15:25
Nach:

Zitat2022-05-09 11:00:13   Shelly.DachbodenPV.TagesErtragDach.day 0.56
     2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.day_counter 0
     2022-05-09 11:00:13   Shelly.DachbodenPV.TagesErtragDach.last_counter 0.56
     2022-05-09 00:01:00   Shelly.DachbodenPV.TagesErtragDach.last_day 0
     2022-05-01 00:01:00   Shelly.DachbodenPV.TagesErtragDach.last_month 102.179
     2022-03-28 00:21:34   Shelly.DachbodenPV.TagesErtragDach.last_year 0
     2022-05-09 11:00:14   Shelly.DachbodenPV.TagesErtragDach.month 44.57
     2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.month_counter -44.01
     2022-05-09 11:00:14   Shelly.DachbodenPV.TagesErtragDach.year 153.744
     2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.year_counter -153.184

werden die Readings um 00:01 Uhr berechnet.

Ich kann erkennen, wegen der negativen Zahlen, dass dein Zähler zwischendurch zurückgesetzt wurde.

Ich weiß nicht, was kurz vor 00:01 passiert, daher kann ich nicht erklären warum last_day 0 ist. Heute ist Shelly.DachbodenPV.TagesErtragDach.day 0.56, daher sollte, wenn der Zähler und das System bis 00:01 Uhr durchlaufen, last_day größer 0 sein. Es wird einfach nur der Inhalt von day auf last_day kopiert.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Bartimaus am 09 Mai 2022, 12:33:48
Um Mitternacht ist immer viel in meinem FHEM los, (div. HourCounter usw.) vielleicht wird es deswegen verschluckt.
Wie kann ich die Funktion "sub midnight" auf z.B. "sub 00:05" ändern ? also 5min nach Mitternacht
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 09 Mai 2022, 12:52:57
Zitat von: Bartimaus am 09 Mai 2022, 12:33:48
Um Mitternacht ist immer viel in meinem FHEM los, (div. HourCounter usw.) vielleicht wird es deswegen verschluckt.
Wie kann ich die Funktion "sub midnight" auf z.B. "sub 00:05" ändern ? also 5min nach Mitternacht

steht im Script:

mid {[00:01];; 

Ich glaube weniger an das Verschlucken, als auf etwas wie Neustarten (Zähler, FHEM, System)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Bartimaus am 09 Mai 2022, 13:29:14
Zitat von: Damian am 09 Mai 2022, 12:52:57
steht im Script:

mid {[00:01];; 

Ich glaube weniger an das Verschlucken, als auf etwas wie Neustarten (Zähler, FHEM, System)

Ah, ok. Danke. habe ich mal geändert.
Also System/FHEM-Neustart kann ich ausschließen, und das sich 4 verschiedene Zähler zurückgesetzt haben, glaube ich nicht. In den anderen Logs zu diesen Zählern sehe ich ja die korrekten Werte.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 09 Mai 2022, 14:41:11
Zitat von: Bartimaus am 09 Mai 2022, 13:29:14
Ah, ok. Danke. habe ich mal geändert.
Also System/FHEM-Neustart kann ich ausschließen, und das sich 4 verschiedene Zähler zurückgesetzt haben, glaube ich nicht. In den anderen Logs zu diesen Zählern sehe ich ja die korrekten Werte.
ich habe auch nicht von allen gesprochen, sondern vom betroffenen Device:

 
Zitat2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.month_counter -44.01
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Bartimaus am 13 Mai 2022, 11:02:34
Moin, nur mal ein kurzes Feedback, das verschieben um ein paar Minuten zeigt Wirkung. Bis jetzt wurden die Vortageswerte wieder korrekt gespeichert.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 20 Mai 2022, 17:50:42
Sorry wenn die Frage jetzt schon 100x kam, aber so richtig bin ich aus den alten Postings noch nicht schlau geworden.

Ich würde gerne meinen EasyMeter Q3MA Zähler auslesen und dabei besonders den Momentanverbauch anzeigen um meine Grundlast zu verschiedenen Zeiten zu ermitteln.
Was genau brauche ich jetzt an Hardware um den Zähler entsprechend auslesen zu können und womit verbinde ich dies am Besten?

Ich habe eine Raspberrymatic aber nicht in der Nähe des Zählers und einen virtuellen Server/ Container mit FHEM.
Das Beste wäre, wenn ich den Lesekopf am Zähler irgendwie per Funk oder Wifi direkt an das virtuelle FHEM bekomme. (USB rein reichen in die VM ist eher ungünstig und noch ein extra Device möchte ich nicht betreiben)

Hat Jemand eine "Einkaufsliste" dazu? Im FHEM müsste es ja das OBIS-Modul sein, was dann für die Auswertung zuständig ist?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 20 Mai 2022, 18:18:40
-esp8266
-Tasmota mit SML
-IR-Diode

Kosten ca. 5 Euro

siehe:

Tasmota-Firmware von hier:

https://forum.fhem.de/index.php/topic,97959.msg1206880.html#msg1206880

Tasmota-Einstellungen für deinen Zähler von hier:

https://edv.mueggelland.de/smarter-stromzaehler/

Schaltplan von hier:

https://www.mwinklerblog.de/smarthome/aktoren-sensoren/stromz%C3%A4hler-digital/


Datenübertragen zu FHEM über MQTT


Visualisierung und Statistik (Tagesverbrauch, Monatsverbrauch, Jahresverbrauch im Log):

https://wiki.fhem.de/wiki/DOIF/Automatisierung#Tages-.2C_Monats-_und_Jahresstatistik_f.C3.BCr_Strom-.2C_Gas-.2C_Wasserz.C3.A4hler_und_andere_Z.C3.A4hler




Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Bartimaus am 20 Mai 2022, 18:29:41
Mal ne andere Frage, die gelesenen Werte zur Visualisierung werden im DOIF gespeichert ? Gestern beim Gewitter war irgendwie ne Spannungsspitze oder so, und nun habe ich extrem hohe Werte im "card"... zu meinem Stromlogger
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 20 Mai 2022, 19:33:47
Zitat von: Damian am 20 Mai 2022, 18:18:40
-esp8266
-Tasmota mit SML
-IR-Diode

Kosten ca. 5 Euro
...

Super, danke für die Zusammenfassung.
Der ESP8266 hat out-of-the-box WLAN und Programmieren/ Firmware macht man via USB?
Gibts eventuell schon fertige Sets mit Gehäusen und co? Komme nur sehr sporadisch an 3D-Drucker.
Der ESP8266 braucht dann 5V als Spannungsversorgung?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 20 Mai 2022, 19:44:22
Zitat von: Stephan27 am 20 Mai 2022, 19:33:47
Super, danke für die Zusammenfassung.
Der ESP8266 hat out-of-the-box WLAN und Programmieren/ Firmware macht man via USB?
Gibts eventuell schon fertige Sets mit Gehäusen und co? Komme nur sehr sporadisch an 3D-Drucker.
Der ESP8266 braucht dann 5V als Spannungsversorgung?

Programmieren von Tasmota kannst du dir gut auf Youtube anschauen.

Meine Lösung kommt ohne Box aus, dafür aber mit USV :)

siehe Bild hier:
https://forum.fhem.de/index.php/topic,97959.msg1217126.html#msg1217126

Inzwischen bedient das kleine Teil fünf Zähler
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 20 Mai 2022, 19:49:29
Sieht gut aus. Klar hatte ich jetzt garnicht daran gedacht, dass einfach alles so in Schrank zu hängen.
Stromversorgung kommt bei dir jetzt wo her? Die PowerBank ist nur "Backup" bzw. USV?

Gleich mal bestellen, gefällt mir was ich sehe!
Ich sehe, du hast auch einen Zähler für die PV? Wo greifst du da ab? Wollte das Balkonsolar mit nem Shelly erfasse, aber so gehts vlt. besser.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 20 Mai 2022, 19:57:32
Zitat von: Stephan27 am 20 Mai 2022, 19:49:29
Sieht gut aus. Klar hatte ich jetzt garnicht daran gedacht, dass einfach alles so in Schrank zu hängen.
Stromversorgung kommt bei dir jetzt wo her? Die PowerBank ist nur "Backup" bzw. USV?

Gleich mal bestellen, gefällt mir was ich sehe!
Ich sehe, du hast auch einen Zähler für die PV? Wo greifst du da ab? Wollte das Balkonsolar mit nem Shelly erfasse, aber so gehts vlt. besser.

ESP hängt indirekt am 5V-Handy-Netzteil.

PV geht bei mir über den S0-Impulszähler, der hängt ebenso am ESP eingebunden als Counter

siehe:

https://forum.fhem.de/index.php/topic,97959.msg1214276.html#msg1214276
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 20 Mai 2022, 20:07:57
Zitat von: Bartimaus am 20 Mai 2022, 18:29:41
Mal ne andere Frage, die gelesenen Werte zur Visualisierung werden im DOIF gespeichert ? Gestern beim Gewitter war irgendwie ne Spannungsspitze oder so, und nun habe ich extrem hohe Werte im "card"... zu meinem Stromlogger

Sie werden in versteckten Readings abgelegt.  Dazu musst du FHEM-Herunterfahren und die falschen Werte in fhem.save. anpassen (suchen nach di_counter)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 20 Mai 2022, 20:15:45
Was meinst du mit indirekt? Powerbank an NT und ESP an Powerbank?

So erstmal bestellt, ESP + Diode + Widerstände + Magneten waren jetzt ~20€.
War aber gleich 5er Set Mag und 20er Widerstände.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 20 Mai 2022, 20:38:41
Zitat von: Stephan27 am 20 Mai 2022, 20:15:45
Was meinst du mit indirekt? Powerbank an NT und ESP an Powerbank?

Ja. Powerbank beim D0-Zähler ist nicht nötig, da er ja immer absolute/korrekte Zählerstände liefert.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Bartimaus am 21 Mai 2022, 14:27:56
Zitat von: Damian am 20 Mai 2022, 20:07:57
Sie werden in versteckten Readings abgelegt.  Dazu musst du FHEM-Herunterfahren und die falschen Werte in fhem.save. anpassen (suchen nach di_counter)

Danke, aber daraus werde ich nicht schlau. Ich habe für mich nicht valide Werte in fhem.save (..month_8760_values) gelöscht. Dabei habe ich mich an den Backupdaten von ein paar Tagen vorher orientiert. Die "komischen" Werte gelöscht, gespeichert und FHEM wieder gestartet. Aber es werden mir noch immer falsche Werte angezeigt. Die die im Card angezeigt werden, sehe ich auch nicht in fhem.save.
Dann habe ich über die Kommandozeile in FHEM per "setreading" die falschen Werte im DOIF korrigiert. Diese Korrektur sehe ich auch, aber nur so lange, bis der nächste Trigger das Reading wieder auf die falschen Werte setzt. Irgendwie sehe ich den Wald vor lauter Bäumen nicht.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 21 Mai 2022, 16:01:09
Zitat von: Bartimaus am 21 Mai 2022, 14:27:56
Danke, aber daraus werde ich nicht schlau. Ich habe für mich nicht valide Werte in fhem.save (..month_8760_values) gelöscht. Dabei habe ich mich an den Backupdaten von ein paar Tagen vorher orientiert. Die "komischen" Werte gelöscht, gespeichert und FHEM wieder gestartet. Aber es werden mir noch immer falsche Werte angezeigt. Die die im Card angezeigt werden, sehe ich auch nicht in fhem.save.
Dann habe ich über die Kommandozeile in FHEM per "setreading" die falschen Werte im DOIF korrigiert. Diese Korrektur sehe ich auch, aber nur so lange, bis der nächste Trigger das Reading wieder auf die falschen Werte setzt. Irgendwie sehe ich den Wald vor lauter Bäumen nicht.

Ob du in der richtigen save-Datei die richtigen Werte gelöscht hast, kann ich nicht sagen. Zur Laufzeit wirst du es nicht schaffen die Werte zu ändern.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Bartimaus am 22 Mai 2022, 10:26:06
Zitat von: Damian am 21 Mai 2022, 16:01:09
Ob du in der richtigen save-Datei die richtigen Werte gelöscht hast, kann ich nicht sagen. Zur Laufzeit wirst du es nicht schaffen die Werte zu ändern.

Moin,

natürlich habe ich FHEM vor dem editieren der fhem.save heruntergefahren...

Zitat von: Damian am 09 Mai 2022, 12:52:57
steht im Script:

mid {[00:01];; 

Ich glaube weniger an das Verschlucken, als auf etwas wie Neustarten (Zähler, FHEM, System)

Zu diesem Thema: Heute ist es wieder soweit, der Vortageswert steht auf 0,0, obwohl da hätte 5,8 stehen müssen.
Aber: Gestern habe ich FHEM heruntergefahren, und anschließend das System komplett neu gestartet.
Und heute sehe ich in den gespeicherten Logs, das heute um Mitternacht 2 Einträge in die Logs geschrieben wurde. Der erste mit dem Wert von 5,8, der zweite Wert dann mit 0,0. Das ist dann auch das was bei meinem "Card" angezeigt wird.

Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 22 Mai 2022, 12:01:49
Wer den Wert auf Null setzt, kann ich dir leider auch nicht sagen.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 25 Mai 2022, 17:40:18
Zitat von: Damian am 20 Mai 2022, 19:44:22
Programmieren von Tasmota kannst du dir gut auf Youtube anschauen.

....

Blöde Frage, was macht man wenn die ganzen Anleitungen nicht funktionieren?
Ich bekomme Invalid Head of Packet, habe zwar schon "Lösungen" gefunden aber irgendwie bin ich scheinbar zu doof die anzuwenden. :-(
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 25 Mai 2022, 17:46:10
Zitat von: Stephan27 am 25 Mai 2022, 17:40:18
Blöde Frage, was macht man wenn die ganzen Anleitungen nicht funktionieren?
Ich bekomme Invalid Head of Packet, habe zwar schon "Lösungen" gefunden aber irgendwie bin ich scheinbar zu doof die anzuwenden. :-(

Mit welchem Programm hast du geflasht?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 25 Mai 2022, 17:57:40
Hab jetzt erst Tasmotizer 1.2 probiert und danach noch mit ESPeasy.
Baudrate habe ich auf 9600 wie es mein Board angibt.

Im ESPeasy habe ich mal mit anderen Baudraten probiert (im Treiber und im Tool).

USB habe ich jetzt 3 verschiedene Ports durch USB2.0, 3.0 und USB-C (3.1).

Ist irgendwie schon wieder ernüchternd wenn direkt "der erste" Schritt nicht funktioiert.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 25 Mai 2022, 18:16:20
Zitat von: Stephan27 am 25 Mai 2022, 17:57:40
Hab jetzt erst Tasmotizer 1.2 probiert und danach noch mit ESPeasy.
Baudrate habe ich auf 9600 wie es mein Board angibt.

Im ESPeasy habe ich mal mit anderen Baudraten probiert (im Treiber und im Tool).

Tasmota habe ich ohne Probleme mit Tasmotize 1.2 unter Windows mehrfach geflasht.

Auch ESPeasy mit ESPeasy-Flasher war früher kein Problem.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 25 Mai 2022, 18:19:34
Hilft mir gerade leider nicht.  ::)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 25 Mai 2022, 18:42:46
Zitat von: Stephan27 am 25 Mai 2022, 18:19:34
Hilft mir gerade leider nicht.  ::)

Es kann also nur an der Hardware/Kabel liegen. Denn die Bedienung von Tasmotize ist idiotensicher.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 25 Mai 2022, 19:16:37
Zitat von: Damian am 25 Mai 2022, 18:42:46
Es kann also nur an der Hardware/Kabel liegen. Denn die Bedienung von Tasmotize ist idiotensicher.

Ich habe es jetzt noch mit meinem "Werkstatt" Win7 probiert und drei verschiedenen Kabeln, total sinnlos. :-/
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 25 Mai 2022, 19:35:25
Zitat von: Stephan27 am 25 Mai 2022, 19:16:37
Ich habe es jetzt noch mit meinem "Werkstatt" Win7 probiert und drei verschiedenen Kabeln, total sinnlos. :-/

Dann bleibt nur noch der esp selbst als Fehlerquelle - dubios?!

Welchen hast du denn geholt?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 25 Mai 2022, 19:49:26
Den hier:
https://www.ebay.de/itm/203284899747?mkevt=1&mkpid=0&emsid=e11050.m43.l1123&mkcid=7&ch=osgood&euid=cc04558b9dae4d8db3429219322e8b39&bu=43334370333&osub=-1%7E1&crd=20220525092708&segname=11050&sojTags=ch%3Dch%2Cbu%3Dbu%2Cosub%3Dosub%2Ccrd%3Dcrd%2Csegname%3Dsegname%2Cchnl%3Dmkcid


Extra von einem deutschen Händler. Kontakt zu Ihm habe ich schon aufgenommen.

Gerade habe ich noch folgende Meldung in nem Logfile gefunden:
serialport_receive_C0: 80 instead of C0

P.S.:
Das Teil hat neben dem USB-Port noch zwei Tasten "RST" (Rest?) und "FLASH". Hab es mal mit beiden probiert, aber es scheint nix zu ändern.


Edit:
Weißt du eventuell wo ich einen Sketch der Firmware bekomme, um es über die Arduino-IDE zu übertragen? Diese biete einige Möglichkeiten mehr, was die Kommunikation angeht.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 25 Mai 2022, 20:53:59
Zitat von: Stephan27 am 25 Mai 2022, 19:49:26
Den hier:
https://www.ebay.de/itm/203284899747?mkevt=1&mkpid=0&emsid=e11050.m43.l1123&mkcid=7&ch=osgood&euid=cc04558b9dae4d8db3429219322e8b39&bu=43334370333&osub=-1%7E1&crd=20220525092708&segname=11050&sojTags=ch%3Dch%2Cbu%3Dbu%2Cosub%3Dosub%2Ccrd%3Dcrd%2Csegname%3Dsegname%2Cchnl%3Dmkcid


Extra von einem deutschen Händler. Kontakt zu Ihm habe ich schon aufgenommen.

Gerade habe ich noch folgende Meldung in nem Logfile gefunden:
serialport_receive_C0: 80 instead of C0

P.S.:
Das Teil hat neben dem USB-Port noch zwei Tasten "RST" (Rest?) und "FLASH". Hab es mal mit beiden probiert, aber es scheint nix zu ändern.


Edit:
Weißt du eventuell wo ich einen Sketch der Firmware bekomme, um es über die Arduino-IDE zu übertragen? Diese biete einige Möglichkeiten mehr, was die Kommunikation angeht.

Hast du mal die Standardversion tasmota.bin probiert zu flashen? http://ota.tasmota.com/tasmota/release/

Ich habe den di mini gekauft: https://www.amazon.de/AZDelivery-D1-Mini-Entwicklungsboard-kompatibel/dp/B0754N794H/ref=sr_1_3?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=1VZKFVBJPALGE&keywords=esp8266&qid=1653504594&sprefix=esp8266%2Caps%2C70&sr=8-3&th=1

Evtl. den 340-Treiber nachinstallieren.

Mehr kann ich zu dem Thema nicht beitragen. Vielleicht hat jemand Erfahrungen mit deiner ESP8266-Version.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 25 Mai 2022, 21:03:19
Ich gehe davon aus, dass du bei deinem Modell zum Flashen den flash-Knopf gedrückt halten musst, bevor du das Board an usb anschließt.

Aber das hast du ja wohl schon gemacht?!
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 25 Mai 2022, 21:59:37
Zitat von: Damian am 25 Mai 2022, 21:03:19
Ich gehe davon aus, dass du bei deinem Modell zum Flashen den flash-Knopf gedrückt halten musst, bevor du das Board an usb anschließt.

Aber das hast du ja wohl schon gemacht?!

Ja habe ich auch probiert.
- Vorher drücken
- Vorher drücken und dabei einstecken
- Vorher drücken, dabei einstecken und flashen
- einstecken und 1x drücken
- 3 sek. drücken
- 10 sek. drücken
- Drücken,  halten flashen.

Treiber habe ich nur den hier gefunden:
http://www.wch.cn/download/CH341SER_ZIP.html

Der führt aber das CH340G auch mit auf. (in 32bit und 64bit probiert)

Guckmal bitte hier:
https://www.makershop.de/ch340-341-usb-installieren/

in den Kommentaren gibt es einen Hinweis, wie man die Arduino IDE einstellen soll auch mit dem CH340. Ich verstehe es aber noch nicht so 100% was jetzt richtig wäre.
Und wo bekomme ich das passende Sketch also den Code für die Firmware von Tasomo
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 25 Mai 2022, 22:38:53
Zitat von: Stephan27 am 25 Mai 2022, 21:59:37
Guckmal bitte hier:
https://www.makershop.de/ch340-341-usb-installieren/

in den Kommentaren gibt es einen Hinweis, wie man die Arduino IDE einstellen soll auch mit dem CH340. Ich verstehe es aber noch nicht so 100% was jetzt richtig wäre.
Und wo bekomme ich das passende Sketch also den Code für die Firmware von Tasomo

Mein D1 mini-Clone hat auch den ch340 drauf und es funktioniert alles wie es soll mit den genannten Tasmota-Versionen hier im Thread. Ich habe keine speziellen Sketches erstellen müssen. Ich habe bei mir auch keine Arduino-Umgebung installiert.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 25 Mai 2022, 22:58:53
Zitat von: Damian am 25 Mai 2022, 22:38:53
Mein D1 mini-Clone hat auch den ch340 drauf und es funktioniert alles wie es soll mit den genannten Tasmota-Versionen hier im Thread. Ich habe keine speziellen Sketches erstellen müssen. Ich habe bei mir auch keine Arduino-Umgebung installiert.

Ich schein mit dem Problem nicht ganz allein. Ein paar Leute konnten es wohl mit der ArduIDE lösen, aber irgendwie komme ich damit auch nicht hin.
Na mal sehen was der Verkäufer antwortet, vlt. hat die Platine einfach einen weg.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 25 Mai 2022, 23:09:34
Zitat von: Stephan27 am 25 Mai 2022, 22:58:53
Ich schein mit dem Problem nicht ganz allein. Ein paar Leute konnten es wohl mit der ArduIDE lösen, aber irgendwie komme ich damit auch nicht hin.
Na mal sehen was der Verkäufer antwortet, vlt. hat die Platine einfach einen weg. Hab auch schon gelesen, dass es welche mit "billigen" USB-Chips gibt die sehr zickig sind.

Im schlimmsten Fall bestellst du genannten d1 mini clone. Ich habe inzwischen 3 mal je drei Stück bestellt und hatte noch keine Probleme damit.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 31 Mai 2022, 17:29:27
Zitat von: Damian am 25 Mai 2022, 23:09:34
Im schlimmsten Fall bestellst du genannten d1 mini clone. Ich habe inzwischen 3 mal je drei Stück bestellt und hatte noch keine Probleme damit.

Ich habe jetzt vom Anbieter einen neuen ESP bekommen.
Der Chip ist mit Espressif ESP32-Wroom-32 beschriftet.

Der Anbieter hat Ihn bei sich testweise mit Tasmota 11.1.0 geflasht und ich konnte über den Tasmota WebInstaller zumindest meine WLAN-Config erfolgreich flashen.

Frage,
brauch ich die spezielle Firmware hier aus dem Forum oder kann ich auch mit 11.1.0 alles konfigurieren und in Gang bringen? Auch wenns keine große Sache ist, will ich den jetzt nicht "kaputt" flashen, wenn er erstmal läuft und das nicht notwendig sein sollte.

Ein wenig habe ich mich auch geärgert, da es bei eBay auch von HICHI ein fertiges Set gab mit Schreib-Lese-Einheit, WLAN-ESP, 3D-Druckgehäuse usw. für 30€ + Versand und ReadyToStart. Da ich die ganzen Bauteile nicht da hatte, habe ich bisher auch soviel bezahlt.  (das hier... https://www.ebay.de/itm/313991145152?hash=item491b54a6c0:g:a~MAAOSwk3xhfcKN)

Edit:
Beim Schaltplan ist ja als Pin GND, 3v3 und RX angegeben. RX habe ich aber RX2 und RXD ist es egal welchen Pin ich verwende?
Kann ich an diesen eine ESP auch noch eine zweiten EasyMeter vom gleichen Typ abfragen (Wärmepumpe), also sprich einen zweiten Phototransistor dran hängen und auswerten?

Zu den Anleitungen nochmal.
Aus dem Müügelland-Link... muss ich auch nochmal kompilieren wie dort angegeben oder steige ich bei dem Skript ein?
Aus dem Winkler-Link... hier nehme ich nur den Schaltplan? Den Rest ignoriere ich, richtig?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 31 Mai 2022, 18:11:21
Zitat von: Stephan27 am 31 Mai 2022, 17:29:27
Der Anbieter hat Ihn bei sich testweise mit Tasmota 11.1.0 geflasht und ich konnte über den Tasmota WebInstaller zumindest meine WLAN-Config erfolgreich flashen.

Frage,
brauch ich die spezielle Firmware hier aus dem Forum oder kann ich auch mit 11.1.0 alles konfigurieren und in Gang bringen? Auch wenns keine große Sache ist, will ich den jetzt nicht "kaputt" flashen, wenn er erstmal läuft und das nicht notwendig sein sollte.


Leider ja, in der Standard-Firmware ist SML nicht drin :(
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 31 Mai 2022, 18:18:40
Zitat von: Damian am 31 Mai 2022, 18:11:21
Leider ja, in der Standard-Firmware ist SML nicht drin :(

Oh ich habe glatt deine Antwort übersehen und im letzten Post noch was ergänzt.
Aber okay, weiß ich schonmal dass ich nochmal ran muss. Hab den Anbieter nochmal geschrieben, wie der ESP zu flashen ist. (sicher ist sicher)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 31 Mai 2022, 19:05:35
Du kannst an einem Tasmota-Device standardmäßig einen D0-Zähler und vier S0-Zähler anhängen
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 31 Mai 2022, 19:09:19
Zitat von: Damian am 31 Mai 2022, 19:05:35
Du kannst an einem Tasmota-Device standardmäßig einen D0-Zähler und vier S0-Zähler anhängen

Was bedeutet das bzw. wozu zählen die EasyMeter mit optischer Schnittstelle?

P.S.:
Wo bekomme ich denn für meine Zähler die Infos zu den Definitionen her?
Bei Mueggelland sind nicht alle Werte erfasst, die der Q3MA liefern kann.
(Also z.B. diese Zeile:  1,77070100010800ff@1000,Verbrauch,KWh,Power_in,1)

Habe gerade mal beim Anbieter das Datenblatt bzw. die Betriebsanleitung gezogen, aber da steht nur was er kann und nicht wie man es abfragt.
https://www.easymeter.com/downloads/products/zaehler/Q3M/EDL11/BA_Easymeter_Q3M_2016-11-14.pdf  (Punkt 6.1.1 und 6.1.2)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 31 Mai 2022, 19:14:48
Zitat von: Stephan27 am 31 Mai 2022, 19:09:19
Was bedeutet das bzw. wozu zählen die EasyMeter mit optischer Schnittstelle?

P.S.:
Wo bekomme ich denn für meine Zähler die Infos zu den Definitionen her?
Bei Mueggelland sind nicht alle Werte erfasst, die der Q3MA liefern kann.
(Also z.B. diese Zeile:  1,77070100010800ff@1000,Verbrauch,KWh,Power_in,1)

Habe gerade mal beim Anbieter das Datenblatt bzw. die Betriebsanleitung gezogen, aber da steht nur was er kann und nicht wie man es abfragt.
https://www.easymeter.com/downloads/products/zaehler/Q3M/EDL11/BA_Easymeter_Q3M_2016-11-14.pdf  (Punkt 6.1.1 und 6.1.2)

Ich habe den Q3MA nicht, da wirst du dich noch reinknien (einlesen) müssen, ich komme bei meinem Zweirichtungszähler mit zwei Werten aus.

Dein Zähler hat eine optische (daher die Photodiode) D0-Schnittstelle.

Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 31 Mai 2022, 19:15:10
Passend zum Thema habe ich gerade einen Beitrag "Aus einem physikalischen Zähler zwei virtuelle Zähler machen" verfasst:

https://forum.fhem.de/index.php/topic,127864.msg1223537.html#msg1223537
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 31 Mai 2022, 20:11:37
Zitat von: Damian am 31 Mai 2022, 19:14:48
Ich habe den Q3MA nicht, da wirst du dich noch reinknien (einlesen) müssen, ich komme bei meinem Zweirichtungszähler mit zwei Werten aus.

Dein Zähler hat eine optische (daher die Photodiode) D0-Schnittstelle.

Okay, also bräuchte ich einen zweiten ESP, da werde ich jetzt für 30€ das fertige Ding bestellen.
Der neue ESP lässt sich mit den verschiedensten Tasmota-Versionen (Webinstaller) vernünftig bespielen, aber die Binaries hier aus dem Forum gehen nicht rein bzw. funktioniert es mit Tasmotizer nicht. :-/
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 31 Mai 2022, 20:17:58
Zitat von: Stephan27 am 31 Mai 2022, 20:11:37
Okay, also bräuchte ich einen zweiten ESP, da werde ich jetzt für 30€ das fertige Ding bestellen.
Der neue ESP lässt sich mit den verschiedensten Tasmota-Versionen (Webinstaller) vernünftig bespielen, aber die Binaries hier aus dem Forum gehen nicht rein bzw. funktioniert es mit Tasmotizer nicht. :-/

Ich würde erste mal mit der zweiten Bestellung warten, so wie ich es sehe, hast du noch einige Hürden für den ersten Zähler zu nehmen ;)

Ich hatte keine Probleme mit dem Tasmotizer die hier zur Verfügung gestellte Firmware mit SML zu flashen.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 31 Mai 2022, 20:36:36
Zitat von: Damian am 31 Mai 2022, 20:17:58
Ich würde erste mal mit der zweiten Bestellung warten, so wie ich es sehe, hast du noch einige Hürden für den ersten Zähler zu nehmen ;)

Nein ich meinte, dass ich mir einfach das fertige Teil bestelle, wo nix mehr geflasht oder gelötet werden muss. Wenn ich sehe was hier schon wieder an Zeit und Nerven verblasen habe und kein Ergebnis sehe und der eigentliche fehleranfällige Bastelteil fehlt ja noch.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 31 Mai 2022, 21:17:27
Zitat von: Stephan27 am 31 Mai 2022, 20:36:36
Nein ich meinte, dass ich mir einfach das fertige Teil bestelle, wo nix mehr geflasht oder gelötet werden muss. Wenn ich sehe was hier schon wieder an Zeit und Nerven verblasen habe und kein Ergebnis sehe und der eigentliche fehleranfällige Bastelteil fehlt ja noch.

ja, das wird wohl für dich die einfachere Variante sein. Ich hatte alle Teile bereits in der Grabbelkiste, deswegen hatte ich keine zusätzlichen Kosten und wohl etwas mehr Erfahrung mit allem.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 31 Mai 2022, 21:22:06
Zitat von: Damian am 31 Mai 2022, 21:17:27
ja, das wird wohl für dich die einfachere Variante sein. Ich hatte alle Teile bereits in der Grabbelkiste, deswegen hatte ich keine zusätzlichen Kosten und wohl etwas mehr Erfahrung mit allem.

JA das Schlimme an der Sache ist, dass es eigentlich schon an einer Stelle hängt die ich nicht wirklich beeinflussen kann.
Wenn jetzt mit der Löterei oder der Config irgendwas schief gehen würde okay, aber so...
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 31 Mai 2022, 21:55:18
Ganz blöde Frage.
Wie komme ich denn auf den frisch geflashten Tasmota?

Ich habe jetzt über die Arduino IDE scheinbar erfolgreich den Flash durchgeführt. Der ESP selbst spielt aber jetzt erstmal kein AccessPoint, also muss ich Ihn irgendwie anders ansprechen und mein WLAN mitteilen.

Ausgabe aus der Powershell:
C:\...\esptool_py\3.0.0/esptool.exe --chip esp32 --port COM9 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dout --flash_freq 80m --flash_size detect 0xe000 C:\.../tasmota_smartmeter.bin
esptool.py v3.0-dev
Serial port COM9
Connecting....
Chip is ESP32-D0WD (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 0c:8b:95:75:f9:78
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 654240 bytes to 467464...
Wrote 654240 bytes (467464 compressed) at 0x0000e000 in 6.7 seconds (effective 782.6 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Edit:
Wenn ich mit Putty auf den Serial Port gehe, dann schreibt er da beständig was. Sieht fast aus wie ein Bootloop. (das schreibt er im Sekundentakt immer wieder)


rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DOUT, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5856
entry 0x400806a8
ets Jun  8 2016 00:22:57
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Sany am 31 Mai 2022, 23:02:34
@Stephan27

ich les hier immer mal wieder mit und es scheint mir, Du hast dich noch nicht genug mit Tasmota auseinandergesetzt. Mit Details zu Deinem Vorhaben kann ich Dir nicht weiterhelfen, aber ein paar Infos zu den Grundsätzen vielleicht geben:

Tasmota-Firmwares sind unterschiedlich für ESP8266 und ESP32, meist im Dateinamen entsprechend angegeben.
- Einen frischen ESP32 muss man hardwaremäßig mit einer tasmota32.factory.bin flashen (gibt wohl auch ne Lösung per Browser, habe ich nie probiert)
- einen neu geflashten Tasmota ESP erreichst Du, indem Du z.B. mit dem Handy die WLAN-Netze anzeigen läßt, es gibt dann eines was tasmota12345 oder so heißt (früher sonos7654332). Mit diesem verbinden und dann im Browser 192.168.4.1 eingeben. Dann sollte die Oberfläche vom Tasmota erscheinen. Hier dann die WLAN-Daten von Deinem Heimnetz eintragen, nach reboot ist er dann dort erreichbar. In z.B. einer Fritzbox taucht er dann bei den Netzwerkgeräten auf und du hast die IP, womit Du ihn dann erreichen kannst.
- einen so geflashten und eingerichteten Tasmota flasht man dann üblicherweise per OTA, also von der Weboberfläche aus. Beim ESP8266 mußte man das in 2 Schritten machen (erst eine minimal.bin, dann die gewünschte), da der Speicher nicht groß genug ist für die neueren Versionen, beim ESP32 ist das, soweit ich mich entsinne, nicht nötig. Hier dann aber eine reguläre tasmota32.bin, nicht die factory-Version, da damit alles gespeicherte wieder überschrieben wird!
Um eigene ESP32 tasmota-Versionen als firmware zu erstellen gibt es eine online-Lösung (hat Otto mal in seinem Blog vorgestellt), hat bei mir eher nur sporadisch geklappt. Solltest Du Visual Studio Code nutzen: da gibt es eine ausführliche Beschreibung auf der tasmota-Seite, wie man das einrichtet. Das fand ich recht einfach (im Prinzip nur den ganzen Tasmota-Ordner aus Github auf den Rechner ziehen und in VS-Code öffnen). Damit hat die Erstellung von custom-firmware sehr gut geklappt. Am Ende bekommst Du direkt die .bin und factory.bin, je nach dem was Du für den ESP32 dann brauchst. Oder die Arduino-IDE, das hast Du wohl schon gemacht.

Vielleicht hilft das ja bei Deinen Versuchen, das Teil zum laufen zu bekommen.

Gruß

Sany
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 01 Juni 2022, 09:05:12
Hallo Sany,

ich danke dir erstmal.

Dein erster Punkt wird es schon sein. Ich hatte ursrpünglich einen ESP8266 (wahrscheinlich Defekt), der überhaupt nicht lief und mit dem einfach nichts möglich war.
Die Nachlieferung ist nun ein ESP32, der mit alle drum und dran mit Originalfirmware funktioniert und sich auch konfigurieren lässt. Wie du schon erwähnst funktioniert das mit dem WebInstaller wunderbar und danach ist auch das Tasmota-WLAN verfügbar bzw. kann man direkt im WebInstaller dann das eigene mitgeben und auf die Seite. (Soweit war auch Alles gut)

Nun wollte ich ja die hier im Forum verfügbare Tasmota für die SmartMeter verwenden und genau das war der Punkt der nun weiterhin nicht funktioniert. Zunächst eben auf einfachem Weg mittels Tasmotizer, der wie ich mittlerweile weiß ausschließlich mit ESP8266 und nicht ESP32 spricht. Danach habe ich dann mit der ArduinoIDE die Firmware erfolgreich aufspielen können. Hier fehlte es dann aber sowohl am Tasmota-Wlan, sowie an meinem eigenen. Wie ich später rausfinden konnte befindet sich der ESP im Bootloop, was dann dazu passt dass die Firmware ESP8266 und nicht ESP32 spricht.

Jetzt muss ich mal schauen ob ich für den 32er irgendwie die Firmware compiliert bekomme. Den online TasmoCompiler habe ich bereits gefunden und mir auch ein BIN erstellt, aber auch hier konnte ich nicht auswählen im Vorfeld, ob ESP8266 oder ESP32, so dass ich fast wieder von ESP8266 ausgehe.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 01 Juni 2022, 11:53:03
Kleines Update:

Der Tipp von Sany war wirklich gut.
Ich habe jetzt auf Basis des ESP32 Generic und Tasmota-DE 11.1.0 einfach die vier (Un)Define gesetzt und kompiliert und dann über die WEBUI vom STOCK Tasmota via WLAN geflasht und jetzt habe ich zumindest die Skripting-Funktionen drin. Jetzt müsste ich den Aufbau mal löten und testen.

Vielen Dank.

Edit:

Zwei Fragen habe ich noch:
- Zeigt mir die Konsole an, wenn ich die IR-Diode an die Schnittstelle halte, was Sie empfängt bzw. die OBIS-Kennzahlen? Oder Anders, wo bekomme ich die Infos was mein Zähler alles ausgibt, außer von den privaten Seiten der Bastler?
- Der Zähler hat mehrere optische Schnittstellen. Eine ist groß mit Info-DSS beschriftet, die Andere ist oben auf dem Zähler (mit D0 beschriftet). Im Netz habe ich für das Tasmota-Projekt bereits beide Varianten gesehen, dass der Lesekopf dort angebracht ist. Wo sollte der Lesekopf am Ende dran?

Der Skript den ich eingetragen habe, liefert im Hauptmenü soweit die Anzeige zu den gewünschten Werten. Ich muss es jetzt wie gesagt mal löten und anschließen.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 01 Juni 2022, 14:56:25
Zitat von: Stephan27 am 01 Juni 2022, 11:53:03
Kleines Update:

Der Tipp von Sany war wirklich gut.
Ich habe jetzt auf Basis des ESP32 Generic und Tasmota-DE 11.1.0 einfach die vier (Un)Define gesetzt und kompiliert und dann über die WEBUI vom STOCK Tasmota via WLAN geflasht und jetzt habe ich zumindest die Skripting-Funktionen drin. Jetzt müsste ich den Aufbau mal löten und testen.

Vielen Dank.

Edit:

Zwei Fragen habe ich noch:
- Zeigt mir die Konsole an, wenn ich die IR-Diode an die Schnittstelle halte, was Sie empfängt bzw. die OBIS-Kennzahlen? Oder Anders, wo bekomme ich die Infos was mein Zähler alles ausgibt, außer von den privaten Seiten der Bastler?
- Der Zähler hat mehrere optische Schnittstellen. Eine ist groß mit Info-DSS beschriftet, die Andere ist oben auf dem Zähler (mit D0 beschriftet). Im Netz habe ich für das Tasmota-Projekt bereits beide Varianten gesehen, dass der Lesekopf dort angebracht ist. Wo sollte der Lesekopf am Ende dran?

Der Skript den ich eingetragen habe, liefert im Hauptmenü soweit die Anzeige zu den gewünschten Werten. Ich muss es jetzt wie gesagt mal löten und anschließen.

Mit einem Handy kannst du über das Kameraobjektiv sehen, welche Diode sendet - erkennbar am violetten Licht. Wenn die Signale im Modul ankommen und korrekt ausgewertet werden, dann sollte man im Hauptmenü die aktuellen Werte sehen. Die Daten kommen bei mir im Sekundentakt. Bei mir hat es mit den richtigen Konfigurationseinträgen für meinen Zähler auf Anhieb funktioniert. Da ich aber zwischendurch mal Aussetzer hatte, habe ich die Position der Diode (maximaler Ausschlag) mit einem Oszilloskop ausgerichtet, aber das ist schon Luxus, den nicht jeder hat und dafür nicht unbedingt braucht.

Zuvor hatte ich einen IR-Kopf über eine serielle Schnittstelle betrieben. Den konnte ich damals mit einem Terminalprogramm ausgelesen, um zu schauen, was da kommt.

Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 01 Juni 2022, 17:03:43
So jetzt geht der Spaß richtig los.
Also am Zähler das violette Licht bekomme ich bei der Info-DSS Schnittstelle, die obere D0 die im Handbuch beschrieben ist klebt bei mir ein EasyMeter-Siegel drüber.

Jetzt aber die Frage, wie kann ich sehen ob meine Löterei und die IR-Diode funktioniert?
Ich habs mal ganz stümpferhaft zusammengebraten (wie im Schaltplan Widerstand gegen 3v3; Diode (lang) gegen GND; Widerstand+Diode (kurz) gegen RXD (sollte der Richtige sein, da der GPIO3 sein soll, den Tasmota als RX meldet, ich hab noch RX2 am ESP32) und an die INFO-DSS dran gehalten, aber sehe erstmal keine Werte im Tasmota. Telnet auf die IP + Port 23 kommt "Refused".

Siehe hier:
https://circuits4you.com/2018/12/31/esp32-devkit-esp32-wroom-gpio-pinout/

Ich habe jetzt mal ne TV-Fernbedienung genommen und mir die Konsole angesehen. (sollte ja auch ein IR-Signal sein?)
Wenn ich dort z.B. Lautstärke +/- sende in Richtung Diode kommt auf der Konsole auch nix. (war erstmal leichter als im Sicherungskasten zu fummeln)

Ansonsten macht er jetzt jede Sekunde das hier:
16:20:27.712 RSL: STATE = {"Time":"2022-06-01T16:20:27","Uptime":"0T00:11:41","UptimeSec":701,"Heap":155,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":0,"Berry":{"HeapUsed":2,"Objects":31},"Wifi":{"AP":1,"SSId":"xxx","BSSId":"xxx","Channel":1,"Mode":"11n","RSSI":52,"Signal":-74,"LinkCount":1,"Downtime":"0T00:00:05"}}

16:20:27.725 RSL: SENSOR = {"Time":"2022-06-01T16:20:27","SML":{"Power_in":0.0,"Power_out":0.0,"Power_act":0.0,"Power_p1":0.0,"Power_p2":0.0,"Power_p3":0.0},"ESP32":{"Temperature":29.4},"TempUnit":"C"}

EDIT:
Müsste ich eventuell hier Anpassungen vornehmen:
+1,13,s,1,9600,SML
wie folgt:
+1,3,s,1,9600,SML

Lt. dem Link oben ist RXD (bzw. RX) bei mir GPIO03


EDIT:
Zumindest Tasmota und Firmware-seitig scheint alles iO.
MQTT läuft auch, denn die Readings vom Tasmota-Device landen alle vernünftig im FHEM und in meiner MariaDB.
Jetzt muss nur mein Gebrutzel noch der Schwachpunkt sein, warum nix rein kommt. XD
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 01 Juni 2022, 20:36:14
Zitat von: Damian am 20 Mai 2022, 18:18:40

Tasmota-Einstellungen für deinen Zähler von hier:

https://edv.mueggelland.de/smarter-stromzaehler/


Was wären denn für den Skript richtig?

im Link gibt es die Zeile
->Sensor53 r

Hier steht aber
=>Sensor53 r

https://tasmota.github.io/docs/Smart-Meter-Interface/#descriptor-syntax
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 01 Juni 2022, 21:10:50
Bei mir sieht das Skript so aus:

>D
>B
=>sensor53 r
>M 1
+1,3,s,0,9600,MT681
1,77070100010800ff@1000,Total Consumed,KWh,Total_in,3
1,77070100100700ff@1,Current Consumption,W,Power_cur,0
1,77070100020800ff@1000,Total Delivered,KWh,Total_out,3
1,77070100000009ff@#,Service ID,,Meter_id,0|
#
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 01 Juni 2022, 21:26:12
Hiernach:
https://www.easymeter.com/downloads/products/zaehler/Q3M/EDL11/BA_Easymeter_Q3M_2016-11-14.pdf

muss deine IR-Diode an die Info-DDS Stelle, dafür ist ja wohl das Stück Blech um das Loch für den Magneten.

Wenn du kein Oszilloskop hast, dann wirst du wohl hoffentlich einen Multimeter haben (sonst brauchst du mit solchen Projekten erst gar nicht anfangen :) ). Dann müsstest du an deiner angeschlossenen Diode Spannung erkennen, wenn du sie gegen das Licht einer Taschenlampe hältst.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 02 Juni 2022, 10:06:22
Zitat von: Damian am 01 Juni 2022, 21:26:12
Wenn du kein Oszilloskop hast, dann wirst du wohl hoffentlich einen Multimeter haben (sonst brauchst du mit solchen Projekten erst gar nicht anfangen :) ). Dann müsstest du an deiner angeschlossenen Diode Spannung erkennen, wenn du sie gegen das Licht einer Taschenlampe hältst.

Multimeter habe ich ansich, aber gerade nicht zur Hand. Hab den Fehler nach Diskussion mit den Kollegen aber glaub gefunden.

Im verlinkten Schaltplan ist die Beschreibung der Diode falsch. Dort wird gesagt, dass der lange Pin der Diode an Ground gehört, was ja aber die Anode der Diode ist und da ich gestern nicht weiter darüber nachgedacht habe und strikt nach den Vorgaben gelötet habe, kann es folglich nicht funktionieren. Werde heute Abend die Diode drehen und dann sollte es laufen.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 02 Juni 2022, 10:39:14
Zitat von: Stephan27 am 02 Juni 2022, 10:06:22
Multimeter habe ich ansich, aber gerade nicht zur Hand. Hab den Fehler nach Diskussion mit den Kollegen aber glaub gefunden.

Im verlinkten Schaltplan ist die Beschreibung der Diode falsch. Dort wird gesagt, dass der lange Pin der Diode an Ground gehört, was ja aber die Anode der Diode ist und da ich gestern nicht weiter darüber nachgedacht habe und strikt nach den Vorgaben gelötet habe, kann es folglich nicht funktionieren. Werde heute Abend die Diode drehen und dann sollte es laufen.

Also, ich habe es im angeschlossenen Zustand getestet, indem ich das Oszilloskop an die beiden Leitungen GND und RX angeschlossen habe. Du könntest mit einem Multimeter GND und RX messen. Dann sollte dort eine Spannung über 2 Volt anliegen. Wenn die Diode durch Licht (z. B. Taschenlampe) leitet, dann zieht sie die Spannung gegen Null. Das muss messbar sein. Die schnelle Impulsabfolge, wenn die Diode tatsächlich Daten empfängt, wirst du mit einem Multimeter nicht gut sehen können.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 02 Juni 2022, 10:49:50
Ich werde wie gesagt später erstmal die Diode drehen, das kann so rum nicht stimmen.
Mit dem Multi schaue ich mal, falls das nicht funktioniert.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 02 Juni 2022, 20:04:10
Zitat von: Damian am 01 Juni 2022, 21:10:50
Bei mir sieht das Skript so aus:

>D
>B
=>sensor53 r
>M 1
+1,3,s,0,9600,MT681
1,77070100010800ff@1000,Total Consumed,KWh,Total_in,3
1,77070100100700ff@1,Current Consumption,W,Power_cur,0
1,77070100020800ff@1000,Total Delivered,KWh,Total_out,3
1,77070100000009ff@#,Service ID,,Meter_id,0|
#


Dazu hätte ich noch eine Frage.
Ich habe heute den zweiten, fertigen Hichi, sowie meine PINs vom MSB bekommen. Nach 5 Minuten hatte ich die Werte in Tasmota und FHEM.
Jetzt eben habe ich die PIN eingegeben und sehe am Zähler im Display nun auch den Momentanverbrauch, im Tasmota landet aber weiter nur der Gesamtzählerstand.
Auf der Console vom Tasmota sehe ich keine Auffälligkeiten.

Liegt das jetzt an meinen SML-Statements, sitzt der Reader schlecht oder übermittelt die INFO-DSS einfach nicht mehr und ich muss an die D0/ MSB-Schnittstelle?

Zitat von: Damian am 01 Juni 2022, 21:26:12
Hiernach:
https://www.easymeter.com/downloads/products/zaehler/Q3M/EDL11/BA_Easymeter_Q3M_2016-11-14.pdf

muss deine IR-Diode an die Info-DDS Stelle, dafür ist ja wohl das Stück Blech um das Loch für den Magneten.

Nach dem Handbuch scheint mir die MSB/ D0 (liegt bei mir frei, aber ohne Magnet) da mehr zu liefern... allerdings weiß ich nicht wie ich erstmal die OBIS-Kennzahlen bekomme, um dann die SML-Statements zu bauen?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 02 Juni 2022, 21:07:17
Zitat1,77070100010800ff@1000,Verbrauch,KWh,Power_in,1
1,77070100020800ff@1000,Einspeisung,KWh,Power_out,1
1,77070100100700ff@1,Akt. Verbrauch,W,Power_act,1
1,77070100240700ff@1,Wirkleistung L1,W,Power_p1,1
1,77070100380700ff@1,Wirkleistung L2,W,Power_p2,1
1,770701004c0700ff@1,Wirkleistung L3,W,Power_p3,1

hiernach sollte auch die aktuelle Leistung bei deinem Zähler angezeigt werden.

In FHEM verzichte ich bewusst auf diesen Wert, denn das Übertragungsintervall der Werte habe ich auf 60 Sekunden gestellt. Dann ist ein momentaner Bezug bzw. Einspeisung ggf. nach einigen Sekunden nicht mehr aktuell, daher errechne ich lieber in FHEM die durchschnittliche Leistung des Bezugs/Einspeisung der letzten Minute aus den Zählerständen.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 02 Juni 2022, 21:39:33
Zitat von: Damian am 02 Juni 2022, 21:07:17
hiernach sollte auch die aktuelle Leistung bei deinem Zähler angezeigt werden.

In FHEM verzichte ich bewusst auf diesen Wert, denn das Übertragungsintervall der Werte habe ich auf 60 Sekunden gestellt. Dann ist ein momentaner Bezug bzw. Einspeisung ggf. nach einigen Sekunden nicht mehr aktuell, daher errechne ich lieber in FHEM die durchschnittliche Leistung des Bezugs/Einspeisung der letzten Minute aus den Zählerständen.

Also ich habe jetzt zwei Tasmota laufen.
1x Hichi - Fertigprodukt (Haus)
1x ESP32 - Eigenbau (Wärmepumpe)

Beide zeigen mir jetzt Verbrauch (also Gesamtzählerwert) und aktuellen Verbrauch (jede Sekunde) an.
Heißt der SML in Zeile 1 und in Zeile 3 liefert Werte.

Die Anzeige nach L1, L2, L3 macht leider keiner der Beiden, obwohl es bei EasyMeter beschrieben steht.

Um FHEM und die Readings kümmere ich mich später, mir war erstmal wichtig dass die Devices laufen und Werte liefern.
Da hattest du ja auch deinen Wiki-Eintrag verlinkt? Ich muss dann nur wieder schauen, da ich mit MariaDB anstelle eines FileLOG und aktuell auch meine FHEM-Diagramme auf Grafana umziehe. (mit Grafana und SQL habe ich einfach mehr Erfahrung als mit SVG und den Plots in FHEM)

Würde mich trotzdem interessieren, warum er mir die Phasenleistung nicht anzeigt.
Wie bekomme ich eigentlich angezeigt, was der ESP alles empfängt... also wenn kein Skript laufen würde? (Konsole, Telnet?)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 02 Juni 2022, 21:55:09
Die Anzeige nach L1, L2, L3 macht leider keiner der Beiden, obwohl es bei EasyMeter beschrieben steht

Es muss nicht alles freigeschaltet sein, was beschrieben ist. Ob Tasmota da mehr Einsicht bietet, weiß ich nicht.

Meiner liefert z. B. nicht die einzelnen Phasen, obwohl es dokumentiert ist. Über die serielle Schnittstelle konnte ich zuvor alles loggen.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 02 Juni 2022, 21:58:00
Zitat von: Damian am 02 Juni 2022, 21:55:09
Die Anzeige nach L1, L2, L3 macht leider keiner der Beiden, obwohl es bei EasyMeter beschrieben steht

Es muss nicht alles freigeschaltet sein, was beschrieben ist. Ob Tasmota da mehr Einsicht bietet, weiß ich nicht.

Meiner liefert z. B. nicht die einzelnen Phasen, obwohl es dokumentiert ist. Über die serielle Schnittstelle konnte ich zuvor alles loggen.

Macht es da einen Unterschied ob ich Oben an D0 oder vorn an die INFO-DSS gehe?
Bzw. wenn er Werte liefert, kann ich dann davon ausgehen dass er Alles empfängt oder kann er wenn die Diode blöd sitzt auch nur einen Teil empfangen?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 02 Juni 2022, 22:01:37
Zitat von: Stephan27 am 02 Juni 2022, 21:58:00
Macht es da einen Unterschied ob ich Oben an D0 oder vorn an die INFO-DSS gehe?
Bzw. wenn er Werte liefert, kann ich dann davon ausgehen dass er Alles empfängt oder kann er wenn die Diode blöd sitzt auch nur einen Teil empfangen?

Du kannst beide Schnittstellen ausprobieren.

Ich würde ausschließen, dass deine Diode nur einen Teil ausliest und den Rest nicht. Wenn sie nicht richtig sitzen würde, dann hättest du Aussetzer oder irgendwelche unplausiblen Werte.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 02 Juni 2022, 22:06:54
Ich glaub ich habe die Rohdaten gefunden:

Zitat21:06:07.847 : 77 07 81 81 c7 82 03 ff 01 01 01 01 04 45 53 59 01
21:06:07.852 : 77 07 01 00 00 00 09 ff 01 01 01 01 0b 09 01 45 53 59 11 03 9e 81 fa 01
21:06:07.856 : 77 07 01 00 01 08 00 ff 64 00 01 80 01 62 1e 52 fc 59 00 00 00 20 a0 c5 33 bc 01
21:06:07.861 : 77 07 01 00 02 08 00 ff 64 00 01 80 01 62 1e 52 fc 59 00 00 00 00 00 1b 6d 0f 01
21:06:07.866 : 77 07 01 00 01 08 01 ff 01 01 62 1e 52 fc 59 00 00 00 20 a0 a4 1a ab 01
21:06:07.947 : 77 07 01 00 01 08 02 ff 01 01 62 1e 52 fc 59 00 00 00 00 00 21 19 10 01
21:06:08.718 : 77 07 01 00 10 07 00 ff 01 01 62 1b 52 fe 59 00 00 00 00 00 00 05 f7 01 01 01 63 ab bb 00 76 0b 45 53 59 4d 81 fa 18 c1
21:06:08.723 : 77 01 0b 09 01 45 53 59 11 03 9e 81 fa 08 01 00 62 0a ff ff 00 72 62 01 65 08 40 99 59
21:06:08.727 : 77
21:06:08.815 : 77 07 81 81 c7 82 03 ff 01 01 01 01 04 45 53 59 01
21:06:08.819 : 77 07 01 00 00 00 09 ff 01 01 01 01 0b 09 01 45 53 59 11 03 9e 81 fa 01
21:06:08.824 : 77 07 01 00 01 08 00 ff 64 00 01 80 01 62 1e 52 fc 59 00 00 00 20 a0 c5 33 e6 01
21:06:08.829 : 77 07 01 00 02 08 00 ff 64 00 01 80 01 62 1e 52 fc 59 00 00 00 00 00 1b 6d 0f 01
21:06:08.833 : 77 07 01 00 01 08 01 ff 01 01 62 1e 52 fc 59 00 00 00 20 a0 a4 1a d5 01
21:06:08.915 : 77 07 01 00 01 08 02 ff 01 01 62 1e 52 fc 59 00 00 00 00 00 21 19 10 01
21:06:09.718 : 77 07 01 00 10 07 00 ff 01 01 62 1b 52 fe 59 00 00 00 00 00 00 05 ef 01 01 01 63 06 7b 00 76 0b 45 53 59 4d 81 fa 18 c1
21:06:09.723 : 77 01 0b 09 01 45 53 59 11 03 9e 81 fa 08 01 00 62 0a ff ff 00 72 62 01 65 08 40 99 5a
21:06:09.727 : 77

Wären die drei/ vier, die ich aktuell nicht auslese:
1,77078181c78203ff
1,77070100000009ff
1,77070100010801ff
1,77070100010802ff
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 03 Juni 2022, 07:43:29
Zitat von: Stephan27 am 02 Juni 2022, 22:06:54
Ich glaub ich habe die Rohdaten gefunden:

Wären die drei/ vier, die ich aktuell nicht auslese:
1,77078181c78203ff
1,77070100000009ff
1,77070100010801ff
1,77070100010802ff

Diese Angaben kommen bei dir nicht vor:

1,77070100240700ff@1,Wirkleistung L1,W,Power_p1,1
1,77070100380700ff@1,Wirkleistung L2,W,Power_p2,1
1,770701004c0700ff@1,Wirkleistung L3,W,Power_p3,1


Die Zeile würde ich mir genauer anschauen:

77 07 01 00 10 07 00 ff 01 01 62 1b 52 fe 59 00 00 00 00 00 00 05 f7 01 01 01 63 ab bb 00 76 0b 45 53 59 4d 81 fa 18 c1
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 03 Juni 2022, 12:23:56
Zitat von: Damian am 03 Juni 2022, 07:43:29
Diese Angaben kommen bei dir nicht vor:

1,77070100240700ff@1,Wirkleistung L1,W,Power_p1,1
1,77070100380700ff@1,Wirkleistung L2,W,Power_p2,1
1,770701004c0700ff@1,Wirkleistung L3,W,Power_p3,1


Die Zeile würde ich mir genauer anschauen:

77 07 01 00 10 07 00 ff 01 01 62 1b 52 fe 59 00 00 00 00 00 00 05 f7 01 01 01 63 ab bb 00 76 0b 45 53 59 4d 81 fa 18 c1

Genau die "Wirkleistungen" die überall im Netz dokumentiert sind gibt er bei mir leider nicht aus.
Die Zeile die du "extrahiert" hast ist der Momentanverbrauch in Watt, also zumindest der erste Teil:
77 07 01 00 10 07 00 ff
im Vergleich:
1,77070100100700ff@1,Akt. Verbrauch,W,Power_act,1


Ansich ist es okay, hätte aber gehofft noch was mehr aus dem Zähler zu bekommen.

Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 03 Juni 2022, 22:09:55
Zitat von: Damian am 02 Juni 2022, 21:07:17
In FHEM verzichte ich bewusst auf diesen Wert, denn das Übertragungsintervall der Werte habe ich auf 60 Sekunden gestellt. Dann ist ein momentaner Bezug bzw. Einspeisung ggf. nach einigen Sekunden nicht mehr aktuell, daher errechne ich lieber in FHEM die durchschnittliche Leistung des Bezugs/Einspeisung der letzten Minute aus den Zählerständen.

Das war u.A. in dem Link zum Wiki mit drin die Berechnungen?(DOIF) Du hattest aber alles FileBased? (also die Logs?)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 03 Juni 2022, 23:18:26
So berechne ich die Leistung:

attr di_counter_new event_Readings power_pv:sprintf("%0.3f",[MQTT2_DVES_C58DCB:SENSOR_COUNTER_C1:diff]*3.6/60),\
power_f:sprintf("%0.3f",[MQTT2_DVES_C58DCB:SENSOR_MT681_Total_out:diff]*60),\
power_c:sprintf("%0.3f",[MQTT2_DVES_C58DCB:SENSOR_MT681_Total_in:diff]*60),\
power_fc:[$SELF:power_f]-[$SELF:power_c]
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: RalfRog am 07 Juni 2022, 18:51:39
Zitat von: Stephan27 am 03 Juni 2022, 12:23:56
....
Ansich ist es okay, hätte aber gehofft noch was mehr aus dem Zähler zu bekommen.
Vielleicht hilft das https://www.msxfaq.de/sonst/bastelbude/smartmeter_d0_sml_protokoll.htm (https://www.msxfaq.de/sonst/bastelbude/smartmeter_d0_sml_protokoll.htm) ein wenig die Daten zu verstehen.

Und es macht eventuell Sinn die Rohdaten (also das ganze Protokoll) mal am Lesekopf abzugreifen/auszulesen. Hatte ich vorab an einem TestRaspi mit Lesekopf an RX/TX gemacht (oder mit EspEasy ser2net, bei Tasmota weiss ich nicht ob man die ganzen Rohdaten abgreifen kann).
==> Also von Hex 1B 1B 1B 1B 01 01 01 01 .....  bis 1B 1B 1B 1B 1A XX XX XX XX
Dann kann man es mal auf die Bereiche mit 77 07 zerlegen und sehen was der Zähler alles schickt um es von Tasmota interpretieren zu lassen.

Edit:
Eine Variante ohne Hex-Jonglieren ist, das OBIS-Modul zu aktivieren und mit dem Datenstrom des Lesekopfs seriell oder per LAN (z.B. ser2net) zu verbinden. Dann kann man sehen welche Daten vom Zähler durch das Modul erkannt werden.

Aus der Commandref zum OBIS Modul
If you use a ser2net connection, <device> is ip-address:port or hostname:port.

Optional: MeterType can be of

    VSM102 -> Voltcraft VSM102
    E110 -> Landis&&;Gyr E110
    E350USB -> Landis&&;Gyr E350 USB-Version
    MT382 -> ISKRA MT382
    Standard -> Data comes as plainText
    SML -> Smart Message Language


Example:
define myPowerMeter OBIS /dev/ttyPlugwise@9600,7,E,1 VSM102
define myPowerMeter OBIS 192.168.0.12:1234 Standard
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 10 Juni 2022, 09:56:15
Zitat von: Damian am 03 Juni 2022, 23:18:26
So berechne ich die Leistung:

attr di_counter_new event_Readings power_pv:sprintf("%0.3f",[MQTT2_DVES_C58DCB:SENSOR_COUNTER_C1:diff]*3.6/60),\
power_f:sprintf("%0.3f",[MQTT2_DVES_C58DCB:SENSOR_MT681_Total_out:diff]*60),\
power_c:sprintf("%0.3f",[MQTT2_DVES_C58DCB:SENSOR_MT681_Total_in:diff]*60),\
power_fc:[$SELF:power_f]-[$SELF:power_c]


Ich hab das letzte Woche auf die Schnelle mal wie folgt für mich abgegriffen und in die DB schreiben lassen:
power_c:sprintf("%0.3f",[*MeinDevice*:SML_Power_in:diff]*60)

Einen Eintrag habe ich 1x je Minute, was ja okay ist...
90% sagt es aber 0,00
10% sagt es 6,00

Hab mal nen Screen vom Counter mit angehangen.

@RalfRog
Die Daten die ich auf der letzten Seite gepostet hatte waren die Rohdaten, wenn ich Tasmota ohne Skript in Debug-Modus schalte. Ist also Alles was per RX reinkommt.

Was die OBIS-Geschichte angeht.
Da müsste ich wahrscheinlich das Tasmota umstellen bzw. was Anderes flashen um das direkt anzusprechen?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 10 Juni 2022, 20:08:37
also:

power_c:sprintf("%0.3f",[*MeinDevice*:SML_Power_in:diff]*60)


kann schon mal nicht funktionieren, denn es geht um den Inhalt eines konkreten Readings und da sind Sterne im Namen nicht erlaubt.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 10 Juni 2022, 20:56:22
Zitat von: Damian am 10 Juni 2022, 20:08:37
also:

power_c:sprintf("%0.3f",[*MeinDevice*:SML_Power_in:diff]*60)


kann schon mal nicht funktionieren, denn es geht um den Inhalt eines konkreten Readings und da sind Sterne im Namen nicht erlaubt.

*Mein Device* stand und steht natürlich mein Gerät, also der Definierte Name drin, da ich aber zwei Zähler Auslese steht dort meine Zählernummer im Namen, die ich hier nicht öffentlich posten möchte. Sieht man aber auch im Screenshot bereits.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 10 Juni 2022, 22:37:50
Mein Zähler liefert kWh mit drei Nachkommastellen. Hier die Umrechnung:

1 kWh entspricht 1000 Watt/3600 Sekunden, da ich im 60 Sekundenintervall messe, muss ich die Differenz mal 60 nehmen um auf Kilowatt zu kommen.

Wenn die Differenz in 60 Sekunden  z. B. 0.001 (kleinste mögliche Differenz) beträgt, dann habe ich in dieser Zeit eine durchschnittliche Leistungsaufnahme von 0,001*60=0,06 Kilowatt, was 60 Watt entspricht. Ich kann also die Leistung mit einer Genauigkeit von maximal 60 Watt bestimmen. Würde ich alle 3 Minuten senden, dann würde ich die Genauigkeit auf 20 Watt erhöhen, dafür müsste ich länger warten und der durchschnittliche Verbrauch würde weniger dem momentanen Verbrauch entsprechen.

Die Umrechnung hängt in erste Linie davon ab, in welcher Einheit  der Zähler sendet. event-on-change-reading-Attribut ist natürlich für die Messung bei diesem Reading verboten ;)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 11 Juni 2022, 14:48:20
Danke für die ausführliche Antwort.
Ich habe im Tasmota nur eine Nachkommastelle ausgeben lassen. Ich habe das jetzt auch mal auf 3 Stellen umgestellt mal sehen ob das schon die Lösung ist.

Hab es mal geändert, aber keine Ahnung. Der Output alterniert jetzt immer zwischen 0 und 0,06.

Bin aber auch nicht wirklich schlauer was ich nun genau wo eintragen muss.
Tasmota ist wie in deinem Link damals beschrieben eingestellt und liefert Werte, in Fhem hat das MQTT automatisch Tasmota als Gerät angelegt und den Zähler habe ich so angelegt wie du weiter oben kurz geschrieben hast und mit dem Event_Reading versehen.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 11 Juni 2022, 15:14:59
Mit einer Nachkommastelle kann es nicht funktionieren, dafür ist die Auflösung viel zu gering, um in einer Minute etwas zu messen. 0,1*60, das wären 6 Kilowatt, soviel wirst du selten verbrauchen ;)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 11 Juni 2022, 16:14:45
Wie gesagt die Änderung auf 3 hat aber augenscheinlich nichts gebracht. Keine Ahnung was jetzt nicht stimmt oder wo ich suchen muss.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 11 Juni 2022, 17:58:47
Zitat von: Stephan27 am 11 Juni 2022, 16:14:45
Wie gesagt die Änderung auf 3 hat aber augenscheinlich nichts gebracht. Keine Ahnung was jetzt nicht stimmt oder wo ich suchen muss.

Dein Zähler muss auch die Genauigkeit auf drei Nachkommastellen liefern. Wenn er das nicht tut, dann kannst du dir den Aufwand sparen und eben die momentane Leistung anzeigen, die geliefert wird.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 11 Juni 2022, 23:14:31
Sorry habe ich nicht erwähnt, er zeigt es auch an ja. Also Tasmota zeigt mir jetzt Zählerstand in KWh bis 3 Nachkommastellen an. Haut auch hin wenn ich das so beobachte.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Sany am 12 Juni 2022, 16:02:06
ZitatAlso Tasmota zeigt mir jetzt Zählerstand in KWh bis 3 Nachkommastellen an

...und wo ist da jetzt Dein Problem? Es sitzt ja keiner vor Deinem Bildschirm, also solltest Du etwas mehr Infos liefern, dann kann man auch was erreichen.

Wenn Du sagst, Tasmota zeigt jetzt 3 Nachkommastellen, dann vermute ich, auf der Main-Seite von Tasmota, right?
Dann schau Dir doch einfach mal die Console in Tasmota an, dort werden die MQT-posts geziegt. Dort siehst Du sehr leicht, ob und wie der Wert an den MQTT-Broker weitergegeben wird. Ist das soweit richtig gehts an fhem.
Das MQTT-Device in fhem wird ja automatisch angelegt, also sollte vorhanden sein.
Dann würde ich mal die event-on-change etc vorrübergehend rausnehmen, damit Du einfach mal alles siehst, was ankommt. Dann den Event-monitor anschmeissen, die events eine Weile beobachten, diese dann nach Wunsch einschränken und für die Power-rechnung das userreadings anlegen (wurde hier ja schon beschrieben).


Viel Erfolg!


Sany
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: RalfRog am 13 Juni 2022, 23:49:37
Zitat von: Stephan27 am 10 Juni 2022, 09:56:15
@RalfRog
Die Daten die ich auf der letzten Seite gepostet hatte waren die Rohdaten, wenn ich Tasmota ohne Skript in Debug-Modus schalte. Ist also Alles was per RX reinkommt.

Was die OBIS-Geschichte angeht.
Da müsste ich wahrscheinlich das Tasmota umstellen bzw. was Anderes flashen um das direkt anzusprechen?

Ja vermutlich. Ich hatte mir die Daten im Vorfeld per ESPEasy auf das OBIS Modul geholt um zu sehen was der Zähler so liefert. Habe Tasmota erst dann geflasht.
Tasmota kann zwar auch ser2net aber nur wenn man es mit #define USE_TCP_BRIDGE kompiliert hat - oder man den zbbridge build im Einsatz hat.

Also on-the-fly in der vorhandenen Konstellation lässt sich das wohl nicht auf die Schnele gegenchecken.  :-[

Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 20 Juni 2022, 21:47:32
Zitat von: Sany am 12 Juni 2022, 16:02:06
...und wo ist da jetzt Dein Problem? Es sitzt ja keiner vor Deinem Bildschirm, also solltest Du etwas mehr Infos liefern, dann kann man auch was erreichen.

Wenn Du sagst, Tasmota zeigt jetzt 3 Nachkommastellen, dann vermute ich, auf der Main-Seite von Tasmota, right?
Dann schau Dir doch einfach mal die Console in Tasmota an, dort werden die MQT-posts geziegt. Dort siehst Du sehr leicht, ob und wie der Wert an den MQTT-Broker weitergegeben wird. Ist das soweit richtig gehts an fhem.
Das MQTT-Device in fhem wird ja automatisch angelegt, also sollte vorhanden sein.
Dann würde ich mal die event-on-change etc vorrübergehend rausnehmen, damit Du einfach mal alles siehst, was ankommt. Dann den Event-monitor anschmeissen, die events eine Weile beobachten, diese dann nach Wunsch einschränken und für die Power-rechnung das userreadings anlegen (wurde hier ja schon beschrieben).


Viel Erfolg!


Sany

Also wo liegt das Problem?
Ich hatte mich jetzt an Damian seinen Links orientiert und versucht die entsprechend kurzen Auswertungen/ Anzeigen zubauen, also Tages, Monats und Jahreszähler (neben den Diagrammen die permanent laufen) und hier funktionieren zunächst die Berechnungen nicht.

Ich versuchs nochmal zu rekapitulieren, auch wenns in den einzelnen Posts schon auftaucht:
- Tasmota zeigt erstmal Alles was ich brauche und mittlerweile auch in der erforderlichen Genauigkeit
- Tasmota übermittelt Alles was es anzeigt auch per MQTT an FHEM und hat auch die entsprechenden Readings drin
- FHEM hat automatisch das MQTT-Device angelegt, ich zusätzlich von Hand einen Zähler
- in den Zähler habe ich von Damian die Formel übernommen.

Um die Screens nochmal zusammenzufassen hier nochmal: (Basis-Daten von MQTT vom Zähler + Attribute und Daten vom Counter)


Meine Zählernummer, WLAN usw. habe ich geschwärzt.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 20 Juni 2022, 22:06:54
Es geht hier wohl um das angegebene Reading des MQTT-Devices SML_Power_in.

Warum ist es hier nicht zu sehen? Alles andere interessiert hier nicht.

Power wäre aber das falsche Reading, denn Power ist Leistung, aber diese willst du aus dem Energiezähler erst bestimmen.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 22 Juni 2022, 10:25:17
Zitat von: Damian am 20 Juni 2022, 22:06:54
Es geht hier wohl um das angegebene Reading des MQTT-Devices SML_Power_in.

Warum ist es hier nicht zu sehen? Alles andere interessiert hier nicht.

Power wäre aber das falsche Reading, denn Power ist Leistung, aber diese willst du aus dem Energiezähler erst bestimmen.

Das Reading ist nicht zu sehen, weil ich scheinbar einen Screenshot vergessen habe, SML_Power_in ist aber im Device vorhanden und liefert den Zählerstand. (Screen reiche ich gerne nach)
Der Name des Readings wird doch durch den Skript und Tasmota vorgegeben und ist von mir aus der Anleitung von Hand so benannt und taucht auch im FHEM so auf mit dem Gesamtzählerstand.

Quelle hier:
https://edv.mueggelland.de/smarter-stromzaehler/

"1,77070100010800ff@1000,Verbrauch,KWh,Power_in,1" -- so habe ich es auch benannt und das taucht im FHEM als "SML_Power_in" auf.

Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Sany am 22 Juni 2022, 11:33:06
Zitatweil ich scheinbar einen Screenshot vergessen habe]
ZitatScreen reiche ich gerne nach

bitte keine Screenshots, poste ein list vom Zählerdevice MQTT_HAUS_xyz, nur da sieht man alles relevante, um weiterzuhelfen. Du kannst gerne Deine "privaten" Daten mit X ersetzen, bei der FUUID ist das aber vergebliche Liebesmüh....

Und gerne auch mal das Script aus dem Script-Editor von Tasmota auch posten.


Gruß

Sany
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 22 Juni 2022, 20:39:31
MQTT-Device:

Internals:
   CID        DVES_1EC934
   DEF        DVES_1EC934
   DEVICETOPIC MQTT_HAUS_zaehlernummer
   FUUID      6298caf3-f33f-c6f7-1830-c1e5c99c0578ec7d
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     14836
   NAME       MQTT_HAUS_zaehlernummer
   NR         34
   STATE      ???
   TYPE       MQTT2_DEVICE
   myBroker_CONN myBroker_172.16.1.117_63404
   myBroker_MSGCNT 14836
   myBroker_TIME 2022-06-22 20:35:53
   Helper:
     DBLOG:
       SML_Power_act:
         DBLogging:
           TIME       1655922953.08933
           VALUE      356.9
       SML_Power_in:
         DBLogging:
           TIME       1655922953.08933
           VALUE      11061.704
   READINGS:
     2022-06-22 20:35:53   Heap            21
     2022-06-21 23:59:52   IODev           myBroker
     2022-06-02 22:40:27   Info1_FallbackTopic cmnd/DVES_1EC934_fb/
     2022-06-02 22:40:27   Info1_GroupTopic cmnd/tasmotas/
     2022-06-02 22:40:27   Info1_Module    Generic
     2022-06-02 22:40:27   Info1_Version   11.1.0(tasmota)
     2022-06-02 22:40:27   Info2_Hostname  tasmota-1EC934-2356
     2022-06-02 22:40:27   Info2_IPAddress 172.16.1.117
     2022-06-02 22:40:27   Info2_WebServerMode Admin
     2022-06-02 22:40:27   Info3_BootCount 10
     2022-06-02 22:40:27   Info3_RestartReason Software/System restart
     2022-06-22 00:00:00   LWT             Online
     2022-06-22 20:35:53   LoadAvg         19
     2022-06-22 20:35:53   MqttCount       27
     2022-06-22 00:00:00   POWER           
     2022-06-02 22:43:58   SML_1           217
     2022-06-02 22:43:33   SML_1_1         217
     2022-06-02 22:28:13   SML_1__1        0.000000000000000
     2022-06-11 14:46:01   SML_CMD         restart
     2022-06-02 22:39:52   SML_E_in        0.000
     2022-06-02 22:39:52   SML_E_out       0.000
     2022-06-02 22:39:52   SML_L1          0.00
     2022-06-02 22:39:52   SML_L2          0.00
     2022-06-02 22:39:52   SML_L3          0.00
     2022-06-02 22:39:52   SML_NetID       0
     2022-06-02 22:39:52   SML_P_in        0.00
     2022-06-02 22:37:53   SML_Power_Sum   10925
     2022-06-02 22:37:53   SML_Power_T1    10925
     2022-06-02 22:37:53   SML_Power_T2    0
     2022-06-02 22:37:53   SML_Power_Use_Sum 0.0
     2022-06-22 20:35:53   SML_Power_act   356.9
     2022-06-22 20:35:53   SML_Power_in    11061.704
     2022-06-22 20:35:53   SML_Power_out   0.2
     2022-06-22 20:35:53   SML_Power_p1    0.0
     2022-06-22 20:35:53   SML_Power_p2    0.0
     2022-06-22 20:35:53   SML_Power_p3    0.0
     2022-06-02 22:37:13   SML_Volt_L1     0.0
     2022-06-02 22:37:13   SML_Volt_L2     0.0
     2022-06-02 22:37:13   SML_Volt_L3     0.0
     2022-06-02 22:37:13   SML_Watt_L1     0.00
     2022-06-02 22:37:13   SML_Watt_L2     0.00
     2022-06-02 22:37:13   SML_Watt_L3     0.00
     2022-06-02 22:37:17   SML_Watt_Summe  589.24
     2022-06-02 22:43:33   SML_serial     
     2022-06-22 20:35:53   Sleep           50
     2022-06-22 20:35:53   SleepMode       Dynamic
     2022-06-22 20:35:53   Time            2022-06-22T19:35:53
     2022-06-22 20:35:53   Uptime          19T21:55:31
     2022-06-22 20:35:53   UptimeSec       1720531
     2022-06-22 20:35:53   Wifi_AP         1
     2022-06-22 20:35:53   Wifi_BSSId      D0:6F:82:39:64:C0
     2022-06-22 20:35:53   Wifi_Channel    1
     2022-06-22 20:35:53   Wifi_Downtime   0T00:00:03
     2022-06-22 20:35:53   Wifi_LinkCount  1
     2022-06-22 20:35:53   Wifi_Mode       11n
     2022-06-22 20:35:53   Wifi_RSSI       96
     2022-06-22 20:35:53   Wifi_SSId       wlan
     2022-06-22 20:35:53   Wifi_Signal     -52
     2022-06-22 00:00:00   btn_1           0
     2022-06-22 00:00:00   btn_2           0
     2022-06-22 00:00:00   btn_3           0
     2022-06-22 00:00:00   btn_4           0
     2022-06-22 00:00:00   btn_5           0
     2022-06-22 00:00:00   btn_6           0
     2022-06-22 00:00:00   btn_7           0
     2022-06-22 00:00:00   btn_8           0
     2022-06-22 00:00:00   dn              Tasmota
     2022-06-22 00:00:00   fn_1            Tasmota
     2022-06-22 00:00:00   ft              %prefix%/%topic%/
     2022-06-22 00:00:00   hn              tasmota-1EC934-2356
     2022-06-22 00:00:00   if              0
     2022-06-22 00:00:00   ip              ip_tasmota
     2022-06-22 00:00:00   lk              0
     2022-06-22 00:00:00   lt_st           0
     2022-06-22 00:00:00   mac             mac
     2022-06-22 00:00:00   md              Generic
     2022-06-22 00:00:00   ofln            Offline
     2022-06-22 00:00:00   onln            Online
     2022-06-22 00:00:00   rl_1            0
     2022-06-22 00:00:00   rl_2            0
     2022-06-22 00:00:00   rl_3            0
     2022-06-22 00:00:00   rl_4            0
     2022-06-22 00:00:00   rl_5            0
     2022-06-22 00:00:00   rl_6            0
     2022-06-22 00:00:00   rl_7            0
     2022-06-22 00:00:00   rl_8            0
     2022-06-22 00:00:00   sho_1           0
     2022-06-22 00:00:00   sho_2           0
     2022-06-22 00:00:00   sho_3           0
     2022-06-22 00:00:00   sho_4           0
     2022-06-02 22:43:22   sn_SML_1_1      217
     2022-06-02 22:39:48   sn_SML_E_in     0.000
     2022-06-02 22:39:48   sn_SML_E_out    0.000
     2022-06-02 22:39:48   sn_SML_L1       0.00
     2022-06-02 22:39:48   sn_SML_L2       0.00
     2022-06-02 22:39:48   sn_SML_L3       0.00
     2022-06-02 22:39:48   sn_SML_NetID    0
     2022-06-02 22:39:48   sn_SML_P_in     0.00
     2022-06-22 00:00:00   sn_SML_Power_act 221.3
     2022-06-22 00:00:00   sn_SML_Power_in 11057.440
     2022-06-22 00:00:00   sn_SML_Power_out 0.2
     2022-06-22 00:00:00   sn_SML_Power_p1 0.0
     2022-06-22 00:00:00   sn_SML_Power_p2 0.0
     2022-06-22 00:00:00   sn_SML_Power_p3 0.0
     2022-06-02 22:43:22   sn_SML_serial   
     2022-06-22 00:00:00   sn_Time         2022-06-21T23:00:00
     2022-06-22 00:00:00   so_11           0
     2022-06-22 00:00:00   so_114          0
     2022-06-22 00:00:00   so_117          0
     2022-06-22 00:00:00   so_13           0
     2022-06-22 00:00:00   so_17           0
     2022-06-22 00:00:00   so_20           0
     2022-06-22 00:00:00   so_30           0
     2022-06-22 00:00:00   so_4            0
     2022-06-22 00:00:00   so_68           0
     2022-06-22 00:00:00   so_73           0
     2022-06-22 00:00:00   so_82           0
     2022-06-22 00:00:00   state_1         OFF
     2022-06-22 00:00:00   state_2         ON
     2022-06-22 00:00:00   state_3         TOGGLE
     2022-06-22 00:00:00   state_4         HOLD
     2022-06-22 00:00:52   subscriptions   cmnd/DVES_1EC934_fb/# cmnd/tasmota_1EC934/# cmnd/tasmotas/#
     2022-06-22 00:00:00   sw              11.1.0
     2022-06-22 00:00:00   swc_1           -1
     2022-06-22 00:00:00   swc_2           -1
     2022-06-22 00:00:00   swc_3           -1
     2022-06-22 00:00:00   swc_4           -1
     2022-06-22 00:00:00   swc_5           -1
     2022-06-22 00:00:00   swc_6           -1
     2022-06-22 00:00:00   swc_7           -1
     2022-06-22 00:00:00   swc_8           -1
     2022-06-22 00:00:00   t               tasmota_1EC934
     2022-06-22 00:00:00   tp_1            cmnd
     2022-06-22 00:00:00   tp_2            stat
     2022-06-22 00:00:00   tp_3            tele
     2022-06-22 00:00:00   ty              0
     2022-06-22 00:00:00   ver             1
Attributes:
   DbLogExclude .*
   DbLogInclude SML_Power_act,SML_Power_in:3600
   readingList DVES_1EC934:tele/tasmota_1EC934/LWT:.* LWT
DVES_1EC934:cmnd/tasmota_1EC934/POWER:.* POWER
DVES_1EC934:tele/tasmota_1EC934/INFO1:.* { json2nameValue($EVENT) }
DVES_1EC934:tele/tasmota_1EC934/INFO2:.* { json2nameValue($EVENT) }
DVES_1EC934:tele/tasmota_1EC934/INFO3:.* { json2nameValue($EVENT) }
DVES_1EC934:tele/tasmota_1EC934/STATE:.* { json2nameValue($EVENT) }
DVES_1EC934:tele/tasmota_1EC934/SENSOR:.* { json2nameValue($EVENT) }
DVES_1EC934:tasmota/discovery/A4E57C1EC934/config:.* { json2nameValue($EVENT) }
DVES_1EC934:tasmota/discovery/A4E57C1EC934/sensors:.* { json2nameValue($EVENT) }
DVES_1EC934:stat/tasmota_1EC934/RESULT:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE



Tasmota_Device Skript:

>D
>B
=>sensor53 r
>M
+1,3,s,1,9600,SML
1,77070100010800ff@1000,Verbrauch,KWh,Power_in,3
1,77070100100700ff@1,Akt. Verbrauch,W,Power_act,1
1,=h--
1,77070100020800ff@1000,Einspeisung,KWh,Power_out,1
1,=h--
1,77070100240700ff@1,Wirkleistung L1,W,Power_p1,1
1,77070100380700ff@1,Wirkleistung L2,W,Power_p2,1
1,770701004c0700ff@1,Wirkleistung L3,W,Power_p3,1

#



CounteR:
Internals:
   DEF        ##
   FUUID      629b435b-f33f-c6f7-3a3b-9eb50884f8162fea
   MODEL      FHEM
   NAME       di_counter_new
   NOTIFYDEV  global,MQTT_HAUS_zaehlernummer
   NR         35
   NTFY_ORDER 50-di_counter_new
   STATE      initialized
   TYPE       DOIF
   VERSION    25819 2022-03-12 23:15:22
   READINGS:
     2022-06-04 13:34:52   cmd             0
     2022-06-04 13:34:52   mode            enabled
     2022-06-22 20:40:03   power_c         0.240
     2022-06-04 13:34:52   state           initialized
   Regex:
     accu:
       MQTT_HAUS_zaehlernummer:
         accu:
           SML_Power_in ^MQTT_HAUS_zaehlernummer$:^SML_Power_in:
     collect:
     event_Readings:
       MQTT_HAUS_zaehlernummer:
         power_c:
           SML_Power_in ^MQTT_HAUS_zaehlernummer$:^SML_Power_in:
   accu:
     MQTT_HAUS_zaehlernummer SML_Power_in:
       dim        2
       value:
         11061.793
         11061.797
   condition:
   do:
     0:
   event_Readings:
     power_c    sprintf("%0.3f",::ReadingValDoIf($hash,'MQTT_HAUS_zaehlernummer','SML_Power_in','','diff')*60)
   helper:
     NOTIFYDEV  global,MQTT_HAUS_zaehlernummer
     event      SML_Power_in: 11061.797,SML_Power_p2: 0.0,SML_Power_p3: 0.0,SML_Power_act: 1653.5,Time: 2022-06-22T19:40:03,SML_Power_out: 0.2,SML_Power_p1: 0.0
     globalinit 1
     last_timer 0
     sleeptimer -1
     triggerDev MQTT_HAUS_zaehlernummer
     triggerEvents:
       SML_Power_in: 11061.797
       SML_Power_p2: 0.0
       SML_Power_p3: 0.0
       SML_Power_act: 1653.5
       Time: 2022-06-22T19:40:03
       SML_Power_out: 0.2
       SML_Power_p1: 0.0
     triggerEventsState:
       SML_Power_in: 11061.797
       SML_Power_p2: 0.0
       SML_Power_p3: 0.0
       SML_Power_act: 1653.5
       Time: 2022-06-22T19:40:03
       SML_Power_out: 0.2
       SML_Power_p1: 0.0
   perlblock:
   uiState:
   uiTable:
Attributes:
   DbLogExclude .*
   event_Readings power_c:sprintf("%0.3f",[MQTT_HAUS_zaehlernummer:SML_Power_in:diff]*60)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 22 Juni 2022, 21:17:05
Die letzten beiden empfangen Werte sind:

Zitatvalue:
         11061.793
         11061.797

Differenz ist also 0.004

Daraus wird berechnet 0.004*60=0.240

Also ein Verbrauch von 240 Watt, was auch in power_c-Reading zu finden ist.

Es funktioniert also alles wie es soll.

Wichtig ist halt nur, dass die Werte von SML_Power_in  immer alle 60 Sekunden kommen.

Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 23 Juni 2022, 08:05:11
Dann weiß ich nicht, was ich dort zuletzt gesehen habe. (ist ja auch das einzige Reading, also kann ich mich auch nicht verguckt haben) :o
Ich nehme Power_C mal wieder in die Aufzeichung zur Datenbank auf beobachte wie sich der Wert entwickelt.

Der Power_C ist ja jetzt der Schnitt auf eine Minute und den summiert man dann für den Tag oder die Woche auf, richtig?
Oder bilde ich auf selbem Weg mit anderem Faktor einfach z.B. den Tag?

"Wichtig ist halt nur, dass die Werte von SML_Power_in  immer alle 60 Sekunden kommen."

Da ist mir eins jetzt noch nicht ganz klar.
"Muss" der Wert alle 60 Sekunden kommen oder "Darf" er nur alle 60 Sekunden kommen?
Aktuell übermittelt Tasmota jede Sekunde, da ja auch der echt Momentanverbrauch übertragen wird. (was der Zähler meldet) - vlt. liegt auch hier der Fehler?
Wie kann ich das einzelne Reading im Bezug darauf einschränken, dass es garnicht so häufig aktualisiert wird? (aktuell habe ich nur eingestellt, dass es nicht jedesmal in die DB geschrieben wird)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 23 Juni 2022, 09:04:25
Also dein Zähler sendet wohl im Sekundentakt, dass kannst du auch nicht beeinflussen. Die Übertragung an FHEM per MQTT habe ich auf 60 Sekunden eingestellt (Telemetry period unter Logging parameters). Das ist auch die Voraussetzung für die Bestimmung der durchschnittlichen Leistung der letzten Minute über Event_Readings. Da hier nicht die Zeitpunkte der Readings ausgewertet werden, funktioniert die Sache nur, wenn genau alle 60 Sekunden das Reading per MQTT aktualisiert wird - nicht öfters und auch nicht seltener.

Ich habe bei mir die durchschnittliche Leistung deswegen so gelöst, um synchron mit dem PV-Zähler zu sein, damit meine grafische Darstellung von der PV-Anlage und vom Einspeisezähler zueinander passt (beide Zähler hängen ja am Tasmota).

Wenn man das nicht braucht/will, dann kann man auch die aktuelle Leistung, die vom Zähler gesendet wird, nehmen.

Ich wollte aber auf jeden Fall FHEM nicht sekündlich mit Zählerdaten belasten, daher habe ich die 60 Sekunden für das Senden per MQTT gewählt.

Für die Berechnung der Tages-, Monats- oder Jahres-Energie, wird nicht die errechnete Durchschnittsleistung (kW) genommen, sondern die absoluten Zählerstände der Energie (kWh), damit man den genauen Verbrauch bestimmen kann.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Stephan27 am 23 Juni 2022, 13:56:51
Danke für die ausführliche Erklärung.
Dann bin ich die ganze Zeit von den falschen Umständen ausgegangen.
Ich denke ich habe jetzt erstmal was ich brauche und werde mich wenn etwas mehr Zeit ist nochmal genau damit befassen, was ich wie erfassen und wieder anzeigen möchte.
So richtig interessant wird es eh erst mit der PV.

Danke nochmal für die Mühe und Geduld.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 25 Juni 2022, 12:58:55
An dieser Stelle noch ein Nachtrag.

Die Berechnung der durchschnittlichen Leistung (der letzten X-Sekunden) lässt sich noch eleganter im MQTT-Devices vornehmen. Hierbei spielt es keine Rolle wie lange die Zeitspanne zwischen dem MQTT-Senden ist, solange sie größer als eine Sekunde ist.

attr MQTT2_DVES_C58DCB userReadings power_pv:SENSOR_COUNTER_C1.* differential {ReadingsVal($name,"SENSOR_COUNTER_C1",0)*3.6},\
power_c:SENSOR_MT681_Total_in.* differential {ReadingsVal($name,"SENSOR_MT681_Total_in",0)*3600},\
power_f:SENSOR_MT681_Total_out.* differential {ReadingsVal($name,"SENSOR_MT681_Total_out",0)*3600},\
power_fc:SENSOR_MT681_Total_.* differential {(ReadingsVal($name,"SENSOR_MT681_Total_out",0)-ReadingsVal($name,"SENSOR_MT681_Total_in",0))*3600}


In den Reading power_pv ist dann die durchschnittliche PV-Leistung, in power_c ist die Bezugsleistung, in power_f die Einspeiseleistung, in power_fc die Einspeiseleistung (positiv) oder die Bezugsleistung (negativ).

Der PV-Zähler (SENSOR_COUNTER_C1) ist ein einfacher S0-Zähler und der Stromzähler (SENSOR_MT681) ein Zweirichtungszähler mit D0-Schnittstelle.

Da beide Zähler am gleichen Tasmota hängen, werden die Leistungsangaben des PV-Zählers und des Stromzählers über den gleichen Zeitraum bestimmt und passen daher zueinander.

PV-Leistung und Netz-Leistung (Einspeisung/Bezug) lässt sich dann gut über die Readings power_pv und power_fc visualisieren

Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Sammy51 am 25 November 2022, 22:48:48
Hallo zusammen,

hatte mein Tasmota Hichi-IR-Wifi Lesekopf zunächst so konfiguriert, dass er meinen alten Pafal oder alternativ den neueren Landys+Gyr Zähler korrekt ausliest. Das wurde dann auf der Tasmota Startseite im Webdialog angezeigt.

Sobal ich dann die Kommunikation zwischen Tasmota und FHEM eingestellt habe und das Tasmota Teil neustartet wird scheinbar das Skript innerhalb Tasmota ignoriert und nichts mehr ausgelesen bzw. in der Weboberfläche anzeigt.

Hat jemand eine Idee wie das repaeriert werden kann (ggf. auch zur Diskusssion in folgenden noch kürzeren Thread)?
Sobald das klappt benötige ich dann vermutlich ienen Tipp wie ich die Wert die Tasmota ausließt auch in FHEM übetrage/nutze und dort in eine kW Zeitreihe umwandle.

Vielen Dank im Voraus!
Beste Grüße
Sammy

https://forum.fhem.de/index.php/topic,128685.msg1246484.html#msg1246484


Nachtrag: Obiges Problem ist gelöst .. am Ende des Skript fehlte "#" dadurch wurde das nach Neustart des Devices offenbar nicht mehr interpretiert das ganze skript.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Sammy51 am 26 November 2022, 15:24:48
Zitat von: Damian am 25 Juni 2022, 12:58:55
An dieser Stelle noch ein Nachtrag.

Die Berechnung der durchschnittlichen Leistung (der letzten X-Sekunden) lässt sich noch eleganter im MQTT-Devices vornehmen. Hierbei spielt es keine Rolle wie lange die Zeitspanne zwischen dem MQTT-Senden ist, solange sie größer als eine Sekunde ist.

attr MQTT2_DVES_C58DCB userReadings power_pv:SENSOR_COUNTER_C1.* differential {ReadingsVal($name,"SENSOR_COUNTER_C1",0)*3.6},\
power_c:SENSOR_MT681_Total_in.* differential {ReadingsVal($name,"SENSOR_MT681_Total_in",0)*3600},\
power_f:SENSOR_MT681_Total_out.* differential {ReadingsVal($name,"SENSOR_MT681_Total_out",0)*3600},\
power_fc:SENSOR_MT681_Total_.* differential {(ReadingsVal($name,"SENSOR_MT681_Total_out",0)-ReadingsVal($name,"SENSOR_MT681_Total_in",0))*3600}


In den Reading power_pv ist dann die durchschnittliche PV-Leistung, in power_c ist die Bezugsleistung, in power_f die Einspeiseleistung, in power_fc die Einspeiseleistung (positiv) oder die Bezugsleistung (negativ).

Der PV-Zähler (SENSOR_COUNTER_C1) ist ein einfacher S0-Zähler und der Stromzähler (SENSOR_MT681) ein Zweirichtungszähler mit D0-Schnittstelle.

Da beide Zähler am gleichen Tasmota hängen, werden die Leistungsangaben des PV-Zählers und des Stromzählers über den gleichen Zeitraum bestimmt und passen daher zueinander.

PV-Leistung und Netz-Leistung (Einspeisung/Bezug) lässt sich dann gut über die Readings power_pv und power_fc visualisieren

Hi Damian,

das klingt toll und scheint eine gute Lösung!
* In meinem Fall geht es für zwei Messgeräte (1x Hausstrom zwei Richtungszähler wegen PV-Anlage, 1x Wärmepumpe zwei Tarifzähler) mit mittelfristig jeweils einem Hichi-IR-Wifi Lesekopf nur über zwei verschiedene MQTT Devices in FHEM oder?
* Eins davon ist nun aktiv (zunächst für die Wärmepumpe, weil ich dort Zeitreihen generieren will um besser die Wirtschaftlichkeit des 2. Zählers bewerten zu können (besserer Stromtarif vs. Eigenerzeugung und Eigennutzung von x%).

Jetzt bin ich nicht sicher wie ich Deinn Beispiel korrekt auf mich transportiere. Bzw. der erste Versuch funktioniert nicht.
Standard-Readings von meinem Tasmota Device (Bezeichnung des Device in FHEM ist  Strommessung_WP) sehen zunächst wie folgt aus:

2022-11-26_14:48:53 Strommessung_WP Pafal-WP___Total_day: 22622.85
2022-11-26_14:48:53 Strommessung_WP Pafal-WP___Total_night: 6999.03
2022-11-26_14:48:53 Strommessung_WP Time: 2022-11-26T14:48:53
2022-11-26_14:48:53 Strommessung_WP Pafal-WP___Total: 29621.88


Jetzt glaube ich verstanden zu haben, dass eine Anpassung Deines Codes in die RAW Definition des MQTT Devices muss (nicht etwa in das Skript auf dem Tasmota Device). Von dem Zähler ist primär das Reading "Pafal-WP___Total" relevant für die Gesamtleistungszeitreihe. Daneben könnte man vielleicht auch die HT und NT Leistung berechnen um später auch die verschiedenen HT/NT PReise in die Berechnung einzubeziehen.

Wie muss dann das UserReading Attribut aussehen?

Folgendes wirft zwar keinen Fehler führt aber auch nicht zur Ausgabe eines zusätzlichen Readings in das Device-Log:

attr Strommessung_WP userReadings power_WP_in:Pafal-WP___Total.* differential {ReadingsVal($name,"Pafal-WP___Total",0)*3600},\
power_WP_in_HT:Pafal-WP___Total_day.* differential {ReadingsVal($name,"Pafal-WP___Total_day",0)*3600},\
power_WP_in_NT:Pafal-WP___Total_night.* differential {ReadingsVal($name,"Pafal-WP___Total_night",0)*3600}


Im Voraus vielen Dank!
Beste Grüße
Sammy

EDIT: Inzwischen taucht dann doch zumindest eine weitere Zeile im Logfile auf. Ein aktueller Wert von 0 ist zunächst nicht unplausibel. Aktualisierung kann zunächst vermutlich nur im 5min Raster erfolgen (Logging Konfig auf dem Tasmota Device 300sec).

2022-11-26_16:15:42 Strommessung_WP power_WP_in: 0
2022-11-26_16:15:42 Strommessung_WP power_WP_in_HT: 0
2022-11-26_16:15:42 Strommessung_WP power_WP_in_NT: 0



BTW: Wie hast du die Schicke grafische Anzeige generiert?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 26 November 2022, 20:52:13
ZitatBTW: Wie hast du die Schicke grafische Anzeige generiert?

siehe: https://wiki.fhem.de/wiki/DOIF/Automatisierung#Tages-.2C_Monats-_und_Jahresstatistik_f.C3.BCr_Strom-.2C_Gas-.2C_Wasserz.C3.A4hler_und_andere_Z.C3.A4hler

bzw.: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Anzeige_eines_Werteverlaufs_und_des_aktuellen_Wertes_mit_Hilfe_der_SVG-Funktion_card

dort letztes Beispiel
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: dennis_n am 27 Januar 2023, 10:26:41
Hallo,

ich habe meinen Stromzähler jetzt auch per MQTT in fhem angebunden. Die Standardwerte werden auch ordentlich übertragen.
Allerdings habe ich das Script vom user @hapege gesehen, womit er auch den Tagesverbrauch im state angezeigt bekommt.
Das Script sieht so aus und habe ich an meinen Zähler angepasst:
>D
pin=0   
pi_t=0
pi_l=0
pi_h=0
pi_lh=0
hr=0
hrr=0
; permanent midnight values
p:pi_m=0
p:pi_d=0
p:pi_y=0
>B
->sensor53 r
>T
; get total consumption and total feed
pin=MT681#EnergyTotal
;=>publish tele/%topic%/DAY {"dayconsumption":%pi_d%}
>S
; at midnight, save meter total values
hr=hours
if chg[hr]>0
and hr==0
then
pi_y=pin-pi_m
pi_m=pin
=>publish tele/%topic%/DAY {"dayconsumption":%pi_y%,"tillmidnight":%pi_d%}
svars
endif
hrr=hr
if chg[hrr]>0
then
pi_h=pin-pi_lh
pi_lh=pin
=>publish tele/%topic%/HOUR {"lasthour":%pi_h%,"sumtillmtime":%pi_d%,"mtime":%hrr%}
; =>publish tele/%topic%/DAY {"dayconsumption":%pi_y%,"tillmidnight":%pi_d%}
svars
endif
; on teleperiod calculate current daily values from midnight
if upsecs%tper==0
then
pi_d=pin-pi_m
pi_t=(pin-pi_l)*1000
pi_l=pin
endif
; show these values on WEB UI
>W
Tagesverbrauch: {m} %pi_d% kWh
Messinterval (%tper s): {m} %pi_t% Wh   
; transmit these values with MQTT
>J
,"sincemidnight":%pi_d%,"lastperiod":%pi_t%
; meter definition
>M 1
+1,3,s,0,9600,MT681
1,77070100010800ff@1000,Energy Total,KWh,EnergyTotal,4
1,77070100020800ff@1000,Energy Out,kWh,EnergyOut,4
1,77070100100700ff@1,Power Now,W,PowerNow,0
1,77070100000009ff@#,Service ID,,MeterID,0
#


Aber ich bekomme die Readings nicht entsprechend in fhem angezeigt.
Hier mal noch ein list vom Device:
Internals:
   CFGFN     
   CID        DVES_74ED88
   DEF        DVES_74ED88
   FUUID      63d30bf6-f33f-8212-9f84-178e2884e2f3ba8c
   IODev      mqttBroker
   LASTInputDev mqttBroker
   MSGCNT     247
   NAME       MQTT2_DVES_74ED88
   NR         1872
   STATE      ???
   TYPE       MQTT2_DEVICE
   eventCount 259
   mqttBroker_CONN mqttBroker_192.168.2.175_60481
   mqttBroker_MSGCNT 247
   mqttBroker_TIME 2023-01-27 10:25:47
   JSONMAP:
     Channel_0  0
     Channel_1  0
     Channel_2  0
     Channel_3  0
     Channel_4  0
     Channel_5  0
     Color      0
     Dimmer     0
     HSBColor   0
     POWER1     0
     POWER2     0
     POWER3     0
     POWER4     0
   OLDREADINGS:
   READINGS:
     2023-01-27 10:25:47   Heap            19
     2023-01-27 00:25:42   IODev           mqttBroker
     2023-01-27 05:14:45   LWT             Online
     2023-01-27 10:25:47   LoadAvg         19
     2023-01-27 10:25:47   MT681_Meter_id  090149534b00050c0c4a
     2023-01-27 10:25:47   MT681_Power_curr 387
     2023-01-27 10:25:47   MT681_Total_in  1531.592
     2023-01-27 10:25:47   MT681_Total_out 4956.063
     2023-01-27 10:25:47   MqttCount       2
     2023-01-27 00:30:05   SaveData        on
     2023-01-27 00:30:05   SetOption26     on
     2023-01-27 10:25:47   Sleep           50
     2023-01-27 10:25:47   SleepMode       Dynamic
     2023-01-27 00:30:04   StateText1      off
     2023-01-27 00:30:04   StateText2      on
     2023-01-27 00:30:04   StateText3      toggle
     2023-01-27 00:30:04   StateText4      hold
     2023-01-27 10:25:47   Time            2023-01-27T10:25:46
     2023-01-27 10:25:47   Uptime          0T10:00:10
     2023-01-27 10:25:47   UptimeSec       36010
     2023-01-27 10:25:47   Wifi_AP         1
     2023-01-27 10:25:47   Wifi_BSSId      44:4E:6D:AE:C0:DC
     2023-01-27 10:25:47   Wifi_Channel    6
     2023-01-27 10:25:47   Wifi_Downtime   0T00:00:07
     2023-01-27 10:25:47   Wifi_LinkCount  2
     2023-01-27 10:25:47   Wifi_Mode       11n
     2023-01-27 10:25:47   Wifi_RSSI       56
     2023-01-27 10:25:47   Wifi_SSId       Homer
     2023-01-27 10:25:47   Wifi_Signal     -72
     2023-01-27 00:30:04   attrTemplateVersion 20210523
Attributes:
   alias      Stromzaehler
   autocreate 0
   comment    NOTE: For on-for-timer SetExtensions are used. You may add on-for-timer option running on the device. The following is limited to 1h max duration, but will not affect future simple "on" commands:<br>on-for-timer {my $duration = $EVTPART1*10; 'cmnd/cmnd/tasmota_74ED88/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}<br>See the "Praxisbeispiele" in the wiki for "pulseTime1" alternative option and it's restrictions.
   genericDeviceType switch
   icon       hue_filled_outlet
   jsonMap    POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 Channel_5:0 HSBColor:0 Color:0
   model      tasmota_basic_state_power1
   readingList tele/tasmota_74ED88/LWT:.* LWT
  tele/tasmota_74ED88/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
  tele/tasmota_74ED88/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
  tele/tasmota_74ED88/INFO.:.* { $EVENT =~ m,^..Info[1-3]..(.+).$, ?  json2nameValue($1,'',$JSONMAP) : json2nameValue($EVENT,'',$JSONMAP) }
  tele/tasmota_74ED88/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
  stat/tasmota_74ED88/POWER1:.* state
  stat/tasmota_74ED88/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
   room       Homestatus
   setList    off:noArg    cmnd/tasmota_74ED88/POWER1 0
  on:noArg     cmnd/tasmota_74ED88/POWER1 1
  toggle:noArg cmnd/tasmota_74ED88/POWER1 2
  setOtaUrl:textField cmnd/tasmota_74ED88/OtaUrl $EVTPART1
  upgrade:noArg   cmnd/tasmota_74ED88/upgrade 1
   setStateList on off toggle


Was muss ich denn machen, damit mir der Tagesverbrauch angezeigt wird?

Gruss
Dennis
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: dennis_n am 27 Januar 2023, 19:51:08
ok, vergesst meinen lezten Beitrag.

Um die Steuer für die PV Anlage zu machen, brauche ich immer am letzten des Monats um 0 Uhr den aktuellen Zählerstand für den Gesamtbezug und den für die Gesamteinspeisung und die erzeugten kWh aus dem Wechselrichter.

Wie mache ich das, dass mir fhem diese 3 Daten irgendwo protokolliert?

Danke euch
Dennis
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: hapege am 28 Januar 2023, 14:22:58
Hallo,

Hier "mein" Script (habe ich auch im Wesentlichen aus anderen Quellen zusammenkopiert und angepassst) mit allen Werten, die ich meinem Zähler so entlocken konnte, z. B. auch die Einspeisung. Tages-/Jahresverbrauch liefert der Zähler entweder nicht über die optische Schnittstelle, oder ich finde sie nicht. Ich habe das im Script so gelöst, dass immer um Mitternacht der Tagesverbrauch berechnet wird (Differenz zum letzten Mitternachtswert), und dieser per MQTT als "dayconsumption" gepostet wird.
Über "hours" bekomme ich "Mitternacht" getriggert - Wenn Du dasselbe mit "month" machst, solltest Du es hinbekommenjeden Monatswechsel die Differenz berechnen können.


>D 
pin=0   
pi_t=0
pi_l=0
pi_h=0
pi_lh=0
hr=0
hrr=0
; permanent midnight values 
p:pi_m=0
p:pi_d=0
p:pi_y=0
>B 
->sensor53 r 
>T 
; get total consumption and total feed 
pin=SML#EnergyTotal 
;=>publish tele/%topic%/DAY {"dayconsumption":%pi_d%}
>S 
; at midnight, save meter total values 
hr=hours 
if chg[hr]>0 
and hr==0 
then
pi_y=pin-pi_m
pi_m=pin
=>publish tele/%topic%/DAY {"dayconsumption":%pi_y%,"tillmidnight":%pi_d%}
svars 
endif
hrr=hr
if chg[hrr]>0 
then
pi_h=pin-pi_lh
pi_lh=pin
=>publish tele/%topic%/HOUR {"lasthour":%pi_h%,"sumtillmtime":%pi_d%,"mtime":%hrr%}
; =>publish tele/%topic%/DAY {"dayconsumption":%pi_y%,"tillmidnight":%pi_d%}
svars 
endif
; on teleperiod calculate current daily values from midnight 
if upsecs%tper==0 
then 
pi_d=pin-pi_m 
pi_t=(pin-pi_l)*1000
pi_l=pin
endif 
; show these values on WEB UI 
>W 
Tagesverbrauch: {m} %pi_d% kWh
Messinterval (%tper s): {m} %pi_t% Wh   
; transmit these values with MQTT 
>J
,"sincemidnight":%pi_d%,"lastperiod":%pi_t%
; meter definition
>M 1 
+1,14,s,0,9600,SML
1,77070100010800ff@1000,Energy Total,KWh,EnergyTotal,4
1,77070100020800ff@1000,Energy Out,kWh,EnergyOut,4 
1,77070100100700ff@1,Power Now,W,PowerNow,0
1,7707010060320101@#,Service ID,,MeterID,0
1,77070100200700ff@1,Voltage L1,V,Volt_L1_curr,1
1,77070100340700ff@1,Voltage L2,V,Volt_L2_curr,1
1,77070100480700ff@1,Voltage L3,V,Volt_L3_curr,1
1,770701001f0700ff@1,Amperage L1,A,Amperage_L1_curr,2
1,77070100330700ff@1,Amperage L2,A,Amperage_L2_curr,2
1,77070100470700ff@1,Amperage L3,A,Amperage_L3_curr,2
1,770701000e0700ff@1,Frequency,Hz,HZ,2
1,77070100510701ff@1,Phase angle U-L2/U-L1,deg,phase_angle_L2_L1,1
1,77070100510702ff@1,Phase angle U-L3/U-L1,deg,phase_angle_L3_L1,1
1,77070100510704ff@1,Phase angle I-L1/U-L1,deg,phase_angle_P1,1
1,7707010051070fff@1,Phase angle I-L2/U-L2,deg,phase_angle_P2,1 
1,7707010051071aff@1,Phase angle I-L3/U-L3,deg,phase_angle_P3,1
#


Wenn man den Wert in ein FileLog schreibt, ergibt sich so ein schönes Wochen/Monats/Jahres-SVG.
"lastperiod" liefert den Verbrauch der letzten Teleperiod - typischerweise also der letzten 300s. Wenn man das über ein userReading mit 12 multipliziert erhält man eine Vorstellung, wieviel W im Mittel quasi-aktuell verbraucht werden (der jeweils alle 300s gelieferte Wert ist ja nur die zu genau diesem Zeitpunkt gemessene Lieferung - wenn gerade die Kaffeemaschine läuft ist das eher zufällig hoch, über 5 min gemittelt realistischer).
"sincemidnight" liefert die zum aktuellen Zeitpunkt am aktuellen Tag bisher verbrauchte Energie (auch wieder als Differenz seit Mitternacht).

Dann gäbe es noch den "ElectricityCalculator" (https://forum.fhem.de/index.php?topic=57106.0 ) - habe ich nicht ausprobiert, aber vielleicht kommst Du damit zum Ziel.
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: carlos am 29 Januar 2023, 11:21:23
Ok, dann hier mal mein script:

>D
v1=0
v2=0
v3=0
min=0
hr=0
md=0
yr=0
rssi=0
ed=0
;Bezug
nb=0
p:sm=0
sd=0
p:sma=0
smn=0
p:sya=0
syn=0
sspr=0.2583
yspr=0
ysgp=156.00
;Einspeisung
ne=0
p:em=0
ed=0
p:ema=0
emn=0
p:eya=0
eyn=0
eepr=0.0700
yepr=0
yegp=0.00
>T
v1=SML#Total_in
v2=SML#Total_out
v3=SML#Power_cur
rssi=Wifi#RSSI
>B
=>sensor53 r
tper=10
>S
min=int(time/5)
;TV
hr=hours
if chg[hr]>0
and hr==0
then
sm=v1
em=v2
nb=v3
ne=v3
svars
endif
if upsecs%tper==0
then
sd=v1-sm
ed=v2-em
nb=v3
ne=v3*-1
endif
;MV
md=day
if chg[md]>0
and md==1
then
sma=v1
ema=v2
svars
endif
if upsecs%tper==0
then
smn=v1-sma
emn=v2-ema
endif
;JV
yr=year
if chg[yr]>0
then
sya=v1
eya=v2
svars
endif
if upsecs%tper==0
then
syn=v1-sya
eyn=v2-eya
;Kosten
yspr=syn*sspr+ysgp
yepr=eyn*eepr
endif
if v3>0
then
nb=v3
ne=0
else
nb=0
ne=v3*-1
endif
>J
,"bezug_aktuell":"%nb%"
,"bezug_tag":"%sd%"
,"bezug_monat":"%smn%"
,"bezug_jahr":"%syn%"
,"bezug_total":"%v1%"
,"einspeisung_aktuell":"%ne%"
,"einspeisung_tag":"%ed%"
,"einspeisung_monat":"%emn%"
,"einspeisung_jahr":"%eyn%"
,"einspeisung_total":"%v2%"
>W
WLAN Empfang: {m}%rssi%
<hr/>
Strom {m}Bezug{m}Einspeisung
Tag: {m}<b><span style="color:red">%3sd% KWh</span></b> {m}<b><span style="color:green">%3ed% KWh</span></b>
Monat: {m}<b><span style="color:red">%3smn% KWh</span></b> {m}<b><span style="color:green">%3emn% KWh</span></b>
Jahr:{m}<b><span style="color:red">%3syn% KWh</span></b> {m}<b><span style="color:green">%3eyn% KWh</span></b>
€ Strom: {m}<b><span style="color:red">%2yspr% €</span></b> {m}<b><span style="color:green">%2yepr% €</span></b>
<hr/>
Strom Zähler{m}Bezug{m}Einspeisung
aktuell: {m} %3v1% KWh {m} %3v2% KWh
0:00 Uhr: {m} %3sm% KWh {m} %3em% KWh
Monatsanfang: {m} %3sma% KWh {m} %3ema% KWh
Jahresanfang: {m} %3sya% KWh {m} %3eya% KWh
<hr/>
>M 1
+1,14,s,0,9600,SML
1,77070100010800ff@1000,Bezug: ,KWh,Total_in,4
1,77070100020800ff@1000,Einspeisung: ,KWh,Total_out,4
1,77070100100700ff@1,Akt. Verbrauch: ,W,Power_cur,0
1,=h<hr/>
1,77070100000009ff@#,Zähler Nr,,Meter_id,0
1,=h<hr/>
#


Setzen der Einspeise bzw. Verbrauchs - Werte der Vortage/Vorjahre/Vormonate:

script >sma=1261.447;sya=711;eya=3815;ema=1261.447;svars

So sieht das Webui aus:
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Sany am 29 Januar 2023, 12:09:10
Zitat von: dennis_n am 27 Januar 2023, 19:51:08
ok, vergesst meinen lezten Beitrag.

Um die Steuer für die PV Anlage zu machen, brauche ich immer am letzten des Monats um 0 Uhr den aktuellen Zählerstand für den Gesamtbezug und den für die Gesamteinspeisung und die erzeugten kWh aus dem Wechselrichter.

Wie mache ich das, dass mir fhem diese 3 Daten irgendwo protokolliert?

Danke euch
Dennis

schau Dir das mal an:
https://wiki.fhem.de/wiki/DOIF/Automatisierung#Tages-.2C_Monats-_und_Jahresstatistik_f.C3.BCr_Strom-.2C_Gas-.2C_Wasserz.C3.A4hler_und_andere_Z.C3.A4hler (https://wiki.fhem.de/wiki/DOIF/Automatisierung#Tages-.2C_Monats-_und_Jahresstatistik_f.C3.BCr_Strom-.2C_Gas-.2C_Wasserz.C3.A4hler_und_andere_Z.C3.A4hler)

Zum Schnelleinstieg genügt es in der Def die Zähler einzutragen, für die "Cards" solltest Du dich in uiTable etwas einarbeiten, da hier noch Handarbeit angesagt ist.
Ich nutze hauptsächlich die Tabelle, habe ich letzten Oktober eingerichtet und das funktioniert prima, da Du immer aktuellen und letzten Tag/Monat/Jahr angezeigt bekommst. OT: schön für die Steuer, noch schöner, wenn wie bei mir das Finanzamt schreibt, ich möchte bitte keine Voranmeldungen mehr schicken, sondern nur die Jahresabrechnung. Scheint so, als wollten sie mal 1 gesamtes Jahr "sehen".


Gruß


Sany
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 29 Januar 2023, 13:37:57
Zitat von: carlos am 29 Januar 2023, 11:21:23
Ok, dann hier mal mein script:

Eine schöne FHEM-unabhängige Lösung. Was passiert, wenn man beim esp den Stecker zieht?
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Damian am 29 Januar 2023, 13:40:33
Zitat von: Sany am 29 Januar 2023, 12:09:10
schau Dir das mal an:
https://wiki.fhem.de/wiki/DOIF/Automatisierung#Tages-.2C_Monats-_und_Jahresstatistik_f.C3.BCr_Strom-.2C_Gas-.2C_Wasserz.C3.A4hler_und_andere_Z.C3.A4hler (https://wiki.fhem.de/wiki/DOIF/Automatisierung#Tages-.2C_Monats-_und_Jahresstatistik_f.C3.BCr_Strom-.2C_Gas-.2C_Wasserz.C3.A4hler_und_andere_Z.C3.A4hler)

Zum Schnelleinstieg genügt es in der Def die Zähler einzutragen, für die "Cards" solltest Du dich in uiTable etwas einarbeiten, da hier noch Handarbeit angesagt ist.
Ich nutze hauptsächlich die Tabelle, habe ich letzten Oktober eingerichtet und das funktioniert prima, da Du immer aktuellen und letzten Tag/Monat/Jahr angezeigt bekommst. OT: schön für die Steuer, noch schöner, wenn wie bei mir das Finanzamt schreibt, ich möchte bitte keine Voranmeldungen mehr schicken, sondern nur die Jahresabrechnung. Scheint so, als wollten sie mal 1 gesamtes Jahr "sehen".

Es wird demnächst eine etwas schönere Darstellung geben, siehe https://forum.fhem.de/index.php/topic,126199.msg1260769.html#msg1260769

inkl. automatischer Übernahme der bisherigen Werte auf dem Log :)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: Sany am 29 Januar 2023, 13:59:29
ZitatEine schöne FHEM-unabhängige Lösung. Was passiert, wenn man beim esp den Stecker zieht?

er speichert die relevanten Daten so wie es aussieht permanent. Dann überleben sie die Stromunterbrechung. Ist auch ziemlich limitiert, scheint für die 6 Werte aber zu reichen.
Zitataus Tasmota scripting:
p:vname
specifies permanent variables. The number of permanent variables is limited by Tasmota rules space (50 bytes) - numeric variables are 4 bytes; string variables are one byte longer than the length of string

ZitatEs wird demnächst eine etwas schönere Darstellung geben
sehr schön, wird immer besser 8)
Titel: Antw:Stromzähler ablesen in Fhem
Beitrag von: carlos am 29 Januar 2023, 21:07:57
Zitat von: Damian am 29 Januar 2023, 13:37:57
Eine schöne FHEM-unabhängige Lösung. Was passiert, wenn man beim esp den Stecker zieht?

Die Werte werden selbstverständlich an FHEM über mqtt geschickt.
Ich habe nur das Tasmota UI so etwas schöner gemacht.

http://192.168.178.50/cm?cmnd=status%2010

{
"StatusSNS": {
"Time": "2023-01-29T21:03:15",
"SML": {
"Total_in": 2918.6715,
"Total_out": 10274.9772,
"Power_cur": -15,
"Meter_id": "xxxxxxxxxxxxxxxxxx"
},
"bezug_aktuell": "0.00",
"bezug_tag": "4.08",
"bezug_monat": "406.35",
"bezug_jahr": "406.35",
"bezug_total": "2918.67",
"einspeisung_aktuell": "15.00",
"einspeisung_tag": "0.71",
"einspeisung_monat": "6.74",
"einspeisung_jahr": "6.74",
"einspeisung_total": "10274.98"
}
}

Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: gabischatz am 06 April 2023, 18:33:42
Zitat von: carlos am 29 Januar 2023, 11:21:23Ok, dann hier mal mein script:

>D
v1=0
v2=0
v3=0
min=0
hr=0
md=0
yr=0
rssi=0
ed=0
;Bezug
nb=0
p:sm=0
sd=0
p:sma=0
smn=0
p:sya=0
syn=0
sspr=0.2583
yspr=0
ysgp=156.00
;Einspeisung
ne=0
p:em=0
ed=0
p:ema=0
emn=0
p:eya=0
eyn=0
eepr=0.0700
yepr=0
yegp=0.00
>T
v1=SML#Total_in
v2=SML#Total_out
v3=SML#Power_cur
rssi=Wifi#RSSI
>B
=>sensor53 r
tper=10
>S
min=int(time/5)
;TV
hr=hours
if chg[hr]>0
and hr==0
then
sm=v1
em=v2
nb=v3
ne=v3
svars
endif
if upsecs%tper==0
then
sd=v1-sm
ed=v2-em
nb=v3
ne=v3*-1
endif
;MV
md=day
if chg[md]>0
and md==1
then
sma=v1
ema=v2
svars
endif
if upsecs%tper==0
then
smn=v1-sma
emn=v2-ema
endif
;JV
yr=year
if chg[yr]>0
then
sya=v1
eya=v2
svars
endif
if upsecs%tper==0
then
syn=v1-sya
eyn=v2-eya
;Kosten
yspr=syn*sspr+ysgp
yepr=eyn*eepr
endif
if v3>0
then
nb=v3
ne=0
else
nb=0
ne=v3*-1
endif
>J
,"bezug_aktuell":"%nb%"
,"bezug_tag":"%sd%"
,"bezug_monat":"%smn%"
,"bezug_jahr":"%syn%"
,"bezug_total":"%v1%"
,"einspeisung_aktuell":"%ne%"
,"einspeisung_tag":"%ed%"
,"einspeisung_monat":"%emn%"
,"einspeisung_jahr":"%eyn%"
,"einspeisung_total":"%v2%"
>W
WLAN Empfang: {m}%rssi%
<hr/>
Strom {m}Bezug{m}Einspeisung
Tag: {m}<b><span style="color:red">%3sd% KWh</span></b> {m}<b><span style="color:green">%3ed% KWh</span></b>
Monat: {m}<b><span style="color:red">%3smn% KWh</span></b> {m}<b><span style="color:green">%3emn% KWh</span></b>
Jahr:{m}<b><span style="color:red">%3syn% KWh</span></b> {m}<b><span style="color:green">%3eyn% KWh</span></b>
€ Strom: {m}<b><span style="color:red">%2yspr% €</span></b> {m}<b><span style="color:green">%2yepr% €</span></b>
<hr/>
Strom Zähler{m}Bezug{m}Einspeisung
aktuell: {m} %3v1% KWh {m} %3v2% KWh
0:00 Uhr: {m} %3sm% KWh {m} %3em% KWh
Monatsanfang: {m} %3sma% KWh {m} %3ema% KWh
Jahresanfang: {m} %3sya% KWh {m} %3eya% KWh
<hr/>
>M 1
+1,14,s,0,9600,SML
1,77070100010800ff@1000,Bezug: ,KWh,Total_in,4
1,77070100020800ff@1000,Einspeisung: ,KWh,Total_out,4
1,77070100100700ff@1,Akt. Verbrauch: ,W,Power_cur,0
1,=h<hr/>
1,77070100000009ff@#,Zähler Nr,,Meter_id,0
1,=h<hr/>
#

Setzen der Einspeise bzw. Verbrauchs - Werte der Vortage/Vorjahre/Vormonate:

script >sma=1261.447;sya=711;eya=3815;ema=1261.447;svars

So sieht das Webui aus:

Das sieht ja echt toll aus bei dir! Ich habe mal das ganze für meinen Zähler angepasst, leider habe ich keine Berechnung. Könntest du mal schauen, wo ich den Fehler habe?
>D
v1=0
v2=0
v3=0
min=0
hr=0
md=0
yr=0
rssi=0
ed=0
;Bezug
nb=0
p:sm=0
;Strom Gesammt Jahresanfang
sd=17953.000
;(NT) Jahresanfang
p:sma=9556.000
smn=0
;(HT) Jahresanfang
p:sya=8397.000
syn=0
;kWh Preis dieses Jahr
sspr=0.4000
yspr=0
;Grundpreis dieses Jahr
ysgp=114.96
;Einspeisung
ne=0
p:em=0
ed=0
p:ema=0
emn=0
p:eya=0
eyn=0
eepr=0.0900
yepr=0
yegp=0.00
>T
v1=SML#Total_in
v2=SML#Total_out
v3=SML#Power_cur
rssi=Wifi#RSSI
>B
=>sensor53 r
tper=10
>S
min=int(time/5)
;Tagesverbrauch
hr=hours

if chg[hr]>0
and hr==0
then
sm=v1
em=v2
nb=v3
ne=v3
svars
endif

if upsecs%tper==0
then
sd=v1-sm
ed=v2-em
nb=v3
ne=v3*-1
endif
;Monatsverbrauch
md=day
if chg[md]>0
and md==1
then
sma=v1
ema=v2
svars
endif

if upsecs%tper==0
then
smn=v1-sma
emn=v2-ema
endif
;Jahresverbrauch
yr=year
if chg[yr]>0
then
sya=v1
eya=v2
svars
endif

if upsecs%tper==0
then
syn=v1-sya
eyn=v2-eya
;Kosten
yspr=syn*sspr+ysgp
yepr=eyn*eepr
endif

if v3>0
then
nb=v3
ne=0
else
nb=0
ne=v3*-1
endif

>F
scnt+=1
switch scnt
case 6
; sml-Treiber auf 300 Baud setzen und /?! als HEX, um das Messgerät auszulösen
res=sml(1 0 300)
res=sml(1 1 "2F3F210D0A")
; 1800 ms später => Ack und Aufforderung zum Umschalten auf 9600 Baud
case 18
res=sml(1 1 "063035300D0A")
; 2000 ms später => Umstellen des sml-Treibers auf 9600 Baud
case 20
res=sml(1 0 9600)
; Neustartsequenz nach 5000 ms
case 50
; 5000 ms später => Neustarten
scnt=0
ends

>J
,"Verbrauch Aktuell":"%nb%"
,"Verbrauch Tag":"%sd%"
,"Verbrauch Monat":"%smn%"
,"Verbrauch Jahr":"%syn%"
,"Verbrauch Total":"%v1%"
,"Einspeisung Aktuell":"%ne%"
,"Einspeisung Tag":"%ed%"
,"Einspeisung Monat":"%emn%"
,"Einspeisung Jahr":"%eyn%"
,"Einspeisung Total":"%v2%"
>W
WLAN Signalstärke: {m} %rssi% %%
<hr/>
Strom {m}Bezug{m}Einspeisung
Tag: {m}<b><span style="color:red">%3sd% KWh</span></b> {m}<b><span style="color:green">%3ed% KWh</span></b>
Monat: {m}<b><span style="color:red">%3smn% KWh</span></b> {m}<b><span style="color:green">%3emn% KWh</span></b>
Jahr:{m}<b><span style="color:red">%3syn% KWh</span></b> {m}<b><span style="color:green">%3eyn% KWh</span></b>
€ Strom: {m}<b><span style="color:red">%2yspr% €</span></b> {m}<b><span style="color:green">%2yepr% €</span></b>
<hr/>
Preis/kWh:      {m} %4sspr% €
Grundpreis:      {m} %2ysgp% €
<hr/>
>M 1
+1,3,o,0,300,,1,30,2F3F210D0A,063030300D0A
;1,0.9.1(@#),Zeitstempel,Uhr,time-stamp,0
;1,=h<hr/>
;1,=h –– Gas ––
;1,1.8.7(@1),Meter No./:,,Gas_Meter,0
;1,1.8.8(@1),Gas-Bezug ,m³,Gas_Total,3
;1,0.1.0(@1),Rückstellz.,,RSZ,0
;1,=h<hr/>
;1,0.0.0(@1),Meter No./:,,Meter_number,0
1,=h –– PV-Modul ––
1,2.6.0(@1),Total,kW,Max_latest_out,3
1,2.8.0(@1),Wirk Lieferung ET,kWh,Total_out,3
1,2.8.1(@1),Wirk Lieferung T1,kWh,Out_HT,3
1,2.8.2(@1),Wirk Lieferung T2,kWh,Out_NT,3
1,4.8.1(@1),Blind Leistung,kvarh,R_out,3
1,2.7.0(@1),Überschusseinspeisung,W,P_out,3
1,=h<hr/>
1,=h –– Strom-Bezug ––
1,1.8.0(@1),Wirk Bezug ET,kWh,Total_in,3
1,1.8.1(@1),wktgs. 6-22°° Uhr,kWh,HT_in,3
1,1.8.2(@1),ab Sa13°°-Mo6°° Uhr,kWh,NT_in,3
1,1.6.0(@1),Aktuelles Max IN,A+,Max_latest_in,4
1,3.8.1(@1),Blind Leistung,kvarh,R_in,3
1,1.7.0(@1),Aktuelle Last,W,P_in,3
1,=h<hr/>
1,=h –– Ampere ––
1,91.7(@1),Stromwert N.,A,I_N,2
1,31.7(@1),Stromwert L1,A,I_L1,2
1,51.7(@1),Stromwert L2,A,I_L2,2
1,71.7(@1),Stromwert L3,A,I_L3,2
1,=h<hr/>
1,=h –– Voltage ––
1,32.7(@1),voltage level L1,V,V_L1,2
1,52.7(@1),voltage level L2,V,V_L2,2
1,72.7(@1),voltage level L3,V,V_L3,2
1,=h<hr/>
;1,=h –– Frequenz ––
1,14.7(@1),Hz,Hz,Hz,2
;1,=h –– kum ––
1,1.2.0(@1),Kum. Max,A+,Kum_in,2
1,2.2.0(@1),Kum. Max,A-,Kum_out,2
1,1.4.0(@1),lauf. Max,A+,Lauf_in,2
1,2.4.0(@1),lauf. Max,A-,Lauf_out,2
1,3.7.0(@1),reactive power Q+,kvar,Q_in,3
1,4.7.0(@1),reactive power Q-,kvar,Q_out,3
;1,=h –– Leistung ––
;1,36.7.0(@1,Power_L1,kW,kW_L1,2
;1,56.7.0(@1,Power_L2,kW,kW_L2,2
;1,76.7.0(@1,Power_L3,kW,kW_L3,2
;1,16.7.0(@1,Σ_L1+L2+L3,kW,kW_L1+L2+L3,2
#
Ich komme nicht ganz mit wo ich welchen Wert genau eintragen muss.
Meine Werte sind
Strom Gesamt-Bezug Jahresanfang, 17953.00 kWh
HT = 9556.00 kWh
NT = 8397.00 kWh
Monatsanfang, 18340.987 kWh
Gestern, 18788.468 kWh
PV gesamt Jahresanfang, 9759.678 kWh
Monatsanfang, 10100.548  kWh
Gestern, 10174.548 kWh
Wie genau muss ich jetzt die Werte eingeben?
Grüße
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: carlos am 07 April 2023, 21:51:55
Du musst diese Variablen an deine Gegebenheit anpassen:

v1=SML#Total_in   Bezug
v2=SML#Total_out. Einspeisung
v3=SML#Power_cur. Akt. Verbrauch

Kommt bei mir aus den Zeilen:
+1,14,s,0,9600,SML
1,77070100010800ff@1000,Bezug: ,KWh,Total_in,4
1,77070100020800ff@1000,Einspeisung: ,KWh,Total_out,4
1,77070100100700ff@1,Akt. Verbrauch: ,W,Power_cur,0

Das musst du erst mal genauso machen, dann kannst du die entsprechenden Monats und Jahreswerte setzen.
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: gabischatz am 08 April 2023, 00:56:26
Hi, ich habe den Code entsprechend angepasst. Aber die Berechnung stimmt immer noch nicht.
>D
v1=0
v2=0
v3=0
min=0
hr=0
md=0
yr=0
rssi=0
ed=0

;Bezug
;-----Stromvariablen Verbrauch
nb=0
;-Stromzähler um Mitternacht (permanente Variable) (sm)
p:sm=0
;-Stromverbrauch pro Tag (sd)
sd=0
;-Zählerstand am Monatsanfang (sma)
p:sma=18340.987
;-Stromverbrauch Monat (smn)
smn=0
;-Zählerstand am Jahresanfang (sya)
p:sya=17953.000
;-Stromverbrauch Jahr (syn)
syn=0
;-kWh Preis dieses Jahr pro Einheit (sspr)
sspr=0.4000
yspr=0
;-Kosten pro Jahr Grundgebühr (ysgp)
ysgp=114.96

;-Einspeisung
;-----Stromvariablen Einspeisung
;-Stromzähler um Mitternacht (permanente Variable) (som)
ne=0
p:em=0
ed=0
p:ema=0
emn=0
p:eya=0
eyn=0
eepr=0.0900
yepr=0
yegp=0.00
>T
v1=SML#Total_in
v2=SML#Total_out
v3=SML#Power_cur
rssi=Wifi#RSSI
>B
=>sensor53 r
tper=10
>S
min=int(time/5)
;Tagesverbrauch
hr=hours

if chg[hr]>0
and hr==0
then
sm=v1
em=v2
nb=v3
ne=v3
svars
endif

if upsecs%tper==0
then
sd=v1-sm
ed=v2-em
nb=v3
ne=v3*-1
endif
;Monatsverbrauch
md=day
if chg[md]>0
and md==1
then
sma=v1
ema=v2
svars
endif

if upsecs%tper==0
then
smn=v1-sma
emn=v2-ema
endif
;Jahresverbrauch
yr=year
if chg[yr]>0
then
sya=v1
eya=v2
svars
endif

if upsecs%tper==0
then
syn=v1-sya
eyn=v2-eya
;Kosten
yspr=syn*sspr+ysgp
yepr=eyn*eepr
endif

if v3>0
then
nb=v3
ne=0
else
nb=0
ne=v3*-1
endif

>F
scnt+=1
switch scnt
case 6
; sml-Treiber auf 300 Baud setzen und /?! als HEX, um das Messgerät auszulösen
res=sml(1 0 300)
res=sml(1 1 "2F3F210D0A")
; 1800 ms später => Ack und Aufforderung zum Umschalten auf 9600 Baud
case 18
res=sml(1 1 "063035300D0A")
; 2000 ms später => Umstellen des sml-Treibers auf 9600 Baud
case 20
res=sml(1 0 9600)
; Neustartsequenz nach 5000 ms
case 50
; 5000 ms später => Neustarten
scnt=0
ends

>J
,"Verbrauch Aktuell":"%nb%"
,"Verbrauch Tag":"%sd%"
,"Verbrauch Monat":"%smn%"
,"Verbrauch Jahr":"%syn%"
,"Verbrauch Total":"%v1%"
,"Einspeisung Aktuell":"%ne%"
,"Einspeisung Tag":"%ed%"
,"Einspeisung Monat":"%emn%"
,"Einspeisung Jahr":"%eyn%"
,"Einspeisung Total":"%v2%"
>W
WLAN Signalstärke: {m} %rssi% %%
<hr/>
Strom {m}Bezug{m}Einspeisung
Tag: {m}<b><span style="color:red">%3sd% KWh</span></b> {m}<b><span style="color:green">%3ed% KWh</span></b>
Monat: {m}<b><span style="color:red">%3smn% KWh</span></b> {m}<b><span style="color:green">%3emn% KWh</span></b>
Jahr:{m}<b><span style="color:red">%3syn% KWh</span></b> {m}<b><span style="color:green">%3eyn% KWh</span></b>
€ Strom: {m}<b><span style="color:red">%2yspr% €</span></b> {m}<b><span style="color:green">%2yepr% €</span></b>
<hr/>
Preis/kWh:      {m} %4sspr% €
Grundpreis:      {m} %2ysgp% €
<hr/>
>M 1
+1,3,o,0,300,SML,1,30,2F3F210D0A,063030300D0A
;1,0.9.1(@#),Zeitstempel,Uhr,time-stamp,0
;1,=h<hr/>
;1,=h –– Gas ––
;1,1.8.7(@1),Meter No./:,,Gas_Meter,0
;1,1.8.8(@1),Gas-Bezug ,m³,Gas_Total,3
;1,0.1.0(@1),Rückstellz.,,RSZ,0
;1,=h<hr/>
;1,0.0.0(@1),Meter No./:,,Meter_number,0
1,=h –– PV-Modul ––
1,2.6.0(@1),Total,kW,Max_latest_out,3
1,2.8.0(@1),Wirk Lieferung ET,kWh,Total_out,3
1,2.8.1(@1),Wirk Lieferung T1,kWh,Out_HT,3
1,2.8.2(@1),Wirk Lieferung T2,kWh,Out_NT,3
1,4.8.1(@1),Blind Leistung,kvarh,R_out,3
1,2.7.0(@1),Überschusseinspeisung,W,P_out,3
1,=h<hr/>
1,=h –– Strom-Bezug ––
1,1.8.0(@1),Wirk Bezug ET,kWh,Total_in,3
1,1.8.1(@1),wktgs. 6-22°° Uhr,kWh,HT_in,3
1,1.8.2(@1),ab Sa13°°-Mo6°° Uhr,kWh,NT_in,3
1,1.6.0(@1),Aktuelles Max IN,A+,Max_latest_in,4
1,3.8.1(@1),Blind Leistung,kvarh,R_in,3
1,1.7.0(@1),Aktuelle Last,W,P_in,3
1,=h<hr/>
1,=h –– Ampere ––
1,91.7(@1),Stromwert N.,A,I_N,2
1,31.7(@1),Stromwert L1,A,I_L1,2
1,51.7(@1),Stromwert L2,A,I_L2,2
1,71.7(@1),Stromwert L3,A,I_L3,2
1,=h<hr/>
1,=h –– Voltage ––
1,32.7(@1),voltage level L1,V,V_L1,2
1,52.7(@1),voltage level L2,V,V_L2,2
1,72.7(@1),voltage level L3,V,V_L3,2
1,=h<hr/>
;1,=h –– Frequenz ––
1,14.7(@1),Hz,Hz,Hz,2
;1,=h –– kum ––
1,1.2.0(@1),Kum. Max,A+,Kum_in,2
1,2.2.0(@1),Kum. Max,A-,Kum_out,2
1,1.4.0(@1),lauf. Max,A+,Lauf_in,2
1,2.4.0(@1),lauf. Max,A-,Lauf_out,2
1,3.7.0(@1),reactive power Q+,kvar,Q_in,3
1,4.7.0(@1),reactive power Q-,kvar,Q_out,3
;1,=h –– Leistung ––
;1,36.7.0(@1,Power_L1,kW,kW_L1,2
;1,56.7.0(@1,Power_L2,kW,kW_L2,2
;1,76.7.0(@1,Power_L3,kW,kW_L3,2
;1,16.7.0(@1,Σ_L1+L2+L3,kW,kW_L1+L2+L3,2
#
Ich verstehe immer noch nicht was du genau meinst mit
ZitatWerte der Vortage/Vorjahre/Vormonate:
script >sma=1261.447;sya=711;eya=3815;ema=1261.447;svars
Du hast drei Werte aber vier Variablen!
Könntest du mal bitte angeben, was was genau ist.
sml.png
Grüße
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: carlos am 08 April 2023, 11:29:23
Wenn du dir das script mal genau anschaust sieht du folgende Beschreibung:
Stromverbrauch:
;-Zählerstand am Monatsanfang (sma)
;-Zählerstand am Jahresanfang (sya)
das gleiche für die Einspeisung:
;-Zählerstand am Monatsanfang (ema)
;-Zählerstand am Jahresanfang (eya)

den Vortag brauchst du nicht setzen, der wird ja nach einem Tag berechnet, genauso würden nach einem Monat und nach einem Jahr die Werte stimmen, wenn du sie nicht setzt.
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: gabischatz am 09 April 2023, 09:50:52
An alle ein Frohes Osterfest und Grüße :)) Danke Carlos, langsam verstehe ich wie es funktioniert. Aber eine Frage habe ich noch, unten im Markierten Bereich sind noch keine Werte, dadurch ist die Berechnung nicht vollständig. Ändert sich das noch zum nächsten Monat oder habe ich da noch einen Fehler?
>D
v1=0
v2=0
v3=0
min=0
hr=0
md=0
yr=0
rssi=0
ed=0

;Bezug
;-----Stromvariablen Verbrauch
nb=0
;-Stromzähler um Mitternacht (permanente Variable) (sm)
p:sm=0
;-Stromverbrauch pro Tag (sd)
sd=0
;-Zählerstand am Monatsanfang (sma)
p:sma=18340.987
;-Stromverbrauch Monat (smn)
smn=0
;-Zählerstand am Jahresanfang (sya)
p:sya=17953.000
;-Stromverbrauch Jahr (syn)
syn=0
;-kWh Preis dieses Jahr pro Einheit (sspr)
sspr=0.4000
yspr=0
;-Kosten pro Jahr Grundgebühr (ysgp)
ysgp=114.96

;-Einspeisung
;-----Stromvariablen Einspeisung
;-Stromzähler um Mitternacht (permanente Variable) (som)
ne=0
p:em=0
ed=0
;-Zählerstand am Monatsanfang (ema)
p:ema=10100.548
emn=0
;-Zählerstand am Jahresanfang (eya)
p:eya=9759.678
eyn=0
eepr=0.0900
yepr=0
yegp=0.00
>T
v1=SML#Total_in
v2=SML#Total_out
v3=SML#Power_cur
rssi=Wifi#RSSI
>B
=>sensor53 r
tper=10
>S
min=int(time/5)
;Tagesverbrauch
hr=hours

if chg[hr]>0
and hr==0
then
sm=v1
em=v2
nb=v3
ne=v3
svars
endif

if upsecs%tper==0
then
sd=v1-sm
ed=v2-em
nb=v3
ne=v3*-1
endif
;Monatsverbrauch
md=day
if chg[md]>0
and md==1
then
sma=v1
ema=v2
svars
endif

if upsecs%tper==0
then
smn=v1-sma
emn=v2-ema
endif
;Jahresverbrauch
yr=year
if chg[yr]>0
then
sya=v1
eya=v2
svars
endif

if upsecs%tper==0
then
syn=v1-sya
eyn=v2-eya
;Kosten
yspr=syn*sspr+ysgp
yepr=eyn*eepr
endif

if v3>0
then
nb=v3
ne=0
else
nb=0
ne=v3*-1
endif

>F
scnt+=1
switch scnt
case 6
; sml-Treiber auf 300 Baud setzen und /?! als HEX, um das Messgerät auszulösen
res=sml(1 0 300)
res=sml(1 1 "2F3F210D0A")
; 1800 ms später => Ack und Aufforderung zum Umschalten auf 9600 Baud
case 18
res=sml(1 1 "063035300D0A")
; 2000 ms später => Umstellen des sml-Treibers auf 9600 Baud
case 20
res=sml(1 0 9600)
; Neustartsequenz nach 5000 ms
case 50
; 5000 ms später => Neustarten
scnt=0
ends

>J
,"Verbrauch Aktuell":"%nb%"
,"Verbrauch Tag":"%sd%"
,"Verbrauch Monat":"%smn%"
,"Verbrauch Jahr":"%syn%"
,"Verbrauch Total":"%v1%"
,"Einspeisung Aktuell":"%ne%"
,"Einspeisung Tag":"%ed%"
,"Einspeisung Monat":"%emn%"
,"Einspeisung Jahr":"%eyn%"
,"Einspeisung Total":"%v2%"
>W
WLAN Signalstärke: {m} %rssi% %%
<hr/>
Strom {m}Bezug{m}Einspeisung
Tag: {m}<b><span style="color:red">%3sd% KWh</span></b> {m}<b><span style="color:green">%3ed% KWh</span></b>
Monat: {m}<b><span style="color:red">%3smn% KWh</span></b> {m}<b><span style="color:green">%3emn% KWh</span></b>
Jahr:{m}<b><span style="color:red">%3syn% KWh</span></b> {m}<b><span style="color:green">%3eyn% KWh</span></b>
€ Strom: {m}<b><span style="color:red">%2yspr% €</span></b> {m}<b><span style="color:green">%2yepr% €</span></b>
<hr/>
Strom Zähler{m}Bezug{m}Einspeisung
aktuell: {m} %3v1% KWh {m} %3v2% KWh
0:00 Uhr: {m} %3sm% KWh {m} %3em% KWh
Monatsanfang: {m} %3sma% KWh {m} %3ema% KWh
Jahresanfang: {m} %3sya% KWh {m} %3eya% KWh
<hr/>
Preis/kWh:       {m} %4sspr% €
Grundpreis:      {m} %2ysgp% €
<hr/>
>M 1
+1,3,o,0,300,SML,1,30,2F3F210D0A,063030300D0A
;1,0.9.1(@#),Zeitstempel,Uhr,time-stamp,0
;1,=h<hr/>
;1,=h –– Gas ––
;1,1.8.7(@1),Meter No./:,,Gas_Meter,0
;1,1.8.8(@1),Gas-Bezug ,m³,Gas_Total,3
;1,0.1.0(@1),Rückstellz.,,RSZ,0
;1,=h<hr/>
;1,0.0.0(@1),Meter No./:,,Meter_number,0
1,=h –– PV-Modul ––
1,2.6.0(@1),Total,kW,Max_latest_out,3
1,2.8.0(@1),Wirk Lieferung ET,kWh,Total_out,3
1,2.8.1(@1),Wirk Lieferung T1,kWh,Out_HT,3
1,2.8.2(@1),Wirk Lieferung T2,kWh,Out_NT,3
1,4.8.1(@1),Blind Leistung,kvarh,R_out,3
1,2.7.0(@1),Überschusseinspeisung,W,P_out,3
1,=h<hr/>
1,=h –– Strom-Bezug ––
1,1.8.0(@1),Wirk Bezug ET,kWh,Total_in,3
1,1.8.1(@1),wktgs. 6-22°° Uhr,kWh,HT_in,3
1,1.8.2(@1),ab Sa13°°-Mo6°° Uhr,kWh,NT_in,3
1,1.6.0(@1),Aktuelles Max IN,A+,Max_latest_in,4
1,3.8.1(@1),Blind Leistung,kvarh,R_in,3
1,1.7.0(@1),Aktuelle Last,W,P_in,3
1,=h<hr/>
1,=h –– Ampere ––
1,91.7(@1),Stromwert N.,A,I_N,2
1,31.7(@1),Stromwert L1,A,I_L1,2
1,51.7(@1),Stromwert L2,A,I_L2,2
1,71.7(@1),Stromwert L3,A,I_L3,2
1,=h<hr/>
1,=h –– Voltage ––
1,32.7(@1),voltage level L1,V,V_L1,2
1,52.7(@1),voltage level L2,V,V_L2,2
1,72.7(@1),voltage level L3,V,V_L3,2
1,=h<hr/>
;1,=h –– Frequenz ––
1,14.7(@1),Hz,Hz,Hz,2
;1,=h –– kum ––
1,1.2.0(@1),Kum. Max,A+,Kum_in,2
1,2.2.0(@1),Kum. Max,A-,Kum_out,2
1,1.4.0(@1),lauf. Max,A+,Lauf_in,2
1,2.4.0(@1),lauf. Max,A-,Lauf_out,2
1,3.7.0(@1),reactive power Q+,kvar,Q_in,3
1,4.7.0(@1),reactive power Q-,kvar,Q_out,3
;1,=h –– Leistung ––
;1,36.7.0(@1,Power_L1,kW,kW_L1,2
;1,56.7.0(@1,Power_L2,kW,kW_L2,2
;1,76.7.0(@1,Power_L3,kW,kW_L3,2
;1,16.7.0(@1,Σ_L1+L2+L3,kW,kW_L1+L2+L3,2
#
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: carlos am 09 April 2023, 22:20:57
Hatte ich doch oben beschrieben!
Warte einen Monat und du hast den Monatswert.
Warte ein Jahr und du hast den Jahreswert.

Oder du setzt die Werte wie auch oben beschrieben.

ZitatWerte des Vorjahres/Vormonats setzen:
script >sma=1261.447;sya=711;eya=3815;ema=1261.447;svars
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: gabischatz am 09 April 2023, 23:59:14
Danke Carlos es funktioniert Super!!! Ich bin so glücklich. Ich hatte nicht verstanden wie es funktioniert.
Grüße
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: M.Piet am 30 Dezember 2023, 13:13:52
Moin zusammen,

habe nun auch den DWS7420.2

Bin am Überlegen, dies über den optischen Sensor auslesen zu lassen. Weiß nur nicht so richtig, ob die da auch passen. Es gab ja hier einige Anregungen dazu.

Hatte als Alternative auch mit dem Shelly 3EM oder Shelly Pro 3EM im Auge.

Was denkt ihr?

Gruß Piet
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: DasQ am 30 Dezember 2023, 14:22:30
hatte den zähler auch, ist "Volkszähler IR Kopf (S0)" tauglich, ist je nach ausführung nur ein einrichtungszähler.

Hatte ich mit Tasmota SML am laufen, ist super dokumentiert (https://tasmota.github.io/docs/Smart-Meter-Interface/#dzg-dws74102vg2-sml-and-dzg-dvs74202-sml)

Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: DeeSPe am 01 Januar 2024, 16:37:27
Zitat von: DasQ am 30 Dezember 2023, 14:22:30hatte den zähler auch, ist "Volkszähler IR Kopf (S0)" tauglich, ist je nach ausführung nur ein einrichtungszähler.

Hatte ich mit Tasmota SML am laufen, ist super dokumentiert (https://tasmota.github.io/docs/Smart-Meter-Interface/#dzg-dws74102vg2-sml-and-dzg-dvs74202-sml)



Ich bin mittlerweile auch auf Tasmota (bitShake) umgestiegen und bin sehr zufrieden mit der Lösung.
Kann ich nur weiter empfehlen.

Gruß
Dan
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: DasQ am 01 Januar 2024, 17:36:33
Den ir-Kopf hab ich von eim ausm Volkszählerforum.

Als Firmware nutze ich ein fertig kompiliertes Tasmota von hier (https://ottelo.jimdofree.com/stromz%C3%A4hler-auslesen-tasmota/), das ist gleich fix und fertig gepatcht und kommt kommt optisch mit ein paar netten Diagrammen daher.

Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: M.Piet am 02 Januar 2024, 09:59:21
Super, vielen Dank.
Mit dem Ready2Use Hichi Lesekopf ist das ja anscheinend echt simpel.
Und nebenbei viel günstiger als mit dem Shelly. Genauso werde ich es machen, vielen Dank für die Anregungen und die Links!
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: DasQ am 02 Januar 2024, 10:24:07
meine empfehlung geht aber ganz klar zu einem esp32. ich seh gerade das es da so hichi dinger gibt die mit esp8266-1(2) laufen. der ist ganz klar zu müde und es fühlt sich alles extremst zäh an. das script kann man nur mit tools hochladen weil sie absolut an die grenzen der hardware gehen.

esp32 mit mindestens 4MB besser 8MB
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: M.Piet am 30 Januar 2024, 15:06:12
Probleme mit IR-Schnittstelle am Zähler ,,DWS 7420.2"

Hallo Zusammen,
hat jemand von Euch auch schon mal das Problem gehabt, dass die IR-Schnittstelle des DWS 7420.2 nicht funktioniert?
Am Zähler habe ich (wie gefordert) die PIN angefordert und habe dann im Zähler folgende Einstellungen vorgenommen:
PIN auf ,,off"
inf auf ,,on"
Nun sollte er per IR die Daten senden. Ein Test mit der Handykamera ergab nichts.

Ebenso bekommt mein IR Schreib-Lesekopf mit Tasmota (ESP8266/ESP01s Modul)  und passendem Script zu dem DWS 7420 keine Datensätze vom Zähler.
Jemand schon mal von ähnlichen Problemen gehört?
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: DasQ am 30 Januar 2024, 16:22:47
Hört sich für mich nach Kommunikation gestört an. (Rx <-> Tx vertauscht?)

Welche Hardware ist das jetzt genau? Wie angeschlossen?

Ggf noch Firmware Version und Konfigurationen

Die Anleitung zum Zähler kennst du?
https://www.dzg.de/fileadmin/dzg/content/downloads/produkte-zaehler/dvs74/dzg_dvs74_Bedienungsanleitung.pdf

BTW. Sieht man nicht unbedingt was mit dem handy (je nach ccd chip ist der zuträge)
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: M.Piet am 30 Januar 2024, 18:00:42
Danke für deine Antworten. :)
Ich habe einen fertigen gekauft: WiFi IR Schreib-Lesekopf DIY Set Tasmota Smart Meter Hichi SML WLAN Stromzähler gekauft:
https://www.ebay.de/itm/295985095280
Daher gehe ich nicht von einem Verdrahtungsfehler aus. Ich dachte aber das gleiche, und habe ihn zur Prüfung zurückgeschickt. Er wurde getestet und soll angeblich OK sein.

Bei der Einrichtung habe ich mich hier dran gehalten und auch die neuste Firmware aus dem Post genommen:
https://ottelo.jimdofree.com/stromz%C3%A4hler-auslesen-tasmota/

Die Anleitung kenne ich.
Die PIN-Abfrage ist aus und inf ist ein.

Das es mit dem Handy nicht unbedingt sichtbar ist, ist mir auch bekannt. Ich habe mein Handy mal an einer IR-Fernbedienung vom TV getestet. Da war es sichbar. Aber das heißt ja auch nicht unmbedingt, dass man es am Zähler auch sehen muss.
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: DasQ am 30 Januar 2024, 19:30:14
Das usb Kabel ging nach oben weg?
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: M.Piet am 30 Januar 2024, 20:19:52
Zitat von: DasQ am 30 Januar 2024, 19:30:14Das usb Kabel ging nach oben weg?
Ich habe beides probierte also unten und oben.
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: romakrau am 30 Januar 2024, 22:05:15
Versuche doch mal die Eingabe von " Sensor53 d1 " in der Console von Tasmota. Hier solltest du die empfangenen Daten sehen. Ausschalten mit Sensor53 d0.
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: M.Piet am 31 Januar 2024, 06:34:41
Zitat von: romakrau am 30 Januar 2024, 22:05:15Versuche doch mal die Eingabe von " Sensor53 d1 " in der Console von Tasmota. Hier solltest du die empfangenen Daten sehen. Ausschalten mit Sensor53 d0.
Das hatte ich beim Testen schon gemacht. Da passierte nichts.
Ich habe heute einen anderen bestellt, mal sehen ob er nicht doch defekt war.

Der Befehlt liefert keine Werte:
13:39:49.727 CMD: sensor53 d1
13:39:49.733 RSL: RESULT = {"Time":"2024-01-14T13:39:49","SML":{"CMD":"dump: 1"}}
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: DasQ am 31 Januar 2024, 09:42:32
Hat denn mechanisch zumindest der lesekopf gepasst? Also Lochabstand zu den beiden LEDs am Zähler?

Wenn das nicht sauber fluchtet ist klar das der nix empfängt. Ggf passt ja das 3d Gehäuse nicht oder die Löcher sind zu klein.
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: romakrau am 01 Februar 2024, 07:04:27
Dann fält mir nur noch ein das eventuell der definierte Eingangspin in deinem Script nicht passt. War bei mir auch abweichend von der genannten Webseite. Kopieren alle nur das Tasmota Beispiel. Kontaktiere deswegen doch mal den Hersteller.
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: M.Piet am 01 Februar 2024, 09:30:07
Zitat von: romakrau am 01 Februar 2024, 07:04:27Dann fällt mir nur noch ein das eventuell der definierte Eingangspin in deinem Script nicht passt. War bei mir auch abweichend von der genannten Webseite. Kopieren alle nur das Tasmota Beispiel. Kontaktiere deswegen doch mal den Hersteller.
Daran hatte ich gar nicht gedacht! Danke für die Anregung.
Morgen kommt der neue Lesekopf. Ich teste und werde berichtet.
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: RalfRog am 01 Februar 2024, 16:07:12
Hi
Zitat von: M.Piet am 01 Februar 2024, 09:30:07Morgen kommt der neue Lesekopf. Ich teste und werde berichtet.

Als Anregung:
Wenn es wieder ein Hichi USB mit Tasmota ist würde ich den erstmal mit dem enthaltenen Tasmota testen bevor da wieder das Image vom Projekt drauf kommt.

Gruß Ralf

Edit:
... ich hatte es noch dunkel im Kopf, auf der Projektseite steht:

ZitatA) Ready2Use WiFi Lesekopf von Hichi

Hichi bietet bei ebay komplett fertige WiFi Leseköpfe an. Dieser beinhaltet bereits den ESP8266 (ESP01s Modul) und muss nur über die Mikro USB Buchse mit 5V versorgt werden. Mit einem USB-Netzteil/Ladegerät oder ihr baut euch ein 5V Hutschienen Netzteil ein. Allerdings müsst ihr dafür guten WLAN Empfang in eurem Sicherungskasten haben, der aus Metall ist. Aber dies ist wirklich eine sehr einfache Lösung. Kostet ca. 30€. Auf dem ESP ist bereits Tasmota "vorinstalliert". Deshalb könnt ihr direkt mein fertiges Image via WLAN übertragen ohne TTL Adapter.

Im Script müsst ihr dann Port 3 anstatt 14 (nach meiner Bauanleitung) verwenden: +1,3,s,0,9600,MT681
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: M.Piet am 01 Februar 2024, 18:57:34
Hallo zusammen,
vielen Dank für die vielen Hilfen.
Den falschen Port hatte ich in der Tat zuerst benutzt, das brachte keine Besserung.
Der Ersatz ist heute gekommen. Genau das gleiche Problem.
Ich bin nun, dank euch, sicher, dass es am Zähler liegen muss.

Ich werde nun die Stadtwerke mal kontaktieren. Mal sehen ob sie den Zähler austauschen werden.
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: Apollon am 17 Februar 2024, 14:48:50
Hallo,

ich habe einen Hichi Lesekopf und auf einen ESP8266 mit Tasmota geflasht.
Bis hierhin ist alles OK.
Tasmota.png

In FHEM habe ich einen MQTT-Server erstellt.
Nachdem ich in Tasmota MQTT aktiviert habe, werden mir in einem neu erstellten MQTT2-Device viele Daten angezeigt, nur nicht die Daten,  die ich benötige.
Internals:
   CFGFN     
   CID        SmartMeter
   DEF        SmartMeter
   DEVICETOPIC MQTT2_SmartMeter
   FUUID      65cfc2dc-f33f-722a-eca2-b45d8a7df21c48c7
   IODev      MQTT_Server_FHEM
   LASTInputDev MQTT_Server_FHEM
   MQTT_Server_FHEM_MSGCNT 184
   MQTT_Server_FHEM_TIME 2024-02-17 14:02:32
   MSGCNT     184
   NAME       MQTT2_SmartMeter
   NR         47
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2024-02-17 13:29:03   BASE            18
     2024-02-17 13:29:03   DeviceName      Tasmota
     2024-02-17 13:29:03   Emulation       0
     2024-02-17 13:29:03   FLAG            0
     2024-02-17 13:29:03   FriendlyName1   Tasmota
     2024-02-17 13:29:03   FriendlyName2   
     2024-02-17 13:29:03   FriendlyName3   
     2024-02-17 13:29:03   FriendlyName4   
     2024-02-17 13:29:03   FriendlyName5   
     2024-02-17 13:29:03   FriendlyName6   
     2024-02-17 13:29:03   FriendlyName7   
     2024-02-17 13:29:03   FriendlyName8   
     2024-02-17 13:29:03   GPIO_1          1
     2024-02-17 13:29:03   GPIO_10         1
     2024-02-17 13:29:03   GPIO_11         1
     2024-02-17 13:29:03   GPIO_12         1
     2024-02-17 13:29:03   GPIO_13         1
     2024-02-17 13:29:03   GPIO_14         1
     2024-02-17 13:29:03   GPIO_2          1
     2024-02-17 13:29:03   GPIO_3          1
     2024-02-17 13:29:03   GPIO_4          1
     2024-02-17 13:29:03   GPIO_5          1
     2024-02-17 13:29:03   GPIO_6          1
     2024-02-17 13:29:03   GPIO_7          1
     2024-02-17 13:29:03   GPIO_8          1
     2024-02-17 13:29:03   GPIO_9          1
     2024-02-17 14:02:32   Heap            19
     2024-02-16 21:17:32   IODev           MQTT_Server_FHEM
     2024-02-17 13:57:28   Info1_FallbackTopic cmnd/SmartMeter_fb/
     2024-02-17 13:57:28   Info1_GroupTopic cmnd/tasmotas/
     2024-02-17 13:57:28   Info1_Module    Sonoff Basic
     2024-02-17 13:57:28   Info1_Version   13.3.0(tasmota)
     2024-02-17 13:57:28   Info2_Hostname  SmartMeter-3134
     2024-02-17 13:57:28   Info2_IPAddress 192.168.178.71
     2024-02-17 13:57:28   Info2_WebServerMode Admin
     2024-02-17 13:57:28   Info3_BootCount 12
     2024-02-17 13:57:28   Info3_RestartReason Software/System restart
     2024-02-17 13:57:28   LWT             Online
     2024-02-17 14:02:32   LoadAvg         21
     2024-02-17 14:02:32   MqttCount       1
     2024-02-17 13:29:03   NAME            Generic
     2024-02-17 14:02:32   POWER           OFF
     2024-02-17 13:57:17   SML_CMD         restart
     2024-02-17 13:29:03   SetOption128    ON
     2024-02-17 13:29:03   SetOption3      ON
     2024-02-17 14:02:32   Sleep           50
     2024-02-17 14:02:32   SleepMode       Dynamic
     2024-02-17 14:02:32   Time            2024-02-17T14:02:31
     2024-02-17 14:02:32   Uptime          0T00:05:08
     2024-02-17 14:02:32   UptimeSec       308
     2024-02-17 13:29:03   WebPassword     ****
     2024-02-17 14:02:32   Wifi_AP         1
     2024-02-17 14:02:32   Wifi_BSSId      5C:49:79:40:5E:BF
     2024-02-17 14:02:32   Wifi_Channel    6
     2024-02-17 14:02:32   Wifi_Downtime   0T00:00:03
     2024-02-17 14:02:32   Wifi_LinkCount  1
     2024-02-17 14:02:32   Wifi_Mode       11n
     2024-02-17 14:02:32   Wifi_RSSI       100
     2024-02-17 14:02:32   Wifi_SSId       NetzBM_Low
     2024-02-17 14:02:32   Wifi_Signal     -17
     2024-02-17 13:57:37   bat             0
     2024-02-17 13:57:37   btn_1           0
     2024-02-17 13:57:37   btn_10          0
     2024-02-17 13:57:37   btn_11          0
     2024-02-17 13:57:37   btn_12          0
     2024-02-17 13:57:37   btn_13          0
     2024-02-17 13:57:37   btn_14          0
     2024-02-17 13:57:37   btn_15          0
     2024-02-17 13:57:37   btn_16          0
     2024-02-17 13:57:37   btn_17          0
     2024-02-17 13:57:37   btn_18          0
     2024-02-17 13:57:37   btn_19          0
     2024-02-17 13:57:37   btn_2           0
     2024-02-17 13:57:37   btn_20          0
     2024-02-17 13:57:37   btn_21          0
     2024-02-17 13:57:37   btn_22          0
     2024-02-17 13:57:37   btn_23          0
     2024-02-17 13:57:37   btn_24          0
     2024-02-17 13:57:37   btn_25          0
     2024-02-17 13:57:37   btn_26          0
     2024-02-17 13:57:37   btn_27          0
     2024-02-17 13:57:37   btn_28          0
     2024-02-17 13:57:37   btn_29          0
     2024-02-17 13:57:37   btn_3           0
     2024-02-17 13:57:37   btn_30          0
     2024-02-17 13:57:37   btn_31          0
     2024-02-17 13:57:37   btn_32          0
     2024-02-17 13:57:37   btn_4           0
     2024-02-17 13:57:37   btn_5           0
     2024-02-17 13:57:37   btn_6           0
     2024-02-17 13:57:37   btn_7           0
     2024-02-17 13:57:37   btn_8           0
     2024-02-17 13:57:37   btn_9           0
     2024-02-17 13:57:37   dn              Tasmota
     2024-02-17 13:57:37   dslp            0
     2024-02-17 13:57:37   fn_1            Tasmota
     2024-02-17 13:57:37   ft              %prefix%/%topic%/
     2024-02-17 13:57:37   hn              SmartMeter-3134
     2024-02-17 13:57:37   if              0
     2024-02-17 13:57:37   ip              192.168.178.71
     2024-02-17 13:57:37   lk              0
     2024-02-17 13:57:37   lt_st           0
     2024-02-17 13:57:37   mac             08F9E06C8C3E
     2024-02-17 13:57:37   md              Sonoff Basic
     2024-02-17 13:57:37   ofln            Offline
     2024-02-17 13:57:37   onln            Online
     2024-02-17 13:57:37   rl_1            1
     2024-02-17 13:57:37   rl_10           0
     2024-02-17 13:57:37   rl_11           0
     2024-02-17 13:57:37   rl_12           0
     2024-02-17 13:57:37   rl_13           0
     2024-02-17 13:57:37   rl_14           0
     2024-02-17 13:57:37   rl_15           0
     2024-02-17 13:57:37   rl_16           0
     2024-02-17 13:57:37   rl_17           0
     2024-02-17 13:57:37   rl_18           0
     2024-02-17 13:57:37   rl_19           0
     2024-02-17 13:57:37   rl_2            0
     2024-02-17 13:57:37   rl_20           0
     2024-02-17 13:57:37   rl_21           0
     2024-02-17 13:57:37   rl_22           0
     2024-02-17 13:57:37   rl_23           0
     2024-02-17 13:57:37   rl_24           0
     2024-02-17 13:57:37   rl_25           0
     2024-02-17 13:57:37   rl_26           0
     2024-02-17 13:57:37   rl_27           0
     2024-02-17 13:57:37   rl_28           0
     2024-02-17 13:57:37   rl_29           0
     2024-02-17 13:57:37   rl_3            0
     2024-02-17 13:57:37   rl_30           0
     2024-02-17 13:57:37   rl_31           0
     2024-02-17 13:57:37   rl_32           0
     2024-02-17 13:57:37   rl_4            0
     2024-02-17 13:57:37   rl_5            0
     2024-02-17 13:57:37   rl_6            0
     2024-02-17 13:57:37   rl_7            0
     2024-02-17 13:57:37   rl_8            0
     2024-02-17 13:57:37   rl_9            0
     2024-02-17 13:57:37   sn_Time         2024-02-17T13:57:36
     2024-02-17 13:57:37   so_11           0
     2024-02-17 13:57:37   so_114          0
     2024-02-17 13:57:37   so_117          0
     2024-02-17 13:57:37   so_13           0
     2024-02-17 13:57:37   so_17           0
     2024-02-17 13:57:37   so_20           0
     2024-02-17 13:57:37   so_30           0
     2024-02-17 13:57:37   so_4            0
     2024-02-17 13:57:37   so_68           0
     2024-02-17 13:57:37   so_73           0
     2024-02-17 13:57:37   so_82           0
     2024-02-17 13:57:37   state_1         OFF
     2024-02-17 13:57:37   state_2         ON
     2024-02-17 13:57:37   state_3         TOGGLE
     2024-02-17 13:57:37   state_4         HOLD
     2024-02-17 13:57:37   sw              13.3.0
     2024-02-17 13:57:37   swc_1           -1
     2024-02-17 13:57:37   swc_10          -1
     2024-02-17 13:57:37   swc_11          -1
     2024-02-17 13:57:37   swc_12          -1
     2024-02-17 13:57:37   swc_13          -1
     2024-02-17 13:57:37   swc_14          -1
     2024-02-17 13:57:37   swc_15          -1
     2024-02-17 13:57:37   swc_16          -1
     2024-02-17 13:57:37   swc_17          -1
     2024-02-17 13:57:37   swc_18          -1
     2024-02-17 13:57:37   swc_19          -1
     2024-02-17 13:57:37   swc_2           -1
     2024-02-17 13:57:37   swc_20          -1
     2024-02-17 13:57:37   swc_21          -1
     2024-02-17 13:57:37   swc_22          -1
     2024-02-17 13:57:37   swc_23          -1
     2024-02-17 13:57:37   swc_24          -1
     2024-02-17 13:57:37   swc_25          -1
     2024-02-17 13:57:37   swc_26          -1
     2024-02-17 13:57:37   swc_27          -1
     2024-02-17 13:57:37   swc_28          -1
     2024-02-17 13:57:37   swc_3           -1
     2024-02-17 13:57:37   swc_4           -1
     2024-02-17 13:57:37   swc_5           -1
     2024-02-17 13:57:37   swc_6           -1
     2024-02-17 13:57:37   swc_7           -1
     2024-02-17 13:57:37   swc_8           -1
     2024-02-17 13:57:37   swc_9           -1
     2024-02-17 13:57:37   t               SmartMeter
     2024-02-17 13:57:37   tp_1            cmnd
     2024-02-17 13:57:37   tp_2            stat
     2024-02-17 13:57:37   tp_3            tele
     2024-02-17 13:57:37   ty              0
     2024-02-17 13:57:37   ver             1
Attributes:
   readingList SmartMeter:tele/tasmota_6C8C3E/LWT:.* LWT
SmartMeter:cmnd/tasmota_6C8C3E/POWER:.* POWER
SmartMeter:tele/tasmota_6C8C3E/INFO1:.* { json2nameValue($EVENT) }
SmartMeter:tele/tasmota_6C8C3E/INFO2:.* { json2nameValue($EVENT) }
SmartMeter:tele/tasmota_6C8C3E/INFO3:.* { json2nameValue($EVENT) }
SmartMeter:stat/tasmota_6C8C3E/RESULT:.* { json2nameValue($EVENT) }
SmartMeter:stat/tasmota_6C8C3E/POWER:.* POWER
SmartMeter:tele/tasmota_6C8C3E/STATE:.* { json2nameValue($EVENT) }
SmartMeter:tasmota/discovery/08F9E06C8C3E/config:.* { json2nameValue($EVENT) }
SmartMeter:tasmota/discovery/08F9E06C8C3E/sensors:.* { json2nameValue($EVENT) }
SmartMeter:tele/SmartMeter/LWT:.* LWT
SmartMeter:cmnd/SmartMeter/POWER:.* POWER
SmartMeter:tele/SmartMeter/INFO1:.* { json2nameValue($EVENT) }
SmartMeter:tele/SmartMeter/INFO2:.* { json2nameValue($EVENT) }
SmartMeter:tele/SmartMeter/INFO3:.* { json2nameValue($EVENT) }
SmartMeter:stat/SmartMeter/RESULT:.* { json2nameValue($EVENT) }
SmartMeter:stat/SmartMeter/POWER:.* POWER
SmartMeter:tele/SmartMeter/STATE:.* { json2nameValue($EVENT) }
SmartMeter:tele/SmartMeter/SENSOR:.* { json2nameValue($EVENT) }

   room       MQTT

Hat jemand eine Ahnung was ich falsch gemacht habe und genau die Readings fehlen, die ich brauche?

Gruß
Apollon
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: DeeSPe am 17 Februar 2024, 15:23:05
Zitat von: Apollon am 17 Februar 2024, 14:48:50Hat jemand eine Ahnung was ich falsch gemacht habe und genau die Readings fehlen, die ich brauche?

Wie sieht denn dein Script aus?
Magst du das mal zeigen?

Gruß
Dan
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: Apollon am 17 Februar 2024, 16:45:20
Welches Script meinst du?
Das hier?>D
>B

=>sensor53 r
>M 1
+1,3,s,0,9600,
1,77070100010800ff@1000,Bezug,kWh,total_in,1
1,77070100020800ff@1000,Einspeisung,kWh,total_out,1
1,77070100100700ff@1,Power,W,power_curr,0
#
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: Beta-User am 17 Februar 2024, 17:02:31
Zitat von: Apollon am 17 Februar 2024, 14:48:50Hat jemand eine Ahnung was ich falsch gemacht habe und genau die Readings fehlen, die ich brauche?
Die Werte aus dem SML-Script (das scheint zu passen, im Web-Interface des ESP sind die ja zu sehen) werden nur alle "teleperiode" übertragen => eigentlich ist nichts "falsch", du musst nur lange genug warten...

Anmerkungen:
- die "discovery"-Topics sollten ignoriert werden (=> Attribut am IO setzen!)
- die teleperiode zu ändern halte ich nicht für sehr zielführend, denn eigentlich willst du ja vermutlich "nur" häufiger den aktuellen Power-Wert haben? Dann einfach das script ändern, so dass alle x Sekunden genau das übermittelt wird (gibt irgendwo einen Thread von mir, wo etwas näher erläutert ist, wie das hier geht).
- die "alten" Topics kannst du aus der readingList werfen, da scheinst du nachträglich was geändert zu haben...
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: Apollon am 17 Februar 2024, 18:02:50
Lange genug gewartet und viel probiert habe ich. An der readingList habe ich schon einiges hin und her geändert. Inzwischen habe ich auch das Device gelöscht. Es ändert sich leider nichts. Ich komme leider nicht weiter. :'(
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: Beta-User am 17 Februar 2024, 18:07:21
Zitat von: Apollon am 17 Februar 2024, 18:02:50Lange genug gewartet und viel probiert habe ich. An der readingList habe ich schon einiges hin und her geändert. Inzwischen habe ich auch das Device gelöscht. Es ändert sich leider nichts. Ich komme leider nicht weiter. :'(
Wie steht denn "teleperiode"?
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: Apollon am 17 Februar 2024, 18:21:54
Du meist das hier?
18:17:18.594 MQT: stat/SmartMeter/RESULT = {"TelePeriod":120}
18:17:19.404 MQT: tele/SmartMeter/STATE = {"Time":"2024-02-17T18:17:19","Uptime":"0T00:21:17","UptimeSec":1277,"Heap":19,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":24,"MqttCount":1,"POWER":"OFF","Wifi":{"AP":1,"SSId":"NetzBM_Low","BSSId":"5C:49:79:40:5E:BF","Channel":6,"Mode":"11n","RSSI":100,"Signal":-18,"LinkCount":1,"Downtime":"0T00:00:03"}}
18:17:19.412 MQT: tele/SmartMeter/SENSOR = {"Time":"2024-02-17T18:17:19","":{"total_in":5251.9,"total_out":10317.9,"power_curr":440}}

In "tele/SmartMeter/SENSOR" steht alles was ich brauche. In den readingList steht auch SmartMeter:tele/SmartMeter/SENSOR:.* { json2nameValue($EVENT) } Nur werden die Werte nicht angezeigt.

Ich habe gedacht, dass ich MQTT soweit verstanden habe, aber ein typischer Fall von denkste.
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: Beta-User am 17 Februar 2024, 18:41:03
Zitat von: Apollon am 17 Februar 2024, 18:21:54Du meist das hier?
18:17:18.594 MQT: stat/SmartMeter/RESULT = {"TelePeriod":120}
18:17:19.404 MQT: tele/SmartMeter/STATE = {"Time":"2024-02-17T18:17:19","Uptime":"0T00:21:17","UptimeSec":1277,"Heap":19,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":24,"MqttCount":1,"POWER":"OFF","Wifi":{"AP":1,"SSId":"NetzBM_Low","BSSId":"5C:49:79:40:5E:BF","Channel":6,"Mode":"11n","RSSI":100,"Signal":-18,"LinkCount":1,"Downtime":"0T00:00:03"}}
18:17:19.412 MQT: tele/SmartMeter/SENSOR = {"Time":"2024-02-17T18:17:19","":{"total_in":5251.9,"total_out":10317.9,"power_curr":440}}

In "tele/SmartMeter/SENSOR" steht alles was ich brauche. In den readingList steht auch SmartMeter:tele/SmartMeter/SENSOR:.* { json2nameValue($EVENT) } Nur werden die Werte nicht angezeigt.

Ich habe gedacht, dass ich MQTT soweit verstanden habe, aber ein typischer Fall von denkste.
readingList manuell bearbeitet....?

Wirf mal die CID-Präfixe weg....
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: Apollon am 17 Februar 2024, 19:07:23
Alle CID-Präfixe sind weg (so wie im WiKi empfohlen). Den RPi und den ESP neu gestartet. Es werden immer noch keine Werte übermittelt.

Um auf meine ursprüngliche Frage zurück zu kommen. Habe ich etwas falsch im ESP falsch eingestellt. Muss man ggf. hier ansetzen?
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: romakrau am 18 Februar 2024, 12:37:07
Hallo Apollon,
lösche doch mal deine Readings und setzen deine Readingslist mal richtig.

Bei Mir sieht es z.B.: so aus:

DVES_9BF200:tele/Stromzaehler/LWT:.* LWT
DVES_9BF200:cmnd/Stromzaehler/POWER:.* POWER
DVES_9BF200:tele/Stromzaehler/INFO1:.* { json2nameValue($EVENT, 'INFO1_', $JSONMAP) }
DVES_9BF200:stat/Stromzaehler/RESULT:.* { json2nameValue($EVENT, 'RESULT_', $JSONMAP) }
DVES_9BF200:stat/Stromzaehler/POWER:.* POWER
DVES_9BF200:tele/Stromzaehler/STATE:.* { json2nameValue($EVENT, 'STATE_', $JSONMAP) }
DVES_9BF200:tele/Stromzaehler/SENSOR:.* { json2nameValue($EVENT, 'SENSOR_', $JSONMAP) }

Die Internal lauten:

   CID        DVES_9BF200
   DEF        DVES_9BF200
   FUUID      65b22611-f33f-e93f-eba9-47149ecdf439f5e6
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     54363
   NAME       MQTT2_DVES_9BF200
   NR         387
   STATE      Leistung: 222 Watt , GesamtkW: 130.385 Kw
   TYPE       MQTT2_DEVICE
   eventCount 27240
   myBroker_CONN myBroker_192.168.187.190_62361
   myBroker_MSGCNT 54363
   myBroker_TIME 2024-02-18 12:29:42
   .DT:
     DEVICETOPIC MQTT2_DVES_9BF200
   .attraggr:
   .attreocr:
     SENSOR_MT176_P
     SENSOR_MT176_E_in
   .attreour:
     statSENSOR_MT176_E_inHourLast
     statSENSOR_MT176_E_inDayLast
     statSENSOR_MT176_E_inMonthLast
     statSENSOR_MT176_E_inYearLast
     Stundenwert
   .attrminint:
   .userReadings:
     HASH(0x55c0766ff8)

Ausserdem fehlt in deienm Sricpt noch das Device bzw. der Name. Wie soll MQTT die Daten denn zuordnen.

+1,3,s,0,9600,<jsonPrefix>

<jsonPrefix>    Prefix for Web UI and MQTT JSON payload. Up to 7 characters.


Vielleicht hilft es ja.

Gruß Roman
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: Beta-User am 18 Februar 2024, 12:52:11
<jsonPrefix> ist sicher eine gute Idee, der Rest dürfte eher verwirren... 
(Wieso "complex" bzw. jsonMap, und da spielt wohl auch noch ein statistics mit)...
Titel: Aw: Stromzähler ablesen in Fhem
Beitrag von: Apollon am 18 Februar 2024, 14:11:01
Hallo,

vielen Dank für die unermüdliche Hilfe. Nun kommen auch die benötigten Werte.

Der Tipp von Roman war zielführend. Der <jsonPrefix> fehlte im Script. Nachdem ich nun ca. 15 Std. hin- und herprobiert habe und noch einmal im FHEM-Wicki alles durchforstet habe, musste es am Nachrichtensender liegen. Ich werde gleich in der SmartMeter-Anleitung von Tasmota danach suchen, ob ich es überlesen habe.

Gruß
Appolon