Tasmota und Zähler auslesen

Gast #7306910
Lesenswert?

Hallo Zusammen

Ich bin gerade bim einrichten des Tasmota-Wifi Lesekopfes in Verbindung mit einem Stromzähler mit der Bezeichnung "Elster AS1440". Gefunden habe ich das Script für den Zähler im Tasmota Wiki:

https://tasmota.github.io/docs/Smart-Meter-Interface/#elster-honeywell-as1440-obis

Nach Aktivierung des Scripts bekomme ich in der Tasmota-Konsole folgende Ausgaben:

1
19:41:05.018 var not found: sml(1 0 300)
2
19:41:05.020 var not found: sml(1 1 "2F3F210D0A")
3
19:41:06.720 var not found: sml(1 1 "063035300D0A")
4
19:41:07.064 var not found: sml(1 0 9600)
5
19:41:11.058 var not found: sml(1 0 300)
6
19:41:11.060 var not found: sml(1 1 "2F3F210D0A")
7
19:41:12.747 var not found: sml(1 1 "063035300D0A")
8
19:41:13.047 var not found: sml(1 0 9600)

Hierfür habe ich keine Lösung gefunden und deshalb habe ich einen anderen Weg eingeschlagen und versucht über die Standard-Kommandos ein Script zusammen zu bauen. Das sieht dann so aus:

1
>D
2

3
>B
4
=>sensor53 r
5

6
>M 1
7
+1,3,o,0,300,AS1440,1,10,2F3F210D0A,01423003710D0A
8
1,1.7.0(@0.001,Power In,W,power_in,16
9
1,1.8.0(@1,Total In,KWh,Total_in,1
10
1,2.7.0(@0.001,Power Out,W,power_out,16
11
1,2.8.0(@1,Total Out,KWh,Total_out,1
12
#

Mit diesem Code kann ich Ausgaben in der Console sehen. Leider ist die Menge der Ausgaben so groß, das es ca. 4 Minuten dauert, bis die Übertragung beendet wird, oder am Ende dann immer nur das ausgegeben wird:

1
/ELS4\@V9.30

Nun habe ich versucht über ein zusätzlichen Befehl (01523502312E372E3028290351) nur einzelne OBIS-Kennung auszulesen mit folgendem Script:

1
>D
2

3
>B
4
=>sensor53 r
5

6
>M 1
7
+1,3,o,0,300,AS1440,1,10,2F3F210D0A,01523502312E372E3028290351,01423003710D0A
8
1,1.7.0(@0.001,Power In,W,power_in,16
9
1,1.8.0(@1,Total In,KWh,Total_in,1
10
1,2.7.0(@0.001,Power Out,W,power_out,16
11
1,2.8.0(@1,Total Out,KWh,Total_out,1
12
#

Den Hinweis habe ich hier entnommen: https://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/elster_as1440

Nun zu meiner Fragen:

  1. Was ist bei meiner Tasmota Konfiguration falsch, das die erste Variante mit der Fehlerausgabe "var not found: sml(1 0 300)" nicht funktioniert
  2. Kann jemand Hinweise geben, die Skripte erfolgreich in Betrieb zu nehmen?

Danke allen Lesern im Voraus.

Gast #7341376
Lesenswert?

Hallo Micha,

hast Du das Problem lösen können? Ich habe so ziemlich das gleiche Fehlerbild mit meinem AS1440. Das Skript von der Tasmota-Seite bringt andauernd "var not found: sml". Jeder Versuch mit 300 Baud zu lesen endet mit "/ELS5@V9.35".

Hast Du einen Tipp?

Danke im Voraus

(Firma: Dem Ben seine Leiche) #7341430
Lesenswert?

Dustin schrieb:

Tasmota

Im Moment gibt es mit der aktellen Tasmotaversion wohl üble Probleme! Die Lösung wird kaum angestrebt sondern Tehos Kettenhund Jason bügelt alle Abfragen wegen Crashes weg mit Spannungen. So kann man nicht auf einen grünen Zweig kommen! Ging doch jahrelang! Nun zieht man sich auf als Fürsprecher des "Original" Bauteils.

Nimm keinesfalls eine Version vom Programm der neueren Zeit wenn du nicht nötig hast das zu verwenden. Nimm eine gute. So wie 11 oder 10.

Oder kauf Originalprofi-Hardware deren Herkunft man noch schuldig zu sein scheint.

Geh zum ToiSchwitch vom Tobi! Da ist der Mensch noch Mensch und nicht der letzte A*rsch der abgedroschen werden muss! Beitrag "TOISWITCH - IoT I/O-Server für ESP8266"

#7358813
Lesenswert?

Hallo zusammen,

die Lösung ist einfach wie simpel. Ihr benötigt eine neuere Tasmota Firmware auf euren Leseköpfen. Ich kann sagen, dass Version 12.1.1 für mich funktioniert. Diese unterstützt die Verwendung von Variablen im Skript. Finden könnt ihr die benötigte Firmware in der Beschreibung des YouTube-Videos "tasmota auf Lesekopf flashen" des Kanals "krach b". In Minute 7 des genannten Videos wird dargestellt, wie ihr ein Upgrade durchführt. https://youtu.be/RbyXqJiBC8Q

Anschließend könnt ihr das Skript passend für euren Zähler von https://tasmota.github.io/docs/Smart-Meter-Interface/ kopieren.

Ich selber habe den Elster AS1440.

Wenn die Variablen funktionieren, wird die Baudrate auf 9600 erhöht. Die Aktualisierung der Werte dauert anschließend ca. 20 Sekunden

#7390004
Lesenswert?

Marcus schrieb:

Hallo zusammen,

die Lösung ist einfach wie simpel. Ihr benötigt eine neuere Tasmota Firmware auf euren Leseköpfen. Ich kann sagen, dass Version 12.1.1 für mich funktioniert. Diese unterstützt die Verwendung von Variablen im Skript. Finden könnt ihr die benötigte Firmware in der Beschreibung des YouTube-Videos "tasmota auf Lesekopf flashen" des Kanals "krach b". In Minute 7 des genannten Videos wird dargestellt, wie ihr ein Upgrade durchführt. https://youtu.be/RbyXqJiBC8Q

Anschließend könnt ihr das Skript passend für euren Zähler von https://tasmota.github.io/docs/Smart-Meter-Interface/ kopieren.

Ich selber habe den Elster AS1440.

Wenn die Variablen funktionieren, wird die Baudrate auf 9600 erhöht. Die Aktualisierung der Werte dauert anschließend ca. 20 Sekunden

Hi Marcus, kannst du mal deine Konfig für den AS1440 posten? Ich bekomme das Teil leider nicht zum Laufen. Die Werte sind immer nur 0.0 bei mir. Danke im Voraus! --M.

#7437820
Lesenswert?

Hi Marcus,

so ganz passen die Werte, die der Zähler anzeigt, mit dem ausgelesenen Wert nicht überein. Passt das bei Dir? Werte kommen konstant und ohne Fehler. Musste aber doch ein paar Anpassungen machen, da die Netzbetreiber gerne ihre eigene "Version" da rein programmieren lassen.... Habe mal mit den einzelnen Werten rumgespielt, aber so ganz deckt sich das nicht mit den Werten die von der PV Anlage kommen. Da spielen aber Latenz und die Berechnung der 3 Phasen mit rein. Deshalb weiß ich nicht 100% welchen Werten man da wirklich trauen kann.

mein Skript sieht so aus:

D scnt=0 res=0 B =>sensor53 r

F ; count 100ms scnt+=1 switch scnt

;300ms after start: set sml driver to 300 baud and send /?! as HEX to trigger the Meter case 3 res=sml(1 0 300) res=sml(1 1 "2F3F210D0A")

;1700ms later: Ack and ask for switching to 9600 baud case 20 res=sml(1 1 "063035300D0A")

;300ms later: switch sml driver to 9600 baud case 23 res=sml(1 0 9600)

;6000ms after start: Restart sequence case 60 scnt=0

ends

M 1

+1,3,o,0,9600,AS1440,1

1,0.0.1(@1,Zählernummer,,Meter_number,0 1,1-1:1.7.0(@0.001,Leistung Bezug,W,power_in,16 1,1.8.0(@1,Total Bezug,KWh,Total_in,1 1,1-1:2.7.0(@0.001,Leistung Erzeugung,W,power_out,16 1,2.8.0(@1,Total Erzeugung,KWh,Total_out,1

#7454848
Lesenswert?

Moin,

Ben H. schrieb:

Hi Marcus,

so ganz passen die Werte, die der Zähler anzeigt, mit dem ausgelesenen Wert nicht überein. Passt das bei Dir? Werte kommen konstant und ohne Fehler. Musste aber doch ein paar Anpassungen machen, da die Netzbetreiber gerne ihre eigene "Version" da rein programmieren lassen.... Habe mal mit den einzelnen Werten rumgespielt, aber so ganz deckt sich das nicht mit den Werten die von der PV Anlage kommen. Da spielen aber Latenz und die Berechnung der 3 Phasen mit rein. Deshalb weiß ich nicht 100% welchen Werten man da wirklich trauen kann.

mein Skript sieht so aus:

to 9600 baud

case 23 res=sml(1 0 9600)

;6000ms after start: Restart sequence case 60 scnt=0

ends

M 1

+1,3,o,0,9600,AS1440,1

1,0.0.1(@1,Zählernummer,,Meter_number,0 1,1-1:1.7.0(@0.001,Leistung Bezug,W,power_in,16 1,1.8.0(@1,Total Bezug,KWh,Total_in,1 1,1-1:2.7.0(@0.001,Leistung Erzeugung,W,power_out,16 1,2.8.0(@1,Total Erzeugung,KWh,Total_out,1

Moin, die oben aufgeführte Code ist ja sehr nah an dem Code von der Tasmoata Seite. Bei mir funktioniert das grundlegend auch mit einem A 1500, der gibt allerdings im default leider nicht die Leistung mit raus, sondern nur unter den EVU Einstellungen. EVU Passwort und die Alphaset Software steht mir zur Verfügung, da es sich um keinen öffentlichen Zähler handelt. Nun zur Frage: Damit man alle Daten vermutlich erhält, muss man dann ich nenne Ihn mal den EVU Modus ja aufrufen. Dann mir da vielleicht jemand von Euch helfen?

Vielen Dank!

#7455208
Lesenswert?

Moin, ich habe noch etwas probiert. Auf der unten aufgeführten Seite sind

indem man den code /?!\r\n sendet (hex 2F 3F 21 0D 0A)
--> Zählerstände werden ausgegeben

Alternativ kann die Kommunikation statt mit /?!\r\n manchmal auch mit /2!\r\n (hex 2F 32 21 0D 0A) angestoßen werden. --> dann werden bei mir die Spannung und Ströme...ausgeben.

Eigentlich würde ich gerne beides haben. Gibt es hierzu eine Möglichkeit? Danke!

[[https://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/elster_as1440]]

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren