Stromzähler ablesen in Fhem

Begonnen von Tommy82, 27 Februar 2019, 20:58:18

Vorheriges Thema - Nächstes Thema

Damian

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 :(
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Stephan27

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)

Damian

Du kannst an einem Tasmota-Device standardmäßig einen D0-Zähler und vier S0-Zähler anhängen
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Stephan27

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)

Damian

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.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Stephan27

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. :-/

Damian

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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Stephan27

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.

Damian

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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Stephan27

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...

Stephan27

#116
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

Sany

@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
fhem auf Zotac ZBox nano als LXC auf Proxmox, weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

Stephan27

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.

Stephan27

#119
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.