Integracja z openHAB 2

wosso
Posts: 13
Joined: 28 May 2012, 21:37

Integracja z openHAB 2

Postby wosso » 24 Sep 2018, 19:07

Witam,
od dłuższego czasu zbierałem się za przygotowanie integracji z jakąś wiodącą platformą. Kiedyś nawet zacząłem coś dłubać pod Domoticz, ale po przejrzeniu jak sprawa aktualnie wygląda, stanęło na openHAB 2 - Domoticz raczej jest w tendencji spadkowej jeśli chodzi o popularność, a dodatkowo openHAB jest pisany w Javie, w której czuję się najlepiej.
Przygotowałem plugin (binding) dla openHAB 2 - na razie załączam tylko skompilowaną wersję, źródła opublikuję, jak tylko doprowadzę je do jakiegoś sensownego wyglądu. Plugin, który załączam jest skompilowany dla wersji openHAB 2.4.0-SNAPSHOT, nie pójdzie na Stable. Należy go wrzucić do folderu 'addons', testowałem go tylko pod Windows.
https://www.openhab.org/download/
Starałem się dodać obsługę wszystkich urządzeń, które powstały, z wyjątkiem Odbiornika/Nadajnika podczerwieni, testowałem jednak niestety tylko na systemie Hapcan złożonym z trzech urządzeń: przycisku UNIV 3.1.0.x, przekaźników UNIV 3.2.1.x i Kontrolera RGB UNIV 3.8.0.x (widocznego w systemie jako 3 osobne dimmery + master).

Podstawowe cechy pluginu:
- integracja przez Ethernet Interface UNIV 3.102.0.0 (brak obsługi RS232 - nie przewiduję dopisywania),
- obsługa urządzeń HAPCAN z procesorami UNIV3 i UNIV1 (oprócz nadajnika/odbiornika podczerwieni),
- urządzenie „Ethernet interface” należy dodać i skonfigurować ręcznie, następnie można skorzystać z automatycznego wykrywania modułów do niego podłączonych,
- wykrywanie rodzaju procesora, urządzenia, aplikacji, opisu itp., odczyt napięć,
- id w systemie openHAB w przypadku dodawania ręcznego musi być w postaci AABB, gdzie AA to nr grupy w hex, a BB nr modułu - w przeciwnym razie automatyczne wyszukiwanie będzie ponownie wykrywać taki moduł (dublować go)
- przyciski jako elementy ‘contact’ (stan on/off) oraz ‘trigger’ (zdarzenia triggerów: PRESSED, RELEASED, SHORT_PRESSED, DOUBLE_PRESSED, LONG_PRESSED, HELD_400MS, HELD_4S)
- kontroler RGB widoczny jako 4 dimmery (może później dodam, żeby był widoczny w systemie jako 'Kolor' + 'Master channel' - sam używam poszczególne 3 kanały jako osobne ściemniacze do taśm LED),
- konfiguracja, skrypty itp. jak dla każdego innego pluginu openHAB 2.

Potencjalne problemy jakie przewiduję i wymagają sprawdzenia:
- działanie sprawdzałem tylko dla 3 ww. urządzeń (tylko UNIV3) - przy oprogramowywaniu innych urządzeń lub ich modeli prawdopodobnie zdarzyły się jakieś błędy,
- wykrywanie urządzeń przy ich dużej ilości w systemie,
- urządzenia w systemie wykrywane są komendami kierowanymi do grupy 00 - czyli wszystkich na raz (np. HAPCAN Programator wykrywa urządzenia w każdej grupie osobno), jeśli będzie to powodować problemy to się poprawi.

Nie oprogramowywałem dotąd samego działania openHAB (skrypty) - tylko przygotowałem plugin, więc nauka konfiguracji openHAB dopiero przede mną.

Włączenie logowania/debugowania dla pluginu Hapcan do oddzielnego pliku – może przydać się, żeby pomóc mi zdiagnozować ewentualne problemy:
- w pliku userdata/etc[skrypt forum blokuje sciezki]/org.ops4j.pax.logging.cfg należy dodać:

Code: Select all

# Logger - Hapcan.log
log4j2.logger.hapcan.name = org.openhab.binding.hapcan
log4j2.logger.hapcan.level = DEBUG
log4j2.logger.hapcan.additivity = false
log4j2.logger.hapcan.appenderRefs = hapcan
log4j2.logger.hapcan.appenderRef.event.ref = HAPCAN

# Hapcan.log file appender
log4j2.appender.hapcan.type = RollingRandomAccessFile
log4j2.appender.hapcan.name = HAPCAN
log4j2.appender.hapcan.fileName = ${openhab.logdir}/hapcan.log
log4j2.appender.hapcan.filePattern = ${openhab.logdir}/hapcan.log.%i
log4j2.appender.hapcan.append = true
log4j2.appender.hapcan.layout.type = PatternLayout
log4j2.appender.hapcan.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n
log4j2.appender.hapcan.policies.type = Policies
log4j2.appender.hapcan.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.hapcan.policies.size.size = 8MB

- logi trafiają do pliku userdata/logs/hapcan.log

Przed wgraniem ewentualnej kolejnej wersji pluginu konieczne jest wyczyszczenie cache’u openHAB, poprzez usunięcie przy wyłączonej aplikacji zawartości folderów: userdata/cache i userdata/logs.

Pozdrawiam i proszę o testy,
Marcin
Attachments
org.openhab.binding.hapcan-2.4.0-SNAPSHOT_v0.1.zip
(77.08 KiB) Downloaded 1 time

wosso
Posts: 13
Joined: 28 May 2012, 21:37

Re: Integracja z openHAB 2

Postby wosso » 25 Sep 2018, 16:27

Kod pluginu na githubie, na razie bez README czy komentarzy niestety.
https://github.com/marcinHapcan/hapcanOpenHAB

Jacek
Posts: 473
Joined: 17 Feb 2007, 18:00

Re: Integracja z openHAB 2

Postby Jacek » 25 Sep 2018, 19:39

wosso wrote:- wykrywanie urządzeń przy ich dużej ilości w systemie,
- urządzenia w systemie wykrywane są komendami kierowanymi do grupy 00 - czyli wszystkich na raz (np. HAPCAN Programator wykrywa urządzenia w każdej grupie osobno), jeśli będzie to powodować problemy to się poprawi.

Dzięki wosso za plugin.
Obawiam się, że w taki sposób plugin odnajdzie tylko 42 moduły w sieci, ponieważ tak duży jest bufor wiadomości w module Ethernetowym. Nawet teraz Hapcan Programator niestety jest w stanie wyszukać maksymalnie 42 moduły, ale w każdej grupie. Należałoby opracować jakiś nowy algorytm wyszukiwania modułów jeśli jest ich więcej niż 42 w grupie. Pytanie o pojedynczy moduł mogłoby być trochę za wolne.
Regards
Jacek

Marcin
Posts: 170
Joined: 16 Sep 2011, 13:05

Re: Integracja z openHAB 2

Postby Marcin » 05 Oct 2018, 06:14

Dobra wiadomość od kilkunastu miesięcy. Uruchomię openHAB'a na innym Raspberry i będę testować.
W razie potrzeby mogę Ci pożyczyć do oprogramowania jakieś moduły.
Czekam na rozwój.

P.S. Możesz podrzucić jakieś screen'y z Twojego Panelu?
Pozdrawiam,
Marcin.

wosso
Posts: 13
Joined: 28 May 2012, 21:37

Re: Integracja z openHAB 2

Postby wosso » 05 Oct 2018, 15:26

Załączam skompilowaną ostatnią wersję (głównie zmienione wykrywanie modułów i odpytywanie o stan wg sugestii Jacka) - odpytywanie po kolei wybranego zakresu grup - tak jak robi to HAPCAN Programator i parę drobnych poprawek, m.in. zapomniałem w konfiguracji o przekaźniku 10-wyjściowym.
Screeny załączam, ale raczej z konfiguracji, bo jak już mówiłem, jakiejś bardziej skomplikowanej konfiguracji nie pisałem jeszcze.
Attachments
Screenshot2.png
Screenshot1.png
org.openhab.binding.hapcan-2.4.0-SNAPSHOT_v0.2.zip
(77.66 KiB) Downloaded 2 times

wosso
Posts: 13
Joined: 28 May 2012, 21:37

Re: Integracja z openHAB 2

Postby wosso » 05 Oct 2018, 15:27

Screeny
Attachments
Screenshot4.png
Screenshot5.png
Screenshot3.png

wosso
Posts: 13
Joined: 28 May 2012, 21:37

Re: Integracja z openHAB 2

Postby wosso » 05 Oct 2018, 15:28

I jeszcze 3

Pozdrawiam
Marcin
Attachments
Screenshot6.png
Screenshot7.png
Screenshot8.png


Return to “General Discussion / Dyskusja ogólna”



Who is online

Users browsing this forum: No registered users and 1 guest

cron