Shelly Plus1PM + Op...
 
Powiadomienia
Wyczyść wszystko

Shelly Shelly Plus1PM + OpenHab

3 Wpisów
2 Użytkownicy
0 Likes
617 Wyświetleń
 Maro
(@maro)
Wpisów: 46
Kontrybutor
Autor tematu
 

od dobrych kilku lat działam na Raspberyy pi z OpenHab 2 (obecnie od dawna nieaktualizowana wersja 2.4.0).

Mój "smarthome" to w głównej mierze kilkanaście sonoff afe firmware (na potrzeby sterowania światłem) + bramka zigbee xiaomi + bezprzewodowe włączniki zigbee xiaomi.

Na raspbbery zainstalwoałem również serwer MQTT, dzięki czemu współpraca "xiaomi gateway" z "sonoof afe" jest bezproblemowa.

Mój problem polega na tym iż nie wiem jak spiąć optymalnie Shelly Plus1PM z OpenHab. Nie zależy mi na odczycie pomiaru energii, chciałbym aby jedynie Openhab wiedział w jakim stanie jest przekaźnik i sterowanił nim, tak jak obecnie sonoofami.

Próbowałem:
- skonfigurować połączenie MQTT, ale shelly wysyła bardzo dużo tematów po MQTT i nie wiem bardzo co dokładnie powinienem wpisać w pliku items. Teraz dla sonoff mam np tak:

"Switch sonoff_kuchnia_zyrandol "Żyrandol" (KuchniaGroup, AllLightsGroup) [ "Lighting" ]
{mqtt=">[broker:/kuchnia/zyrandol/switch/cmd:command:ON:on],
>[broker:/kuchnia/zyrandol/switch/cmd:command:OFF:off],
<[broker:/kuchnia/zyrandol/switch/state:state:ON:on],
<[broker:/kuchnia/zyrandol/switch/state:state:OFF:off]"}"

- próbowałem zainstalować w openhab binding shelly, ale niestety mam za starą wersję openhaba, a aktualizacja do nowszej wiąże się praktycznie ze stawianiem wszystkiego od nowa... Co jest raczej niemożliwe ze względu na to iż przez kilka lat nazbierało mi się na serwerku różnych dziwnych smarthomeowych rzeczy.

Obecnie mogę sterować przekaźnikiem za pomocą web-api:

http://192.168.1.190/relay/0?turn=off
http://192.168.1.190/relay/0?turn=on
http://192.168.1.190/rpc/Switch.GetStatus?id=0

Niestety w takim przypadku nie wiem jak odświeżać status urządzenia w openhab (sytuacja gdy stan przekaźnika zostanie zmieniony bez udziału openhab)

Jak najprościej mogę sterować shelly z poziomu openhab 2.4? Proszę o jakiekolwiek wskazówki - resztę doszukam, ewentualnie jakieś przykłady z własnego "podwórka".

 
Dodane : 08/09/2022 12:03 pm
 Maro
(@maro)
Wpisów: 46
Kontrybutor
Autor tematu
 

Shelly wysyła do brokera mqtt informacje w postaci tablicy json, jak przełożyć wartości z "output:true/false" na status obiektu switch w openhab?

{"id":0, "source":"HTTP", "output":true, "timer_started_at":1662714862.96, "timer_duration":7200.00, "apower":24.2, "voltage":231.6, "current":0.113, "aenergy":{"total":20.304,"by_minute":[520.068,520.720,520.068],"minute_ts":1662715858},"temperature":{"tC":54.6, "tF":130.3}}
 
Dodane : 09/09/2022 11:34 am
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 

@maro 

niestety nie mam juz openHab 2 i ciężko tak na czuja, jak to tam było

Jeśli w plikach konfigurujesz to cos takiego mniej więcej próbowałbym w thing od brokera

Bridge mqtt:broker:blabla "MQTT Broker" [ host="", port=..........] 
{
    Thing topic shelly "Shelly" {
    Channels:
          Type switch : przekaznik "Przekaznik shell" [ stateTopic="tutaj-temat-shelly-wysyla-tego-jasona", on="true", off="false", transformationPattern="JSONPATH:$.output" ]
}
}

 gdzies w OH2 musi zostać zainstalowany JSONPATH chyba w transformacjach

pzdr.a

 
Dodane : 09/09/2022 10:44 pm
Udostępnij: