[gelöst] MQTT Restartprobelm bei Tasmota Script für Stromzähler

#7063826
Lesenswert?

Hallo,
ich habe mir den SLK mit einem ESP8266 aus dem folgenden Heiseartikel 
zugelegt um meinen Stromzähler auszulesen: 
https://www.heise.de/tests/Ausprobiert-Guenstiger-IR-Lesekopf-fuer-Smart-Meter-mit-Tastmota-Firmware-7065559.html
Das zugehörige Script habe ich mir zusammengegoogelt, dabei noch den 
Zählerbug korrigiert und den MQTT Versand hinzugefügt.
1
>D
2
e=0
3
p=0
4
min=0
5
>T
6
e=DVS74#energy
7
p=DVS74#power
8
>B
9
=>sensor53 r
10
>S
11
if p<0
12
then
13
  p=p+655.36
14
endif
15
=>publish %topic% %e%;%p%
16
>M 1
17
+1,3,s,16,9600,DVS74
18
1,77070100010800ff@1000,Energie,KWh,energy,2
19
1,77070100100700ff@1,Leistung,W,power,3
20
#

Das funktioniert alles wie gewollt wenn MQTT entsprechend konfiguriert 
ist, ich das Script in den Script Editor kopiere, 'Script enable' 
anwähle und den 'Save' button drücke. Sofort kommen die Daten beim 
Broker /(Raspberry PI mit mosquitto_sub) an. Ändere ich das Script und 
speichere es klappt auch das. Mache ich einen 'Restart' ist der Haken 
bei 'Script enable' danach weg und es kommen keine Daten, setzen ich 
dann den Haken wieder kommen die Daten, kommentiere ich die '=>publish' 
Zeile aus geht der Haken beim Restart nicht verloren. Ich vermute die 
Synchronisation zwischen dem SLK und dem MQTT Broker scheitert beim 
Restart. Nun ist es zwar nicht so, daß die Stromversorgung des SLK 
unsicher ist, es wäre mir jedoch lieber ein Restart würde ohne 
anschließende Reaktivierung des Scripts erfolgen. Wenn jemand einen Tipp 
hat wäre ich dankbar.

[Lösung]
Ich verschicke das Telegramm erst wenn der Wert für die Energie > 0 ist, 
dann klappt auch der Restart.
#7776829
Lesenswert?

Hallo Paul, ich habe heute deinen Artikel vom 13.05 22 auf microcontroller.net gelesen. Ich habe zur Zeit das gleiche Problem, dass der Haken bei "enable Skript" einfach verschwindet. Ich weiß nicht warum. Ich sehe es nur im Browser, wenn ich die Tasmota-Seite ohne die Werte sehe. Du hast es ja gelöst, indem du checkst, ob die Leistung mehr als 0W beträgt. Bei mir ist es etwas anders, ich habe einen Zweirichtungszähler, er zählt die Leistung und den Verbrauch einer PV-Anlage. Die erzeugte Energie wird mit einem Minuszeichen angezeigt wird. Nachts verbraucht der Wechselrichter 2 bis 3 Watt (dann ohne minus). Ich stelle mir vor, dass deine Lösung mit dem ungleich Null Watt bei mir nicht funktioniert, weil vermutlich 0 Watt so gut wie nie vorkommen. Es ist auch so, dass ich den Fehler schon mitten an einem sonnigen Tag mehrmals festgestellt habe. Da war die Leistung auf keinen Fall bei Null? Außerdem ist meine Lösung etwas anderes, nämlich so wie in diversen Youtube-Videos beschrieben. Da gibt es für viele Zähler ein vorgefertigtes Skript, das kopiert man einfach ein und aktiviert das Häkchen. Hast du da noch eine Idee, was das bei mir sein könnte? Merkwürdigerweise hat der ESP ein halbes Jahr ohne diesen Fehler funktioniert. Am Script wurde nichts geändert. In meinen Skript gibt es auch keinen Befehl publish. Das macht Tasmota automatisch. wenn man die Werte für den Broker eingestellt hat. Am Anfang war der Abstand zwischen zwei Übertragungen zu lang. Man kann das auf der Konsole mit einem Befehl einstellen, aber minimal sind es 10 Sekunden. Wenn ich mir dein Skript ansehe, ist es wohl so, dass bei dir jedes Mal gesendet wird, wenn der publish Befehl an der Reihe ist. Ich habe wenig Ahnung vom Programmieren. Mir sind ein paar kleine Sachen in deinen Skript aufgefallen. Die Variable "min" gibt es zwar, die wird auf Null gesetzt, aber ich kann sie dann im ganzen Skript nicht mehr finden. Was bewirkt die? Und was bedeutet die Addition der Leistung um 655,36? Ich hoffe, dass du noch im Forum unterwegs bist und meine Frage bemerkst. Es wäre sehr schön, wenn du mir antworten würdest. Auch wenn du keine Lösung für meinen Fall hast. Dein Beitrag ist der einzige zu dem Problem, den ich gefunden habe.

Mit freundlichen Grüßen Michael

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