Czy ktoś posiada SLR-22?

  • 72 Odpowiedzi
  • 16244 Wyświetleń
*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Czy ktoś posiada SLR-22?
« dnia: Października 18, 2019, 16:56:37 »
Witajcie,
Czy ktoś z forumowiczów jest w posiadaniu modułu SLR-22 ??? (sterownik LED RGBW)
Pracuję nad natywną integracją Exta Life z otwartym systemem inteligentnego domu Home Assisatnt i w ramach tej integracji chciałbym także dodać obsługę SLR-22. Trudność polega na tym, że nie wiem jak aplikacja steruje tym modułem. Jeśli ktoś ma to odezwę się ze szczegółami jak mógłby pomóc.

Prosiłem Zamela o wyjaśnienie, ale zupełnie olali temat :(
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #1 dnia: Grudnia 05, 2019, 18:16:13 »
mam ten sterownik, tak na szybko kawałek loga z komunikacji, scenariusz:
włączenie
zmiana koloru na zielony
zmiana koloru na czerwony
zmiana koloru na niebieski
zmiana koloru na biały
wyłączenie

Tylko taśma RGB bez białej

{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":16711681,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":16711681,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":16711681,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"00FF0001"},"status":"notification"}
{"command":20,"data":{"mode":1,"mode_val":16711681,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":16711681,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":16711681,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"00FF0001"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"00FF0001"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"00FF0001"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":4278190081,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":4278190081,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":4278190081,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FF000001"},"status":"notification"}
{"command":20,"data":{"mode":1,"mode_val":4278190081,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":4278190081,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FF000001"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FF000001"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FF000001"},"status":"notification"}
{"command":20,"status":"success","data":null} 
{"command":20,"data":{"mode":1,"mode_val":436265985,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":419488769,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":419488769,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"1A00E401"},"status":"notification"}
{"command":20,"data":{"mode":1,"mode_val":419489025,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":419489025,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":419489025,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"1900E401"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"1900E501"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"1900E501"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FFFFFF01"},"status":"notification"}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FFFFFF01"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FFFFFF01"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FFFFFF01"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":0,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":false,"value":100,"mode":1,"mode_val":"FFFFFF01"},"status":"notification"}
{"command":20,"status":"success","data":null}

PS sterowanie z poziomu HA nie działa
« Ostatnia zmiana: Grudnia 05, 2019, 18:22:25 wysłana przez SebiCo »

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #2 dnia: Grudnia 05, 2019, 22:26:15 »
mam ten sterownik, tak na szybko kawałek loga z komunikacji, scenariusz:
włączenie
zmiana koloru na zielony
zmiana koloru na czerwony
zmiana koloru na niebieski
zmiana koloru na biały
wyłączenie

Tylko taśma RGB bez białej

{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":16711681,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":16711681,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":16711681,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"00FF0001"},"status":"notification"}
{"command":20,"data":{"mode":1,"mode_val":16711681,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":16711681,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":16711681,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"00FF0001"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"00FF0001"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"00FF0001"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":4278190081,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":4278190081,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":4278190081,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FF000001"},"status":"notification"}
{"command":20,"data":{"mode":1,"mode_val":4278190081,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":4278190081,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FF000001"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FF000001"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FF000001"},"status":"notification"}
{"command":20,"status":"success","data":null} 
{"command":20,"data":{"mode":1,"mode_val":436265985,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":419488769,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":419488769,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"1A00E401"},"status":"notification"}
{"command":20,"data":{"mode":1,"mode_val":419489025,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":419489025,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":419489025,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"1900E401"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"1900E501"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"1900E501"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FFFFFF01"},"status":"notification"}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":1,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FFFFFF01"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FFFFFF01"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"id":10,"channel":1,"state":true,"value":100,"mode":1,"mode_val":"FFFFFF01"},"status":"notification"}
{"command":20,"status":"success","data":null}
{"command":20,"data":{"mode":1,"mode_val":4294967041,"channel":1,"state":0,"id":10,"value":100}}
{"command":20,"data":{"id":10,"channel":1,"state":false,"value":100,"mode":1,"mode_val":"FFFFFF01"},"status":"notification"}
{"command":20,"status":"success","data":null}

PS sterowanie z poziomu HA nie działa
No proszę! Szkoda, że wcześniej nie dostrzegłeś tego posta :) Przejrzę ten trace na spokojnie, a ty jak znajdziesz chwilę to mam prośbę, abyś załączył logi z HA. Chciałbym zobaczyć co się wysyła do kontrolera z HA i jak odpowiada kontroler.

Z góry dzięki!
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #3 dnia: Grudnia 06, 2019, 08:54:19 »
Moduł mam od wczoraj  ;)
W logu mam coś takiego
2019-12-06 07:23:41 DEBUG (SyncWorker_7) [custom_components.extalife.light] Discovery: [
 {'data': {'alias': 'sypialnia',
           'channel': 1,
           'device': 1,
           'exta_free_device': False,
           'fav': [],
           'fav_ex': [{'mode': 2,
                       'mode_val': 0,
                       'mode_val_string': '00000000',
                       'value': 3},
                      {'mode': 1,
                       'mode_val': 'FF0000FF',
                       'mode_val_string': 'FF0000FF',
                       'value': 100},
                      {'mode': 1,
                       'mode_val': '00FC02FF',
                       'mode_val_string': '00FC02FF',
                       'value': 100},
                      {'mode': 1,
                       'mode_val': '0F00EEFF',
                       'mode_val_string': '0F00EEFF',
                       'value': 100}],
           'icon': 40,
           'id': 10,
           'is_timeout': False,
           'mode': 1,
           'mode_val': 'FFFFFFFF',
           'mode_val_string': 'FFFFFFFF',
           'power': 0,
           'response_time': 0,
           'serial': 1769494,
           'type': 27,
           'valid_software': True,
           'value': 100,
           'version': 16908289},
  'id': '10-1'}]

Włączanie w poziomu HA nie przynosi rezultatu.
Co ciekawe jeśli moduł jest włączony (z poziomu aplikacji EL) to po restarcie HA nie jest wykrywany.

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #4 dnia: Grudnia 06, 2019, 16:32:36 »
Moduł mam od wczoraj  ;)
W logu mam coś takiego
2019-12-06 07:23:41 DEBUG (SyncWorker_7) [custom_components.extalife.light] Discovery: [
 {'data': {'alias': 'sypialnia',
           'channel': 1,
           'device': 1,
           'exta_free_device': False,
           'fav': [],
           'fav_ex': [{'mode': 2,
                       'mode_val': 0,
                       'mode_val_string': '00000000',
                       'value': 3},
                      {'mode': 1,
                       'mode_val': 'FF0000FF',
                       'mode_val_string': 'FF0000FF',
                       'value': 100},
                      {'mode': 1,
                       'mode_val': '00FC02FF',
                       'mode_val_string': '00FC02FF',
                       'value': 100},
                      {'mode': 1,
                       'mode_val': '0F00EEFF',
                       'mode_val_string': '0F00EEFF',
                       'value': 100}],
           'icon': 40,
           'id': 10,
           'is_timeout': False,
           'mode': 1,
           'mode_val': 'FFFFFFFF',
           'mode_val_string': 'FFFFFFFF',
           'power': 0,
           'response_time': 0,
           'serial': 1769494,
           'type': 27,
           'valid_software': True,
           'value': 100,
           'version': 16908289},
  'id': '10-1'}]

Włączanie w poziomu HA nie przynosi rezultatu.
Co ciekawe jeśli moduł jest włączony (z poziomu aplikacji EL) to po restarcie HA nie jest wykrywany.
Kurcze przejrzałem ten twój trace i kod w HA, ale nie jestem pewny co może być źle. Być może znowu jest podobny problem jak z głowicą - pola w JSON znaczą co innego niż myślałem (tak to jest na sucho robić testy :))
A mam jeszcze prośbę, abyś załączył log z HA zwierający coś w stylu "Executing action TURN_ON on channel 10-1, params: %s". Oczywiście %s będą zamienione na pola JSON. Przydałoby mi się to + kilka linijek loga które po tym następują gdzie widać jakie jest dokładnie zapytanie do kontrolera z HA i jaką odpowiedź kontroler odsyła.
Bardzo zastanawia mnie to, że sterowanie z HA w ogóle nie działa. Gdyby był jakiś problem z kolorami to bym zrozumiał. Ale że w ogóle nic się nie dzieje tego nie rozumiem. Log jest niezbędny.

Nie rozumiem także dlaczego SLR nie jest wykrywany gdy jest włączony w aplikacji. Akurat coś takiego kompletnie nie powinno mieć znaczenia. Być może kontroler nie dosłał wszystkich urządzeń. Ten log który wkleiłeś w ostatniej wiadomości (ze słowem "Discovery") to log fragmentu wykrywania urządzeń podczas startu HA. Tam widać, pole 'power' ma wartość 0, czyli SLR wyłączony. A podeślij w takim razie także fragment loga, gdzie power = 1.
Kolejne pytanie - czy po 5 minutach gdy odpaliło się kolejne status polling SLR także nie został wykryty? Bo jeśli nie to też nie rozumiem i tak być niepowinno. Discovery działa co 5 minut i nawet jak raz coś się nie wykryje to powinno być wykryte przy następnym uruchomienia status polling. Chyba że kontroler uparcie nie wysyła akurat danych o tym module gdy jest wyłączony. A w aplikacji Exta Life go widać gdy jest wyłączony?

