Tasmota, Reguła do ...
 
Powiadomienia
Wyczyść wszystko

Pytanie Tasmota, Reguła do wysyłania odczytów z ADC pH do Domoticza

irekdz1
(@irekdz1)
Młodzik

Witam,

Po udanym skalibrowaniu sondy Ph przyszedł czas na wysłanie odczytów do Domoticza... i tu zaczeły się schody.

Czy ktoś z kolegów może pomóc jak napisać taką regółę? Czytałem, próbowałem i nic nie działa.

 

Rule1
  ON analog#a0 DO publish domoticz/in {"idx":9,"%value%"} ENDON

 

Cytuj
Autor tematu Dodane : 30/04/2021 10:09 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

@irekdz1 jesteś blisko 

rule on Tele-ANALOG#A0 do publish domoticz/in {"idx":9,"nvalue":0,"svalue":"%value%"} endon

i trzeba włączyć regułę 

rule1 1
OdpowiedzCytuj
Dodane : 01/05/2021 11:09 am
irekdz1
(@irekdz1)
Młodzik

Reguła ruszyła ale w domoticzu nie mam odczytów. Ustawiony mam "Custom sensor".

W konsoli tasmoty mam takie dane:

23:43:31.169 CMD: rule1 1 rule on Tele-ANALOG#A0 do publish domoticz/in {"idx":9,"nvalue":0,"svalue":"%value%"} endon
23:43:31.177 MQT: stat/tasmota_7660E3/RESULT = {"Rule1":{"State":"ON","Once":"OFF","StopOnError":"OFF","Length":86,"Free":425,"Rules":"on Tele-ANALOG#A0 do publish domoticz/in {\"idx\":9,\"nvalue\":0,\"svalue\":\"%value%\"} endon"}}
23:44:04.388 MQT: tele/tasmota_7660E3/STATE = {"Time":"2021-05-01T23:44:04","Uptime":"0T12:25:12","UptimeSec":44712,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"Aquarium-id1","BSSId":"D8:47:32:0B:F6:22","Channel":3,"RSSI":62,"Signal":-69,"LinkCount":1,"Downtime":"0T00:00:04"}}
23:44:04.402 MQT: tele/tasmota_7660E3/SENSOR = {"Time":"2021-05-01T23:44:04","ANALOG":{"pH0":6.81}}

 

OdpowiedzCytuj
Autor tematu Dodane : 01/05/2021 11:49 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

Ta reguła wysyła do domoticz surowe dane z ADC (analog)

OdpowiedzCytuj
Dodane : 02/05/2021 8:06 am
irekdz1
(@irekdz1)
Młodzik

@isom, Czyli mam rozumieć że nie odczytam w domoticzu wartości Ph?

A odczyt surowych danych to ADC 0-1024? Jeśli tak to jak je odczytać w domoticzu?

OdpowiedzCytuj
Autor tematu Dodane : 02/05/2021 6:08 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

@irekdz1 Pewnie odczytasz ale nie podajesz nic sensownego żeby wyciągnąć wnioski , prosiłeś o regułę do wysyłania wartości surowych danych do domoticz i taką podałem .

Jak w tasmota ustawisz na ADC surowe dane to CustomSensor z idx 9 musi je odebrać , a w tasmota dostaniesz coś w tym  stylu 

17:22:47 MQT: domoticz/in = {"idx":119,"nvalue":0,"svalue":"202"}

Tylko idx będzie 9 a nie 119

OdpowiedzCytuj
Dodane : 02/05/2021 6:25 pm
irekdz1
(@irekdz1)
Młodzik
  • @isom  Masz rację więc zacznę od początku. Zrobiłem sterownik do akwarium na ESP8266 i wgrałem Tasmotę 9.4.0 (knx). Obsługuje on 3 przekaźniki, 3 włączniki, termometr DS18B20 (aktualnie nie podłączony) i Ph-meter PH-4502C (analogowy). Ph-meter skalibrowałem według dokumentacji Tasmota i działa dobrze wyświetlając wartości na stronie Tasmota. Mam też Domoticza postawionego na Raspberry Pi Zero W, który ma docelowo obsługiwać sterowniki do akwarium, sterowniki oświetlenia itp. Włączniki do przekaźników w Domoticzu działają. Do odczytu pH w Tasmocie A0 mam ustawione na ADC pH. (dostępne chyba od poprzedniej wersji).
  • Problemem dla mnie jest jak wysłać odczyt wartości pH z Tasmota do Domoticza 😭. Mam nadzieję że nie przesadziłem z opisem 😉. 
  •  
OdpowiedzCytuj
Autor tematu Dodane : 02/05/2021 9:12 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

@irekdz1 jeżeli w tasmota ten czujnik się przedstawia jako pH0 to w takiej samej regule musisz zmienić

rule on Tele-ANALOG#A0

na 

rule on Tele-ANALOG#pH0
OdpowiedzCytuj
Dodane : 02/05/2021 10:01 pm
irekdz1
(@irekdz1)
Młodzik

@isom

Dalej nie działa 😔 . Zwróć uwagę że wpisałem w rule ANALOG#pH0, a zwróciło ANALOG#A0 i brak odpowiedzi z Domoticza.

Czy testowałeś ten kod u siebie i działa ? Bo ja już nie mam pojęcia co źle robię. może inną wersję Tasmoty wgrać.

Takie mam dane z konsoli:

22:28:46.992 CMD: Rule1 1 Rule ON Tele-ANALOG#pH0 DO publish domoticz/in {"idx":9,"nvalue":0,"svalue":"%value%"} ENDON
22:28:46.000 MQT: stat/tasmota_9E5860/RESULT = {"Rule1":{"State":"ON","Once":"OFF","StopOnError":"OFF","Length":51,"Free":460,"Rules":"ON analog#a0 DO publish domoticz/in {\"idx\":9} ENDON"}}
22:30:09.450 MQT: tele/tasmota_9E5860/STATE = {"Time":"2021-05-02T22:30:09","Uptime":"0T00:05:11","UptimeSec":311,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":34,"MqttCount":1,"Wifi":{"AP":1,"SSId":"Aquarium-id1","BSSId":"D8:47:32:0B:F6:22","Channel":3,"RSSI":30,"Signal":-85,"LinkCount":1,"Downtime":"0T00:00:03"}}
22:30:09.480 MQT: tele/tasmota_9E5860/SENSOR = {"Time":"2021-05-02T22:30:09","ANALOG":{"pH0":20.89}}
22:34:59.412 APP: Serial logging disabled
22:35:09.454 MQT: tele/tasmota_9E5860/STATE = {"Time":"2021-05-02T22:35:09","Uptime":"0T00:10:11","UptimeSec":611,"Heap":22,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"Aquarium-id1","BSSId":"D8:47:32:0B:F6:22","Channel":3,"RSSI":28,"Signal":-86,"LinkCount":1,"Downtime":"0T00:00:03"}}
22:35:09.466 MQT: tele/tasmota_9E5860/SENSOR = {"Time":"2021-05-02T22:35:09","ANALOG":{"pH0":145411312.00}}
OdpowiedzCytuj
Autor tematu Dodane : 02/05/2021 10:51 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

Nie mam takiego czujnika więc nie testowałem  spróbuj 

Rule on tele-9E5860#SENSOR do publish domoticz/in {"idx":9,"nvalue":0,"svalue":"%value%"} endon
OdpowiedzCytuj
Dodane : 02/05/2021 11:03 pm
irekdz1
(@irekdz1)
Młodzik

Cześć @isom, nie działa ☹️ 

To mam w konsoli:

18:40:13.053 CMD: Rule1 1 Rule on tele-9E5860#SENSOR do publish domoticz/in {"idx":9,"nvalue":0,"svalue":"%value%"} endon
18:40:13.063 MQT: stat/tasmota_7660E3/RESULT = {"Rule1":{"State":"ON","Once":"OFF","StopOnError":"OFF","Length":86,"Free":425,"Rules":"on Tele-ANALOG#A0 do publish domoticz/in {\"idx\":9,\"nvalue\":0,\"svalue\":\"%value%\"} endon"}}
18:43:38.506 MQT: tele/tasmota_7660E3/STATE = {"Time":"2021-05-03T18:43:38","Uptime":"0T00:05:12","UptimeSec":312,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"Aquarium-id1","BSSId":"D8:47:32:0B:F6:22","Channel":3,"RSSI":44,"Signal":-78,"LinkCount":1,"Downtime":"0T00:00:04"}}
18:43:38.542 MQT: tele/tasmota_7660E3/SENSOR = {"Time":"2021-05-03T18:43:38","ANALOG":{"pH0":6.78}}
18:45:08.500 MQT: stat/tasmota_7660E3/RESULT = {"POWER1":"ON"}
18:45:08.503 MQT: stat/tasmota_7660E3/POWER1 = ON
18:45:11.586 MQT: stat/tasmota_7660E3/RESULT = {"POWER2":"ON"}
18:45:11.589 MQT: stat/tasmota_7660E3/POWER2 = ON
18:45:13.320 MQT: stat/tasmota_7660E3/RESULT = {"POWER3":"ON"}
18:45:13.323 MQT: stat/tasmota_7660E3/POWER3 = ON
18:48:28.491 APP: Serial logging disabled
18:48:38.477 MQT: tele/tasmota_7660E3/STATE = {"Time":"2021-05-03T18:48:38","Uptime":"0T00:10:12","UptimeSec":612,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"ON","POWER2":"ON","POWER3":"ON","Wifi":{"AP":1,"SSId":"Aquarium-id1","BSSId":"D8:47:32:0B:F6:22","Channel":3,"RSSI":32,"Signal":-84,"LinkCount":1,"Downtime":"0T00:00:04"}}
18:48:38.491 MQT: tele/tasmota_7660E3/SENSOR = {"Time":"2021-05-03T18:48:38","ANALOG":{"pH0":6.78}}

Bez czujnika też wyświetla wartości pH, tylko skaczą.

Jak byś znalazł chwilkę czasu i chęci by sprawdzić w praktyce u siebie to był bym bardzo wdzięczny 🤗 

OdpowiedzCytuj
Autor tematu Dodane : 03/05/2021 7:02 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

@irekdz1 tylko że ty nic nie zmieniłeś , zobacz na drugi wiersz w tym logu , który wstawiłeś , reguła dalej chce wysyłać analog#a0

Powinieneś wykasować starą regułę , dodać nową i uruchomić nową 

Kasowanie reguły to

Rule1 "
OdpowiedzCytuj
Dodane : 03/05/2021 7:22 pm
irekdz1
(@irekdz1)
Młodzik

@isom... jesteś wielki 🤩 

Reguła działa, nie kasowałem starej (nawet nie wiedziałem że się ją kasuje 😱 ) bo wydawało mi się że ona się nadpisuje. No ale człowiek uczy się całe życie i ..... .

Użyłem tej reguły i do Domoticza są wysyłane wartości pH.

Rule ON Tele-ANALOG#pH0 DO publish domoticz/in {"idx":9,"nvalue":0,"svalue":"%value%"} ENDON

Może jeszcze komuś się to przyda.

@isom jeszcze raz wielkie dzięki 😀 

OdpowiedzCytuj
Autor tematu Dodane : 03/05/2021 8:24 pm
Udostępnij: