Tasmota Rule - telemetria i odchudzanie bazy danych

Cześć. Jak odchudzić bazę danych? Czyli - tasmoty wysyłamy dane do HA tylko jak jest zmiana o określony stan a nie co jakiś ustalony czas! :slight_smile:
Temat dotyczy Rule w tasmotach, zmieniłem na jednej tasmocie 8 czujników i baza za jedną noc schudła o prawie 200mb

Poniżej gotowe kody do wpisania w konsoli, pamiętać, linijki wklejamy do consoli każda osobno!

#włączanie reguł
Rule1 1
Rule2 1 
Rule3 3  
#wyłączanie reguł - w razie problemów.
Rule1 0 
Rule2 0
Rule3 0 

Sonoff Pow R2 raportowanie przy zmianie o 2 W - okazało się że to prosty temat…

PowerDelta 102

PowerDelta
0 = wyłącz raportowanie o zmianie zasilania
1…100 = ustaw raportowanie procentowej zmiany mocy, aby wysłać wiadomość telemetryczną MQTT
101…32000 = ustaw raportowanie zmiany mocy bezwzględnej w celu wysłania komunikatu telemetrycznego MQTT (przesunięcie o 100, np. 101=1W, 207=107W


Czujnik na piecu max 6675 - zmiana o 1℃
oraz na buforze 7x ds18b20 postawione na wemos d1 mini zmiana o 0,4℃

Rule1 ON DS18B20-1#Temperature>%var1% DO Backlog var1 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-1":{"Temperature":%value%}}; var2 %value%; add1 0.4; sub2 0.4 ENDON 
Rule1 + ON DS18B20-1#Temperature<%var2% DO Backlog var2 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-1":{"Temperature":%value%}}; var1 %value%; add1 0.4; sub2 0.4 ENDON
Rule1 + ON DS18B20-2#Temperature>%var3% DO Backlog var3 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-2":{"Temperature":%value%}}; var4 %value%; add3 0.4; sub4 0.4 ENDON 
Rule1 + ON DS18B20-2#Temperature<%var4% DO Backlog var4 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-2":{"Temperature":%value%}}; var3 %value%; add3 0.4; sub4 0.4 ENDON
Rule1 + ON DS18B20-3#Temperature>%var5% DO Backlog var5 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-3":{"Temperature":%value%}}; var6 %value%; add5 0.4; sub6 0.4 ENDON 
Rule1 + ON DS18B20-3#Temperature<%var6% DO Backlog var6 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-3":{"Temperature":%value%}}; var5 %value%; add5 0.4; sub6 0.4 ENDON
Rule2 + ON DS18B20-4#Temperature>%var7% DO Backlog var7 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-4":{"Temperature":%value%}}; var8 %value%; add7 0.4; sub8 0.4 ENDON 
Rule2 + ON DS18B20-4#Temperature<%var8% DO Backlog var8 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-4":{"Temperature":%value%}}; var7 %value%; add7 0.4; sub8 0.4 ENDON
Rule2 + ON DS18B20-5#Temperature>%var9% DO Backlog var9 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-5":{"Temperature":%value%}}; var10 %value%; add9 0.4; sub10 0.4 ENDON 
Rule2 + ON DS18B20-5#Temperature<%var10% DO Backlog var10 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-5":{"Temperature":%value%}}; var9 %value%; add9 0.4; sub10 0.4 ENDON
Rule2 + ON DS18B20-6#Temperature>%var11% DO Backlog var11 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-6":{"Temperature":%value%}}; var12 %value%; add11 0.4; sub12 0.4 ENDON 
Rule2 + ON DS18B20-6#Temperature<%var12% DO Backlog var12 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-6":{"Temperature":%value%}}; var11 %value%; add11 0.4; sub12 0.4 ENDON
Rule3 + ON DS18B20-7#Temperature>%var13% DO Backlog var13 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-7":{"Temperature":%value%}}; var14 %value%; add13 0.4; sub14 0.4 ENDON 
Rule3 + ON DS18B20-7#Temperature<%var14% DO Backlog var14 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","DS18B20-7":{"Temperature":%value%}}; var13 %value%; add13 0.4; sub14 0.4 ENDON
Rule3 + ON MAX6675#Temperature>%var15% DO Backlog var15 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","MAX6675":{"Temperature":%value%}}; var16 %value%; add15 1; sub16 1 ENDON 
Rule3 + ON MAX6675#Temperature<%var16% DO Backlog var16 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","MAX6675":{"Temperature":%value%}}; var15 %value%; add15 1; sub16 1 ENDON
Rule1 1
Rule2 1
Rule3 1

Ultradźwiękowy czujnik odległości - zamontowany na zbiorniku wody, zmiana stanu co 0,5cm

Rule1 ON SR04#Distance>%var1% DO Backlog var1 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","SR04":{"Distance":%value%}}; var2 %value%; add1 0.5; sub2 0.5 ENDON 
Rule1 + ON SR04#Distance<%var2% DO Backlog var2 %value%; Publish tele/%topic%/SENSOR {"Time":"%timestamp%","SR04":{"Distance":%value%}}; var1 %value%; add1 0.5; sub2 0.5 ENDON
Rule1 1

Zaimplementowałem to wszędzie, a logowanie danych dziennika zmieniłem na 900s, w urządzeniach krytycznych miałem ustawione co 10s, a to naprawdę spora ilość danych w ciaggu 24h dla HA do zapisania… i baza puchnie.
Jak coś macie jeszcze to zachęcam do podzielenia się. :slight_smile:

edit
po 4 dniach tyle zyskałem na wadze bazy :sunglasses:

3 polubienia