Die von tasmota (Stromzähler) empfangenen Daten reduzieren?

Begonnen von Ralf9, 13 August 2022, 15:56:24

Vorheriges Thema - Nächstes Thema

Ralf9

Hallo,

wir haben vor kurzem einen neuen Stromzähler (DTZ541) bekommen. Die Daten lese ich mit tasmota und einem IR Lesekopf aus.
In fhem habe ich einen MQTT2_SERVER definiert.
In tasmota verwende ich das folgende script:
>D
>B
->sensor53 r
>M 1
+1,3,s,16,9600,SML
1,77070100600100ff@#,Server ID,,server_id,0
1,77070100010800ff@1000,Consumption (Total),kWh,total_kwh,4
1,77070100100700ff@1,Consumption (Current),W,curr_w,0
#


Im log Telemetry period habe ich 600 eingestellt.

Nun bekomme ich alle 10 Min recht viele readings. Um zu sehen welche Daten übertragen werden, habe beim MQTT2_SERVER das verbose auf 5 gestellt.

Die Werte wo mich interessieren
SML_server_id
SML_total_kwh
SML_curr_w
sind in tele/tasmota_5562F0/SENSOR

Es werden aber noch in "tele/tasmota_5562F0/STATE" viele andere Daten übertragen, die ich nicht alle 10 Min benötige
z.B.
Wifi_...
Time..
Uptime..

Lässt es sich in tasmota konfigurieren, daß die tele/tasmota_5562F0/STATE nicht mehr bei der Telemetry period mit übertragen werden?

Gruß Ralf


FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Ralf9

Da es evtl besser nach "- Bastelecke - ESP8266" passt, verschiebe ich es dorthin
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

DetlefR

Wenn dich  "tele/tasmota_5562F0/STATE" nicht interessiert, dann abonniere es doch einfach nicht.
Soviel Last erzeugt der kurze Json alle 10 min nicht.
Ich glaube nicht, dass sich die Funktion einzeln abschalten lässt.

TomLee

#3
Ok, noch jemand der dann nicht abonnieren in Betracht ziehen würde und der Meinung ist das man den STATE-Zweig nicht abstellen kann. Den Json manipulieren,  auf die nur relevanten Werte  und ggf. dann mit event-on-updatechange-reading zu arbeiten wär vlt. auch eine Variante, kann ich mir vorstellen.

Das wär dann aber wieder ein MQTT-Thema  ;D

Ich hab mich mit dem Thema bisher noch nicht beschäftigt, aber mal kurz hier reingeschnuppert.

Auf was bezieht sich die Periode in den anderen Skripten, die einmal mit tper=x und einmal mit TelePeriod x definiert werden, das hab ich noch nicht verstanden, geht das in deinem nicht ?

In deinem Skript gibts keine Angabe zur Periode, wird dann vlt. nur zum mit  teleperiod angegebenen Wert übertragen und mit einer der Angaben zusätzlich zu teleperiod x ?  Dann könnte man teleperiod noch  höher setzen (und das zusätzlich iVm. event-on-updatechange-reading und vlt. manipulieren des Json).

Ralf9

#4
Ich habe es inzwischen hinbekommen. Ich mache es mit einem tasmota script.
Dazu deaktiviere ich die Telemetry period mit 0

Im script sende ich die Werte mit Publish
=>Publish tasmota_5562F0/SML_total_kwh %4kwh%
=>Publish tasmota_5562F0/SML_curr_w %0currW%


Damit ist es dann möglich, daß ich die SML_total_kwh und SML_curr_w alle 10 Min sende.
Wenn sich die SML_curr_w innerhalb der 10 Min z.B. um mehr als 100W ändert, kann ich sie auch öfters senden.
Oder innerhalb einer Minute den Mittelwert der curr_w bilden, indem jede Sekunde die curr_w addiert und dann durch die Anzahl geteilt werden.

Gruß Ralf



FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7