Panowie,
Przeczytałem dokładnie dokumentację AFE i chcę podpiąć czujnik DHT22. Całość działa bez problemu jako HTTP. Po wysłaniu zapytania dostaję odpowiedź z odpowiednią wartością. Niestety z MQTT mam problem.
Sugerując się dokumentacją Adriana do items dodałem.
Items:
Number dht_temperature "Temperatura [%.1f °C]" {mqtt="<[broker:/biuro/dht/office1/temperature:state:default]"}
Number dht_humidity "Wilgotoność [%.1f %%]" {mqtt="<[broker:/biuro/dht/office1/humidity:state:default]"}
Number dht_heat_index "Temperatura odczuwalna [%.1f °C]" {mqtt="<[broker:/biuro/dht/office1/heatIndex:state:default]"}
Na podstawie tej samej dokumentacji w sitemap dodałem:
Sitemap
Number item=dht_temperature
Number item=dht_humidity
Number item=dht_heat_index
Zakładam, że to mi wystarczy do odczytywania temperatury.
Po dodaniu wpisów do sitemap przestaje ona działać... Prawdę mówiąc nie rozumiem dlaczego. Jeżeli zamiast Number dam Text wtedy sitemap działa poprawnie. Pytanie czy ma to znaczenie dla odczytu?
I teraz drugie pytanie o samo adresowanie. Ustawienia są następujące:
- Firmware: T2,
- Nazwa urządzenia: office1
- Temat MQTT: /biuro/lampa/
- Nazwa przekaźnika: office1
Nie bardzo rozumiem jak mam adresować polecenia do DHT.
- /office1/
- /office1/dht/
- /biuro/lampa/dht/
A może jeszcze inaczej?
I teraz drugie pytanie o samo adresowanie. Ustawienia są następujące:
- Firmware: T2,
- Nazwa urządzenia: office1
- Temat MQTT: /biuro/lampa/
- Nazwa przekaźnika: office1
Nie bardzo rozumiem jak mam adresować polecenia do DHT.
- /office1/
- /office1/dht/
- /biuro/lampa/dht/
A może jeszcze inaczej?
cześć - jeśli masz Temat MQTT = /biuro/lampa/ to
w openHab nasłuchujesz temperature
- /biuro/lampa/temperature
Wilgotność
- /biuro/lampa/humidity
Temperaturę odczuwalną
- /biuro/lampa/heatIndex
czyli item tak:
Number dht_temperature "Temperatura [%.1f °C]" {mqtt="<[broker:/biuro/lampa/temperature:state:default]"}
Daj znać, czy działa teraz
Jedna uwaga: Temperatura odczuwalna (heatIndex) nie jest wysyłana automatycznie. To jest wartość wyliczana na podstawie temperatury i wilgotności. Musisz zrobić sobie switch w OH, żeby dostać wartość lub regułę, która będzie wysyłała do OH żądanie MQTT. Jak będziesz miał problem to daj znać, czy chcesz to zrobić na przycisk, czy regułę odpalaną np. przy każdej zmianie temperatury lub wilgotności.
Dzięki @eathan za PLN wsparcie - doceniam !
Dzięki za wyjaśnienie. Po korekcie działa temperatura i wilgotność. Co ciekawe w sitempa muszę mieć:
Text item=dht_temperature icon="temperature"
bo
Numbers item=dht_temperature icon="temperature"
Wywala u mnie sitemape.
Nie działa odczuwalna temperatura tak jak to przewidziałeś 😉
Sugerując się dokumentację dodałem przełącznik:
W items mam coś takiego:
Switch dht_get_heat_index "Pobierz temperaturę odczuwalną" {mqtt=">[broker:/biuro/lampa/cmd:command:OFF:getHeatIndex],>[broker:/biuro/lampa/cmd:command:OFF:getHeatIndex]"}
W sitemap:
Switch item=dht_get_heat_index
Jednak coś nie działa. Zainstalowałem dodatek Rule Engine (Experimental) i będę kombinować bo to jednak wygodniejsze niż przełącznik. Zwłaszcza, że zależy mi jeszcze na jednej rzeczy i tutaj bez reguł się nie obejdzie (chyba, że zadziała dodatek Google Calendar Scheduler i na podstawie zapisanych zdarzeń w kalendarzu będę mógł sterować światłem w zadanych terminach).
PS
Nie ma za co. Cała przyjemność po mojej stronie.
A jednak zadziałało z tym przełącznikiem. Widać potrzebuje to chwili czasu na reakcję.
Zmień tego item'a na taki - to co masz to będzie źle działać bo masz dwa OFFy
Switch dht_get_heat_index "Temp. odczuwalna" {mqtt=">[broker:/biuro/lampa/cmd:command:ON:getHeatIndex],>[broker:/biuro/lampa/cmd:command:OFF:getHeatIndex]"}
a w sitemap zrób tak, będzie lepiej wyglądać i działać
Switch item=dht_get_heat_index mappings=[ON="Pobierz"] visibility=[dht_get_heat_index!=ON]
Switch item=dht_get_heat_index mappings=[OFF="Pobierz"] visibility=[dht_get_heat_index!=OFF]
z regułami to dopiero zaczyna się fajna zabawa 😉 zobaczysz
a w sitemap zrób tak, będzie lepiej wyglądać i działać
Switch item=dht_get_heat_index mappings=[ON="Pobierz"] visibility=[dht_get_heat_index!=ON]
Switch item=dht_get_heat_index mappings=[OFF="Pobierz"] visibility=[dht_get_heat_index!=OFF]
Ok, zmieniłem items. Co do sitemap to jesteś pewien, że ma to być 2 x? Teraz mam dwie pozycje i dwa przyciski Pobierz. Nie wystarczy tylko pierwsza z ON?
hm - powinno się pokazać tylko raz - a jak raz przełączysz to to dalej są 2?
To chyba jakiś bug jest. Na smartfonie mam pojedynczy przycisk i ładnie działa. Jak podglądam na szybko na kompie przez basicui/ to mam dwie oddzielne pozycje i dwa przyciski.
W każdym razie jest OK i działa wszystko. Bardzo dziękuję za wsparcie 😉
PS
Może komuś się przyda. Ten czujnik https://botland.com.pl/czujniki-temperatury/2637-czujnik-temperatury-i-wilgotnosci-dht22-am2023-modul-przewody.html nie wymaga dodatkowych oporników. Podpinamy i działa od strzału. Co ciekawe na dołączonym kablu działa. Na dłuższym (mniej więcej 2 razy) już nie.
możliwe ze Basic UI tego nie chwyta - to zrób sobie jak wolisz - najważniejszy to ta definicja items.
co do czujnika to na dłuższym kablu można zmniejszyć opornik i powinno działać lepiej.