Parsowanie JSONa z ...
 
Powiadomienia
Wyczyść wszystko

Parsowanie JSONa z AM2302 w HA 2.4.1 T2

19 Wpisów
4 Użytkownicy
2 Reactions
1,724 Wyświetleń
(@l3m4r)
Wpisów: 183
Weteran Donator 2K21 Donator 2K18
Autor tematu
 

Cześć w Nowym Roku.

Próbuję przeparsować dane z JSONa w HA: {"temperature":{"value":22.2,"unit":"C"},"humidity":{"value":51.2,"unit":"%"},"absoluteHumidity":{"value":10.05,"unit":"%"},"heatIndex":{"value":21.81,"unit":"C"},"dewPoint":{"value":11.66,"unit":"C"},"perception":{"value":1,"description":"Very comfortable"},"comfort":{"value":0,"ratio":100.00,"unit":"%","description":"OK"}}.

Jak Waszym zdaniem najlepiej obrobić dane z sensora w HA: a) zdefiniować osobno każdy czujnik wyłuskując wartość przez value_template, czy jest b) możliwość wczytania całej struktury danych zJSONa i potem w regułach adresowanie poszczególnych wartości poprzez 'temperature.value' (o ile to możliwe)?

To co niżej mi nie działa - na Lovelace HA jest info przy sensorze "Unavailable". spodziewam się, że to problem nie z parsowaniem, a samym sięganiem do danych. Z tego co widzę dane wpadają na MQTT prawidłowo co kilka sekund.

BTW, jak to działa? Skoro AFE samo wypycha dane do MQTT co zdefiniowany okres czasu, to rozumiem, że nie trzeba ich pobierać komunikatem "cmd/get"?

platformmqtt
  name"140.Temperatura"
  state_topic"SNF140/dht"
  availability_topic"SNF140/lwt"
  value_template"{{ value_json.temperature.value }}"
  unit_of_measurement"°C"
 
Dodane : 01/01/2021 11:12 pm
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 
Dodane przez: @l3m4r

 

BTW, jak to działa? Skoro AFE samo wypycha dane do MQTT co zdefiniowany okres czasu, to rozumiem, że nie trzeba ich pobierać komunikatem "cmd/get"?

AFE wypycha do brokera dane z interwałem zdefiniowanym w konfiguracji. Normalnie nie ma potrzeby wołać "get" 

 
Dodane : 01/01/2021 11:22 pm
(@l3m4r)
Wpisów: 183
Weteran Donator 2K21 Donator 2K18
Autor tematu
 

Hm, już drugi AM2302 mi padł - mam opornik 10K między dane i VCC, a zasilanie z 5V (na 3.3V nie było odczytów).

Zauważyłem, że w takiej sytuacji AFE przestaje w ogóle wypychać dane do MQTT, tzn. nie wstawia nawet wartości zero, która jest w JSONie, gdy się wyśle cmd/get.

edit: Jednak nie padł, po kilku godzinach przerwy (bez zasilania) działa, ale to dziwne, że dokładnie taki sam objaw na dwóch różnych DHT i jednym sonoffie (re5v1c). Po kilkudziesięciu minutach restart i znów wisi. Robię drugi taki sam zestaw, żeby zreplikować.

 
Dodane : 02/01/2021 12:44 am
(@edass)
Wpisów: 213
Weteran
 

Miałem podobną sytuacje - brak odczytów z DHT22 .

Miałem tak na dwóch zestawach Sonoff RF z AFE na pokładzie. Wyglądało na to , że padają czujniki DHT22 ale okazało się, że wystarczy odłączyć całego Sonoff od zasilania na 2-3 minuty i odczyty wracały. Idąc dalej - nie wiem co się się stało ale od kilku m-cy wszystko działa jak należy.

 
Dodane : 02/01/2021 2:35 pm
(@l3m4r)
Wpisów: 183
Weteran Donator 2K21 Donator 2K18
Autor tematu
 

Dzięki za info.

Ten sam czujnik DHT, który zasilany zarówno z 3.3V jak i 5V sprawiał problemy na Sonoffie RE5v1c działa bez problemu 230V Sonoff Basic na 3.3V od ponad godziny. Komunikaty są cyklicznie wstawiane do MQTT i mają poprawną wartość.

Drugi egzemplarz RE5v1c nie wstawia komunikatów do MQTT i na żądanie zwraca 0C, czyli objaw się powtarza. Nie jest to problem z zasilaniem - zarówno zasilanie tego Sonoffa jak i napięcie na DHT ma stabilne 5V.    

 
Dodane : 02/01/2021 3:24 pm
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 

@l3m4r, @edass czy ten czujnik nie mają przypadkiem nadruku ANSRI ?

 
Dodane : 02/01/2021 6:45 pm
(@edass)
Wpisów: 213
Weteran
 

Mam 4 szt. tych czujników (kupowane u różnych chińczyków 😉 ) i niestety już je zdążyłem wymieszać. Nie wiem , które sprawiały problemy ale aktualnie wszystkie 4 od kilku m-cy działają poprawnie ( 2 szt. z Sonoff RF i AFE oraz 2szt z NodeMCU i Tasmotą). Dodam, że nie zmieniałem softu ani ustawień w tych Sonoff z AFE - same się naprawiły 😉 .

 

 
Dodane : 02/01/2021 8:00 pm
(@l3m4r)
Wpisów: 183
Weteran Donator 2K21 Donator 2K18
Autor tematu
 

Nie, ale mają nadruk "ASAIR".

BTW, z Tasmota nie zauważyłem na razie problemu.

 
Dodane : 02/01/2021 8:00 pm
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 

Tutaj jest do przeczytania oglądnięcia o dziwnych zrachowaniach ASAIR, występowały w Suply i u mnie w AFE - odłączenie zasilania rozwiązywało problem na jakiś czas) @espablo sugeruje na YT spróbować na innym gpio podłączyć go. Ja generalnie sugeruje nie kupowanie tej produkcji. 

 

 
Dodane : 02/01/2021 8:21 pm
(@l3m4r)
Wpisów: 183
Weteran Donator 2K21 Donator 2K18
Autor tematu
 

Sprawdzałem na GPIO01 i GPIO02, taki sam objaw. Cóż, bywa i tak, na szczęście wiele to nie kosztowało, będzie trzeba w czajna kupić z 5-10 szt. z innej serii. 

Edit: W Tasmota jest tak samo, odcięcie zasilania pomaga.

 
Dodane : 02/01/2021 8:33 pm
adrian reacted
(@l3m4r)
Wpisów: 183
Weteran Donator 2K21 Donator 2K18
(@edass)
Wpisów: 213
Weteran
 

Ja u siebie zastosowałem takie czujniki :

https://a.aliexpress.com/_BTLbHe

Małe, ładne dobrze działają ale potrzebujesz czegoś co zbierze z nich odczyty. Ja mam esp32 z OppenMQTTGateway.

 

 

 
Dodane : 03/01/2021 11:12 am
(@l3m4r)
Wpisów: 183
Weteran Donator 2K21 Donator 2K18
Autor tematu
 

@edass Fajny pomysł z tym, że działa jako regularny termomentr ścienny. Staram sie unikać sprzętów wymagających dedykowanych bramek, a tu widzę trzeba wejść w ekosystem Xiaomi. 

 
Dodane : 03/01/2021 7:01 pm
(@l3m4r)
Wpisów: 183
Weteran Donator 2K21 Donator 2K18
Autor tematu
 

Seria AOSONG jest sądząc po info w necie  ok. Co myślicie?

https://allegro.pl/oferta/modul-dht22-pomiar-temperatury-wilgotnosci-am2302-7186356805

 
Dodane : 03/01/2021 10:52 pm
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 

@l3m4r u mnie aosong'i działają 

 
Dodane : 03/01/2021 11:40 pm
(@edass)
Wpisów: 213
Weteran
 
Dodane przez: @l3m4r

@edass Fajny pomysł z tym, że działa jako regularny termomentr ścienny. Staram sie unikać sprzętów wymagających dedykowanych bramek, a tu widzę trzeba wejść w ekosystem Xiaomi. 

Nie potrzebujesz ekosystemu Xioami. Wystarczy coś co odczyta komunikaty przez BT. Da się to zrobić bezpośrednio na malinie ale trzeba wgrać zmodyfikowany fw do tych czujników (sprawa prosta robi się to przez OTA) albo zostawiasz fabryczny soft i dokładasz bramkę OpenMQTTGateway na ESP32 ( ja ich tak używam) .

 

 
Dodane : 04/01/2021 1:28 am
(@l3m4r)
Wpisów: 183
Weteran Donator 2K21 Donator 2K18
Autor tematu
 

No i zamiast AOSONGów dostałem DHT22 ASAIR od sprzedawcy, podobno seria jest nowsza, numery seryjne zupełnie inne, wiec może będzie ok (do zwrotu, jak sie posypią).

BTW, czy jest jakiś trik na wyłączenie zasilania 3.3V, albo wymuszenie restartu całego układu przez programowe odcięcie zasilania (taka magia :-)) ?

 

 
Dodane : 18/01/2021 11:03 pm
(@mig41)
Wpisów: 621
Ekspert
 

Drugie GPIO jako przekaźnik , i albo faktycznie fizyczny przekaźnik , albo jakiś tranzystor .

 
Dodane : 19/01/2021 9:22 am
(@l3m4r)
Wpisów: 183
Weteran Donator 2K21 Donator 2K18
Autor tematu
 

@marcingajda W punkt :-), i reguła, którą odłącza na moment drugie GPIO, jeśli na pierwszym odczyt stał się wadliwy. Tracimy jedno GPIO, ale osczedzamy kilka zł na nowy sensor. Dzięki.

 
Dodane : 19/01/2021 2:09 pm
Udostępnij: