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.