Wiem, dużo pytań, ale potrzebuję tych informacji, żeby mógł zdiagnozować gdzie jest błąd. Na pewno znajdziemy tak jak z głowicą. Dzięki!
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #5 dnia: Grudnia 06, 2019, 17:45:55 »
źle się wyraziłem kontroler zostaje wykryty ale nie widać go w zakładce gdzie jest przypisany.

Jedyne co potrafie sprawić, żeby cokolwiek się zlogowało to
2019-12-06 16:34:16 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 0
2019-12-06 16:34:16 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
2019-12-06 16:34:16 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 0
2019-12-06 16:34:16 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 0
2019-12-06 16:34:16 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 0
2019-12-06 16:34:16 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 0
2019-12-06 16:34:18 DEBUG (SyncWorker_11) [custom_components.extalife.light] white value: {}
2019-12-06 16:34:21 DEBUG (SyncWorker_7) [custom_components.extalife.light] white value: {}
2019-12-06 16:34:48 DEBUG (SyncWorker_17) [custom_components.extalife.light] white value: {}
2019-12-06 16:35:15 DEBUG (SyncWorker_11) [custom_components.extalife.light] white value: {'brightness': 194}

z czego
2019-12-06 16:34:18 DEBUG (SyncWorker_11) [custom_components.extalife.light] white value: {}to chyba próba załączenia,


a to
2019-12-06 16:35:15 DEBUG (SyncWorker_11) [custom_components.extalife.light] white value: {'brightness': 194}próba zmiana jasności, ale nie ma z tego żadnych efektów.

Nic więcej nie da się zrobić bo kontroler się nie załącza patrz obrazek


tu kawałek z power:1
{'data': {'alias': 'sypialnia_rgbw',
           'channel': 1,
           'device': 1,
           'exta_free_device': False,
           'fav': [],
           'fav_ex': [{'mode': 2,
                       'mode_val': 0,
                       'mode_val_string': '00000000',
                       'value': 3},
                      {'mode': 1,
                       'mode_val': 'FF0000FF',
                       'mode_val_string': 'FF0000FF',
                       'value': 100},
                      {'mode': 1,
                       'mode_val': '00FC02FF',
                       'mode_val_string': '00FC02FF',
                       'value': 100},
                      {'mode': 1,
                       'mode_val': '0F00EEFF',
                       'mode_val_string': '0F00EEFF',
                       'value': 100}],
           'icon': 40,
           'id': 10,
           'is_timeout': False,
           'mode': 1,
           'mode_val': 'FFFFFFFF',
           'mode_val_string': 'FFFFFFFF',
           'power': 1,
           'response_time': 0,
           'serial': 1769494,
           'type': 27,
           'valid_software': True,
           'value': 100,
           'version': 16908289},
  'id': '10-1'}




EDIT - coś jest, miałem za badzo ograniczony poziom logowania.

Co ciekawe Executing action TURN_OFF... pojawia się po dwukrotnym szybkim kliknięciu na wyłącznik, LEDy sie zapalają, ale już później nic się nie da zrobić.


2019-12-06 17:15:51 DEBUG (MainThread) [custom_components.extalife.sensor] state: 20.8
2019-12-06 17:16:37 DEBUG (SyncWorker_12) [custom_components.extalife.light] white value: {}
2019-12-06 17:16:40 DEBUG (SyncWorker_11) [custom_components.extalife.light] white value: {}
2019-12-06 17:16:41 DEBUG (SyncWorker_16) [custom_components.extalife] Executing action TURN_OFF on channel 10-1, params: {'value': 42}
2019-12-06 17:16:41 DEBUG (SyncWorker_16) [custom_components.extalife.pyextalife] TCP command to execute: b'{"command": 20, "data": {"id": 10, "channel": 1, "state": 0, "value": 42}}\x03'
2019-12-06 17:16:41 DEBUG (SyncWorker_16) [custom_components.extalife.pyextalife] resp_js: [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': False, 'value': 42, 'mode': 0, 'mode_val': 0}, 'status': 'notification'}]
2019-12-06 17:16:41 DEBUG (SyncWorker_16) [custom_components.extalife.pyextalife] resp_js: [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': False, 'value': 42, 'mode': 0, 'mode_val': 0}, 'status': 'notification'}, {'command': 20, 'status': 'success', 'data': None}]
2019-12-06 17:16:41 DEBUG (SyncWorker_16) [custom_components.extalife.pyextalife] JSON response for command 20: [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': False, 'value': 42, 'mode': 0, 'mode_val': 0}, 'status': 'notification'}, {'command': 20, 'status': 'success', 'data': None}]
2019-12-06 17:16:41 DEBUG (Thread-2) [custom_components.extalife.pyextalife] resp_js (intermediary): [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': False, 'value': 42, 'mode': 0, 'mode_val': 0}, 'status': 'notification'}]
2019-12-06 17:16:41 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
2019-12-06 17:16:41 DEBUG (Thread-2) [custom_components.extalife] Received msg from Notification Listener thread: {'command': 20, 'data': {'id': 10, 'channel': 1, 'state': False, 'value': 42, 'mode': 0, 'mode_val': 0}, 'status': 'notification'}
2019-12-06 17:16:41 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
2019-12-06 17:16:41 DEBUG (MainThread) [custom_components.extalife] State update notification callback for entity id: light.sypialnia_rgbw, data: {'id': 10, 'channel': 1, 'state': False, 'value': 42, 'mode': 0, 'mode_val': 0}
2019-12-06 17:16:41 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
2019-12-06 17:16:41 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
« Ostatnia zmiana: Grudnia 06, 2019, 18:41:04 wysłana przez SebiCo »

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #6 dnia: Grudnia 06, 2019, 19:47:40 »
źle się wyraziłem kontroler zostaje wykryty ale nie widać go w zakładce gdzie jest przypisany.
A to już w takim razie na pewno nic związanego z integracją. To sprawa HA i jego GUI. Jeśli istnieje encja / entity dla tego SLR w narzędziach deweloperskich i możesz zobaczyć stan tej encji - to wszystko gra.

Cytuj
Jedyne co potrafie sprawić, żeby cokolwiek się zlogowało to
2019-12-06 16:34:16 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 0
2019-12-06 16:34:16 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
2019-12-06 16:34:16 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 0
2019-12-06 16:34:16 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 0
2019-12-06 16:34:16 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 0
2019-12-06 16:34:16 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 0
2019-12-06 16:34:18 DEBUG (SyncWorker_11) [custom_components.extalife.light] white value: {}
2019-12-06 16:34:21 DEBUG (SyncWorker_7) [custom_components.extalife.light] white value: {}
2019-12-06 16:34:48 DEBUG (SyncWorker_17) [custom_components.extalife.light] white value: {}
2019-12-06 16:35:15 DEBUG (SyncWorker_11) [custom_components.extalife.light] white value: {'brightness': 194}
To dokładnie rzecz biorąc są rzeczy które dzieją się w kodzie który włącza światło, a w tym przypadku SLR. Też przydatne.

Cytuj
z czego
2019-12-06 16:34:18 DEBUG (SyncWorker_11) [custom_components.extalife.light] white value: {}to chyba próba załączenia,

Akurat to jest wartość natężenia białego składnika światła RGBW w platformie light HA :)
Nie wiem tylko dlaczego jest aż tyle wystąpień takich samych linii w logu. Czyżbyś pstrykał kilka razy z rzędu?

Cytuj
a to
2019-12-06 16:35:15 DEBUG (SyncWorker_11) [custom_components.extalife.light] white value: {'brightness': 194}próba zmiana jasności, ale nie ma z tego żadnych efektów.
A to jest jasność światła :) Tak samo wygląda dla ściemniacza RDP

Cytuj
EDIT - coś jest, miałem za badzo ograniczony poziom logowania.

Co ciekawe Executing action TURN_OFF... pojawia się po dwukrotnym szybkim kliknięciu na wyłącznik, LEDy sie zapalają, ale już później nic się nie da zrobić.
Pewnie jest jakiś błąd w mappingu zwracanego do HA stanu.

Cytuj
2019-12-06 17:15:51 DEBUG (MainThread) [custom_components.extalife.sensor] state: 20.8
2019-12-06 17:16:37 DEBUG (SyncWorker_12) [custom_components.extalife.light] white value: {}
2019-12-06 17:16:40 DEBUG (SyncWorker_11) [custom_components.extalife.light] white value: {}
2019-12-06 17:16:41 DEBUG (SyncWorker_16) [custom_components.extalife] Executing action TURN_OFF on channel 10-1, params: {'value': 42}
2019-12-06 17:16:41 DEBUG (SyncWorker_16) [custom_components.extalife.pyextalife] TCP command to execute: b'{"command": 20, "data": {"id": 10, "channel": 1, "state": 0, "value": 42}}\x03'
2019-12-06 17:16:41 DEBUG (SyncWorker_16) [custom_components.extalife.pyextalife] resp_js: [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': False, 'value': 42, 'mode': 0, 'mode_val': 0}, 'status': 'notification'}]
2019-12-06 17:16:41 DEBUG (SyncWorker_16) [custom_components.extalife.pyextalife] resp_js: [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': False, 'value': 42, 'mode': 0, 'mode_val': 0}, 'status': 'notification'}, {'command': 20, 'status': 'success', 'data': None}]
2019-12-06 17:16:41 DEBUG (SyncWorker_16) [custom_components.extalife.pyextalife] JSON response for command 20: [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': False, 'value': 42, 'mode': 0, 'mode_val': 0}, 'status': 'notification'}, {'command': 20, 'status': 'success', 'data': None}]
2019-12-06 17:16:41 DEBUG (Thread-2) [custom_components.extalife.pyextalife] resp_js (intermediary): [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': False, 'value': 42, 'mode': 0, 'mode_val': 0}, 'status': 'notification'}]
2019-12-06 17:16:41 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
2019-12-06 17:16:41 DEBUG (Thread-2) [custom_components.extalife] Received msg from Notification Listener thread: {'command': 20, 'data': {'id': 10, 'channel': 1, 'state': False, 'value': 42, 'mode': 0, 'mode_val': 0}, 'status': 'notification'}
2019-12-06 17:16:41 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
2019-12-06 17:16:41 DEBUG (MainThread) [custom_components.extalife] State update notification callback for entity id: light.sypialnia_rgbw, data: {'id': 10, 'channel': 1, 'state': False, 'value': 42, 'mode': 0, 'mode_val': 0}
2019-12-06 17:16:41 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
2019-12-06 17:16:41 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
[/quote]
O i o to chodziło! Pięknie uchwycone. Jakby ci się udało znaleźć takie informacje ale dla akcji TURN_ON to byłoby idealnie, bo to co tu jest dotyczy wyłączenia, a ono chyba działa, czy tak?? A przynajmniej kontroler raportuje sukces i potwierdza state = False.

Znajdź jeszcze proszę logi dla TURN_ON bo to jest kluczowe. W TURN_OFF brakuje pól mode i mode_val, ale bez nich chyba i tak działa, ale nie wiem jak wygląda TURN_ON i czy czegoś tam nie brakuje
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #7 dnia: Grudnia 06, 2019, 20:11:40 »
Udało się wywołać, ale po nawet nie umiem opisać jakich kombinacjach
2019-12-06 19:07:33 DEBUG (SyncWorker_1) [custom_components.extalife] Executing action TURN_ON on channel 10-1, params: {'value': 3, 'mode_val': 620700672, 'mode': 0}
2019-12-06 19:07:33 DEBUG (SyncWorker_1) [custom_components.extalife.pyextalife] TCP command to execute: b'{"command": 20, "data": {"id": 10, "channel": 1, "state": 1, "value": 3, "mode_val": 620700672, "mode": 0}}\x03'
2019-12-06 19:07:33 DEBUG (SyncWorker_1) [custom_components.extalife.pyextalife] resp_js: [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': True, 'value': 3, 'mode': 0, 'mode_val': 620700672}, 'status': 'notification'}]
2019-12-06 19:07:33 DEBUG (SyncWorker_1) [custom_components.extalife.pyextalife] resp_js: [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': True, 'value': 3, 'mode': 0, 'mode_val': 620700672}, 'status': 'notification'}, {'command': 20, 'status': 'success', 'data': None}]
2019-12-06 19:07:33 DEBUG (SyncWorker_1) [custom_components.extalife.pyextalife] JSON response for command 20: [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': True, 'value': 3, 'mode': 0, 'mode_val': 620700672}, 'status': 'notification'}, {'command': 20, 'status': 'success', 'data': None}]
2019-12-06 19:07:33 DEBUG (Thread-2) [custom_components.extalife.pyextalife] resp_js (intermediary): [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': True, 'value': 3, 'mode': 0, 'mode_val': 620700672}, 'status': 'notification'}]
2019-12-06 19:07:33 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
2019-12-06 19:07:33 DEBUG (Thread-2) [custom_components.extalife] Received msg from Notification Listener thread: {'command': 20, 'data': {'id': 10, 'channel': 1, 'state': True, 'value': 3, 'mode': 0, 'mode_val': 620700672}, 'status': 'notification'}
2019-12-06 19:07:33 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
2019-12-06 19:07:33 DEBUG (MainThread) [custom_components.extalife] State update notification callback for entity id: light.sypialnia_rgbw, data: {'id': 10, 'channel': 1, 'state': True, 'value': 3, 'mode': 0, 'mode_val': 620700672}
2019-12-06 19:07:34 DEBUG (SyncWorker_11) [custom_components.extalife.light] white value: {'hs_color': (120.0, 85.71428571428571)}

Jeszcze w logach znalazłem takie błędy w samym skrypcie

File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 564, in async_request_call
    await coro
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/extalife/light.py", line 89, in turn_on
    w = int(kwargs.get(ATTR_WHITE_VALUE)) & 255
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'


File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 408, in _async_add_entity
    await entity.async_update_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 275, in async_update_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 316, in _async_write_ha_state
    attr.update(self.state_attributes or {})
  File "/usr/src/homeassistant/homeassistant/components/light/__init__.py", line 482, in state_attributes
    if supported_features & SUPPORT_COLOR and self.hs_color:
  File "/config/custom_components/extalife/light.py", line 127, in hs_color
    rgb = rgbw >> 8
TypeError: unsupported operand type(s) for >>: 'str' and 'int'


File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 564, in async_request_call
    await coro
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/extalife/light.py", line 82, in turn_on
    w = int(data.get("mode_val")) & 255
ValueError: invalid literal for int() with base 10: '4848FFFF'
« Ostatnia zmiana: Grudnia 07, 2019, 19:30:50 wysłana przez SebiCo »

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #8 dnia: Grudnia 07, 2019, 22:25:11 »
No właśnie. Tak myślałem, że może występuje jakiś błąd bo nie znalazłem niczego podejrzanego w kodzie włączania.  Cierpliwości, analizuję to i mam nadzieję coś znajdę. Zdalna diagnostyka nie jest prosta :/
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #9 dnia: Grudnia 08, 2019, 12:55:46 »
Zrobiłem kilka zmian. Ściągnij i podmień plik light.py na ten: https://github.com/dgtal1/extalife_custom_component/blob/dev/extalife/light.py

Dopóki tego ktoś nie uruchomi to nie wiem czy te zmiany naprawią błędy. Jest prawdopodobne, ze nadal będą się sypać jakieś błędy w logu, więc jak nie będzie działać to sprawdź log i wrzuć te błędy.
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #10 dnia: Grudnia 08, 2019, 14:31:12 »
przy próbie włączenia

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 564, in async_request_call
    await coro
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/extalife/light.py", line 78, in turn_on
    w = int(self.channel_data.get("mode_val")) & 255    # default
ValueError: invalid literal for int() with base 10: 'FF0000FF'

i moduł się nie załącza

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #11 dnia: Grudnia 08, 2019, 18:17:36 »
ok, chyba namierzyłem winowajcę. Jest nim...Zamel! :P Przypuszczam, że programiści Zamela nie pochodzą ze Śląska, a z Małopolski lub Wielkopolski, ponieważ to co zrobili przypomina mi (nie)spójność języka polskiego. Jak wiadomo nasz język ma wiele reguł, ale także bardzo wiele wyjątków od tych reguł. Kto zna inne języki ten wie jak dużo tego jest w stosunku np do niemieckiego czy nawet angielskiego. Zbadano, że język którym się posługujemy wpływa mocno na sposób myślenia i postrzegania świata. I już dopływam do brzegu i meritum ;) Zamel popełnił (kolejną) niespójność projektową w swoim JSON API. Otóż pole "mode_val", które zawiera 4 bajty kodujące składowe wartości koloru R,G,B,W w komendzie 37 (pobranie statusu urządzeń odbywające się co 5 minut) są zakodowane jako STRING hexadecymalny. A w komendzie sterującej wymagany jest format INT!!! 🤦‍♂️
Nie wiedziałem o tym, bo nie miałem SLR i jedyne co mogłem sprawdzić to co aplikacja wysyła w komendzie 20, a jak się okazało - informacja o kolorze musi być zakodowana tam jako int, a dane statusowe są pobrane jako hex string. Musiałem wprowadzić konwersję tam i z powrotem w kilku miejscach.

Sądzę, że teraz powinno być lepiej. Nie gwarantuję pełnego sukcesu, ale może w końcu uda się dobrnąć do momentu, że SLR się załączy :) Myślę, że jesteśmy już bardzo blisko od naprawienia tego.
Ściągnij raz jeszcze nowszą wersję pliku light.py (https://github.com/dgtal1/extalife_custom_component/blob/dev/extalife/light.py) i spróbuj ponownie.
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #12 dnia: Grudnia 08, 2019, 18:46:55 »
Właczanie/wyłaczanie działa, zmiana parametrów z poziomu HA nie działa, ale zmieniając je w aplikacji wizualizacja w HA jest poprawna.

W logach widać, że jeszcze parę konwersji musi być zrobione ;)

File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 370, in _handle_service_platform_call
    await getattr(entity, func)(**data)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/extalife/light.py", line 115, in turn_off
    params.update({"mode_val": int(mode_val, 16)})
TypeError: int() can't convert non-string with explicit base


File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 564, in async_request_call
    await coro
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/extalife/light.py", line 85, in turn_on
    rgb = int(self.channel_data.get("mode_val"), 16)    # default
TypeError: int() can't convert non-string with explicit base


File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 564, in async_request_call
    await coro
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/extalife/light.py", line 79, in turn_on
    w = int(self.channel_data.get("mode_val"), 16) & 255    # default
TypeError: int() can't convert non-string with explicit base

File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 348, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 370, in _handle_service_platform_call
    await getattr(entity, func)(**data)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/extalife/light.py", line 115, in turn_off
    params.update({"mode_val": int(mode_val, 16)})
TypeError: int() can't convert non-string with explicit base

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #13 dnia: Grudnia 08, 2019, 19:11:16 »
Hmm, sądzę, że akurat te konwersje dodane są w poprawnych miejscach bo bez nich przedtem się krzaczyło. Prawdopodobnie gdzieś to pole zmienia się w z hex string na int w danych stanu i tak zostaje i pewnie kolejne konwersje nie mogą się udać.
Żeby to potwierdzić - ściągnij nowszą wersję pliku. Dodałem tam dodatkowe logowanie tego pola.

Po odpaleniu i zrobienia włącz, wyłącz + zmianie parametrów w HA wrzuć WSZYSTKIE wystąpienia linii z loga z tym ciągiem znaków: 'mode_val' value:
Jeśli się okaże, że za pierwszym razem jest tam hex string a potem int to jest gdzieś błąd w kodzie.
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: Czy ktoś posiada SLR-22?
« Odpowiedź #14 dnia: Grudnia 08, 2019, 19:21:33 »
2019-12-08 18:19:20 DEBUG (SyncWorker_8) [custom_components.extalife.light] white value: {}
2019-12-08 18:19:20 DEBUG (SyncWorker_8) [custom_components.extalife.light] 'mode_val' value: 00FC02FF
2019-12-08 18:19:20 DEBUG (SyncWorker_8) [custom_components.extalife] Executing action TURN_ON on channel 10-1, params: {'value': 46, 'mode_val': 255, 'mode': 0}
2019-12-08 18:19:20 DEBUG (SyncWorker_8) [custom_components.extalife.pyextalife] TCP command to execute: b'{"command": 20, "data": {"id": 10, "channel": 1, "state": 1, "value": 46, "mode_val": 255, "mode": 0}}\x03'
2019-12-08 18:19:20 DEBUG (SyncWorker_8) [custom_components.extalife.pyextalife] resp_js: [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': True, 'value': 46, 'mode': 0, 'mode_val': 255}, 'status': 'notification'}]
2019-12-08 18:19:20 DEBUG (SyncWorker_8) [custom_components.extalife.pyextalife] resp_js: [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': True, 'value': 46, 'mode': 0, 'mode_val': 255}, 'status': 'notification'}, {'command': 20, 'status': 'success', 'data': None}]
2019-12-08 18:19:20 DEBUG (Thread-2) [custom_components.extalife.pyextalife] resp_js (intermediary): [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': True, 'value': 46, 'mode': 0, 'mode_val': 255}, 'status': 'notification'}]
2019-12-08 18:19:20 DEBUG (SyncWorker_8) [custom_components.extalife.pyextalife] JSON response for command 20: [{'command': 20, 'data': {'id': 10, 'channel': 1, 'state': True, 'value': 46, 'mode': 0, 'mode_val': 255}, 'status': 'notification'}, {'command': 20, 'status': 'success', 'data': None}]
2019-12-08 18:19:20 DEBUG (Thread-2) [custom_components.extalife] Received msg from Notification Listener thread: {'command': 20, 'data': {'id': 10, 'channel': 1, 'state': True, 'value': 46, 'mode': 0, 'mode_val': 255}, 'status': 'notification'}
2019-12-08 18:19:20 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
2019-12-08 18:19:20 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
2019-12-08 18:19:20 DEBUG (MainThread) [custom_components.extalife] State update notification callback for entity id: light.sypialnia_rgbw, data: {'id': 10, 'channel': 1, 'state': True, 'value': 46, 'mode': 0, 'mode_val': 255}
2019-12-08 18:19:20 DEBUG (MainThread) [custom_components.extalife.light] Supported flags: 145
2019-12-08 18:19:24 DEBUG (SyncWorker_4) [custom_components.extalife.light] white value: {'hs_color': (255.0, 100.0)}
2019-12-08 18:19:24 DEBUG (SyncWorker_4) [custom_components.extalife.light] 'mode_val' value: 255
2019-12-08 18:19:25 DEBUG (SyncWorker_0) [custom_components.extalife.light] white value: {'hs_color': (360.0, 100.0)}
2019-12-08 18:19:25 DEBUG (SyncWorker_0) [custom_components.extalife.light] 'mode_val' value: 255
2019-12-08 18:19:26 DEBUG (SyncWorker_16) [custom_components.extalife.light] white value: {'hs_color': (90.0, 100.0)}
2019-12-08 18:19:26 DEBUG (SyncWorker_16) [custom_components.extalife.light] 'mode_val' value: 255
2019-12-08 18:19:27 DEBUG (SyncWorker_5) [custom_components.extalife.light] white value: {'hs_color': (150.0, 85.71428571428571)}
2019-12-08 18:19:27 DEBUG (SyncWorker_5) [custom_components.extalife.light] 'mode_val' value: 255
2019-12-08 18:19:28 DEBUG (SyncWorker_2) [custom_components.extalife.light] white value: {'hs_color': (165.0, 0.0)}
2019-12-08 18:19:28 DEBUG (SyncWorker_2) [custom_components.extalife.light] 'mode_val' value: 255
2019-12-08 18:19:29 DEBUG (SyncWorker_13) [custom_components.extalife.light] white value: {'brightness': 232}
2019-12-08 18:19:29 DEBUG (SyncWorker_13) [custom_components.extalife.light] 'mode_val' value: 255
2019-12-08 18:19:30 DEBUG (SyncWorker_4) [custom_components.extalife.light] white value: {'white_value': 28}
2019-12-08 18:19:30 DEBUG (SyncWorker_4) [custom_components.extalife.light] 'mode_val' value: 255
2019-12-08 18:19:32 DEBUG (SyncWorker_10) [custom_components.extalife.light] white value: {'white_value': 192}
2019-12-08 18:19:32 DEBUG (SyncWorker_10) [custom_components.extalife.light] 'mode_val' value: 255