Integrace 2N IP Verso do HA

Něco nepracuje správně?
Výstrahy chyb a varování v logu.
Odpovědět
bruxmeister
Nováček na fóru
Nováček na fóru
Příspěvky: 3
Registrován: 09. březen 2023, 09:02

Integrace 2N IP Verso do HA

Příspěvek od bruxmeister »

Ahoj,

přišel jsem si pro radu, s HA jsem nedávno začal a zasekl jsem se na problému konfigurace.
Mám doorbel IP Verso od 2N, a chtěl bych v HA mít tlačítko, kterým otevřu vchodové dveře. Studoval jsem jak na to a došel jsem k tomuto:

2N má API https://wiki.2n.com/hip/hapi/latest/en/1-uvod přes kterou je možné dveře otvírat. Dokázal jsem zprovoznit dle příkladu: https://10.0.23.193/api/switch/ctrl?switch=1&action=on (mám zaplou autorizaci s vydefinovaným userem a heslem pro HA) a to projde, dveře se otevřou. Takže zbýva to ingrovat do HA.

Vyčetl jsem, že musím v kartě Button vybrat "call service", kterou nejspíše vytvořím pomocí konfigurace yaml https://www.home-assistant.io/integrati ... t_command/.

Zkoušel jsem dle příkladů konfiguraci sestavit, ale nedaří se, v kartě Button moje service není. Nejspíše špatně konfiguruji nastavení, s prácá v HA se teprve seznamuji, dokáže mi někdo poradit prosím?
Moje konfigurace:

Kód: Vybrat vše

rest_command:
  front_door:
    url: "https://10.0.23.193/api/switch/ctrl?switch=1&action=on"
    method: POST
    username: nejakyuser
    password: nejakeheslo

Uživatelský avatar
acerot
Pokročilý
Pokročilý
Příspěvky: 118
Registrován: 12. prosinec 2022, 15:44
Dal poděkování: 2 poděkování
Dostal poděkování: 24 poděkování

Re: Integrace 2N IP Verso do HA

Příspěvek od acerot »

Existuje tvoje služba v Nástroje pro vývojáře / Služby / RESTful command.... ? Jestli ano, vyzkoušej ji nejprve voláním odtud. Až bude fungovat, dáš ji do Dashboardu do tlačítka. Pokud ji ve Službách nevidíš, nejspíš ji HA nevytvořilo, možná chyba syntaxe apod. Koukni do Logu (Nastavení / Systém / Logy), jestli si tam HA nestěžuje, že kvůli něčemu nemohlo službu vytvořit.

UPDATE: Jestli posíláš skutečně jen URL a neposíláš žádný payload (tělo), tak klidně změň POST na GET. POST posílá data v těle, GET data v těle neposílá.

bruxmeister
Nováček na fóru
Nováček na fóru
Příspěvky: 3
Registrován: 09. březen 2023, 09:02

Re: Integrace 2N IP Verso do HA

Příspěvek od bruxmeister »

Díky za reakci.
Služba neexistuje. Posílám jen URL, pokud, jak jsem psal, jsem příkaz poslal v prohlížeči, tak mi API vrátila nějaké informace, ale to pro mě není asi důležité.

Method jsem změnil na GET.
Koukl jsem do logů, 3 chyby, které mi to hlásilo ještě předtím, než jsem jsem napsal, tak ty jsem opravil.
Zbyla tam tato chyba:

Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/connection.py:119
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 10:27:43 (6 occurrences)
Last logged: 10:31:08

[547463983888] Error handling message: required key not provided @ data['service']. Got None (invalid_format) Sleepy Hollow from fe80::něconěconěco (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36)

EDIT: Ale myslím, že je to chyba, kdy se snažím volat neexistující službu v kartě Button.
EDIT2: Pokud to kontroluji, tak chybu v syntaxi neeviduje. Můj tip na problém je, že mam špatně sestaveny config, protože to nedokážu zřejmě správně vyčíst z dokumentace k API, viz link výše.

bruxmeister
Nováček na fóru
Nováček na fóru
Příspěvky: 3
Registrován: 09. březen 2023, 09:02

Re: Integrace 2N IP Verso do HA

Příspěvek od bruxmeister »

Tak po pár hodinách zkoušení se mi to povedlo nastavit.

aktuální config:

Kód: Vybrat vše

rest_command:
  front_door_service:
    url: http://xxx.xxx.x.../api/switch/ctrl?switch=1&action=on
    method: GET
    payload: '{}'
    content_type: 'application/json; charset=utf-8'
Tuto službu už vidím v dev tools, a test služby provede co má.
S čím mám problém je to, že je to v yaml bez autorizace. Chtěl bych rozchodit alespoň basic auth, který jak jsem se dočetl, potřebuje definici username a password.

Pokud config upravím na:

Kód: Vybrat vše

rest_command:
  front_door_service:
    url: http://xxx.xxx.x.../api/switch/ctrl?switch=1&action=on
    method: GET
    username: user
    password: heslo
    payload: '{}'
    content_type: 'application/json; charset=utf-8'
tak už služba nefunguje.
Stejnou konfiguraci pošlu přes Postmana, tak příkaz zafunguje.
Netuším už, kde by mohla být chyba.
Někdo nějaký nápad? :roll:

Odpovědět

Zpět na „Problémy - Logy - Chyby - Varování“