Pytanie do EFC-01:TCP/IP:Polecenia:EditTimerConfig

  • 4 Odpowiedzi
  • 3664 Wyświetleń
*

Offline wel

  • *
  • 3
    • Zobacz profil
Pytanie do EFC-01:TCP/IP:Polecenia:EditTimerConfig
« dnia: Maja 21, 2020, 20:41:43 »
Integruje Amazon Dot z Alexą do EFC-01 i mam taki problem:

Dokumentacja: https://www.forumextalife.pl/wiki/index.php?title=EFC-01:TCP/IP:Polecenia ma brakujące informację na temat polecenia które potrzebuje.

Po wysłaniu polecenia w pythonie:
import socket

host = '192.168.100.100'
port = 20400                   # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
s.sendall(b'{"command":1,"data":{"login":"*****","password":"*****"}}')
data = s.recv(1024)
print('Received', repr(data))
s.sendall(b'{"command":61,"data": {"id": 1}}')
data = s.recv(1024)
print('Received', repr(data))

Dostaję odpowiedź:
('Received', '\'{"command":61,"status":"success","data":{"id":1,"func_type":5,"state":{"type":2,"alias":"Moj_alias_123","running":true},"conf":{"scene":{"id":4,"func_type":4,"type":1,"alias":"Moja_scena_123","state":{"elements":5,"running":false}},"time":"19:50","days":[0,1,2,3,4,5,6]}}}\\x03\'')
W jaki spósób wysłać polecenie zmiany godziny z 19:50 na 21:00?

Takie coś daje mi błąd -10 Invalid Input:
s.sendall(b'{"command":62,"data":{"id":1,"func_type":5,"conf":{"time":"21:00","days":[0,1,2,3,4,5,6]}}}')
data = s.recv(1024)
print('Received', repr(data))

*

Offline wel

  • *
  • 3
    • Zobacz profil
Odp: Pytanie do EFC-01:TCP/IP:Polecenia:EditTimerConfig
« Odpowiedź #1 dnia: Maja 21, 2020, 21:53:13 »
Ok chyba udało się:

s.sendall(b'{"command":62,"data":{"id":1,"type":2,"conf":{"scene_id":4,"time":"21:00","days":[0,1,2,3,4,5,6]}}}')
data = s.recv(1024)
print('Received', repr(data))

Jak mogę edytować wiki?

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Pytanie do EFC-01:TCP/IP:Polecenia:EditTimerConfig
« Odpowiedź #2 dnia: Maja 23, 2020, 21:26:13 »
Ok chyba udało się:

s.sendall(b'{"command":62,"data":{"id":1,"type":2,"conf":{"scene_id":4,"time":"21:00","days":[0,1,2,3,4,5,6]}}}')
data = s.recv(1024)
print('Received', repr(data))

Jak mogę edytować wiki?
Witaj! Po tylu latach w końcu ktoś w temacie :)
Tak, na Wiki opisane są tylko niektóre polecenia. Zasadniczo te, które były mi potrzebne do integracji z Home Assistant.
Dodałem ci rolę Wiki Editor, więc powinieneś teraz być w stanie zalogować się do Wiki i edytować - user i hasło to samo co do forum.

A jak zamierzasz zintegrować Exta Life z Alexą i Amazon Dot? Tworzysz jakiś samodzielnie działający komponent do tego czy użyjesz jakiegoś systemu typu? Ja do integracji z Google Assistant / Google Home używam Home Assistant. Zrobiłem dla niego integrację (komponent) i on zajmuje się całą komunikacją między Exta Life a głośnikiem lub asystentem.

Cieszę się, że w końcu po tylu latach znalazł się kolejny developer :)
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 wel

  • *
  • 3
    • Zobacz profil
Odp: Pytanie do EFC-01:TCP/IP:Polecenia:EditTimerConfig
« Odpowiedź #3 dnia: Maja 24, 2020, 18:35:28 »
Dodałem opis: EditTimerConfig  https://www.forumextalife.pl/wiki/index.php?title=EFC-01:TCP/IP:Polecenia:EditTimerConfig

EFC-01 podpiełem kablem ethernet do Raspberry Pi 2. RPi jest podpięte do tej samej sieci WiFi co Amazon Dot. Na Rpi uruchomiłem https://flows.nodered.org Node Red i przygotowałem skrypt w Pythonie do kontroli urzadzeń (używam tego komponentu: https://flows.nodered.org/node/node-red-contrib-amazon-echo) .
Zasilanie kontrolera EFC-01  jest sterowane z RPi, czasami się mój kontroler zawiesza i go zdalnie restartuje.

Jak mówie do Alexy:
Alexa turn on office light - zapala się światło w gabinecie
Alexa turn off office light - analogicznie gaśnie światło
Alexa, set office blind to 50% - rolety zasuwaja się do połowy

Alexa kontroluje urządzenia Zamela lokalnie komunikując się po WiFi z RPi. Jedynie co to Amazon Dot musi mieć dostęp do internetu aby zrozumieć polecenie głosowe.
W załączniku schemat z node red (wyciełem tylko nazwy urządzeń :) ).
« Ostatnia zmiana: Maja 24, 2020, 18:47:02 wysłana przez wel »

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Pytanie do EFC-01:TCP/IP:Polecenia:EditTimerConfig
« Odpowiedź #4 dnia: Maja 25, 2020, 21:49:33 »
Dzięki za dodanie opisu dla tego polecenia! 👍

W sumie ciekawy pomysł na integrację. Dość prosty, bo nie trzeba prawie żadnego systemu oprócz NodeRED i skryptu Python. Do sterowania głosowego faktycznie wystarczy. Jeśli jednak zapragniesz czegoś więcej czyli definiowania automatyki, szczególnie złożonej oraz sterowania innymi urządzeniami, którymi nie da się bezpośrednio sterować z Alexy to zachęcam Cię do spróbowania www.home-assistant.io. Na forum dostępna jest integracja Exta Life do tego systemu. Będziesz miał nadal sterowanie głosowe, bo Alexa jest obsługiwana, a poza tym możliwość sterowania tysiącem różnych systemów.
Jak dla mnie to system na prawdę niemal idealny.
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