Acties:
  • +1Henk 'm!
Achtergrond:
Vorig jaar is mijn nieuwbouwhuis opgeleverd. Vanuit de bouw is daar een smart home systeem, genaamd One Smart Control ingebouwd (zie ook: [Domotica] One Smart Control)

Helaas is het een enorm gesloten systeem, wat dus alleen via de knoppen op de muur en via de eigen app bediend kan worden. Wel zeggen ze (inmiddels al 1,5 jaar of zo) dat er ondersteuning voor Google Assistant komt. Buiten dat is er geen web-interface of api.

Buiten Google Assistant (via een aantal Google Home apparaten) gebruik ik ook Home Assistant (zie: Home Assistant: Open source Python3 home automation - deel 2). Daarin kan ik van alles automatiseren, bijvoorbeeld dat de lichten uit moeten gaan als er niemand meer thuis is. Echter kan ik daar dus niet mijn One Smart Control systeem mee bedienen. Ik kan uiteraard slimme lampen (bijvoorbeel Hue, of in mijn geval Tuya) gebruiken, maar het nadeel daarvan is weer dat die niet werken als je de wandknop gebruikt, de stroom is er dan immers af.

Nu bedacht ik me dat het wellicht mogelijk is om Google Assistant aan te sturen via Home Assistant, en na een korte zoektocht kwam ik op Google Assistant Relay uit (zie: https://github.com/Apipa169/Assistant-Relay-for-Hassio)

Nu kan het best nog lang duren voordat Google Assistant werkt met One Smart Control, maar ik wilde vast voorbereid zijn, en alvast uitzoeken hoe het dan zou kunnen werken

Wellicht ook handig om te melden, ik heb bar weinig programmeerervaring, en ben ook pas een goeie maand ofzo met Home Assistant bezig. Ik knoop van alles aan elkaar wat ik via Google vind, en hoop dan maar dat het werkt :)
Waarom een apart topic
Omdat het zowel Home Assistant en Google Assistant raakt, wist ik niet echt waar ik het kwijt moest. Daarnaast dacht ik dat het wellicht wat een te groot onderwerp is voor in een verzameltopic, ook omdat anderen misschien ook met dit probleem worstelen (wellicht niet met One Smart Control, maar met een ander systeem wat ook alleen via Google Assistant aan te sturen is).
Wat ik tot op heden gedaan heb
Allereerst heb ik Google Assistant Relay geïnstalleerd. Dat ging vrij soepel via de instructies op de Github pagina. Als je de stappen volgt moet dat op zich wel goed gaan. Je moet wel in de Google Console een API aanmaken, maar alles wordt vrij duidelijk omschreven.

Om vervolgens de Google Assistant Relay ook in Home Assistant te kunnen gebruiken, moet je het volgende toevoegen aan je configuration.yaml:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# assistant relay
rest_command:
  assistant_broadcast:
    url: http://192.168.2.179:3000/assistant
    method: POST
    content_type: 'application/json'
    payload: '{"command":"{{ command }}", "user":"TheFes", "broadcast":true}'
    
  assistant_converse:
    url: http://192.168.2.179:3000/assistant
    method: POST
    content_type: 'application/json'
    payload: '{"command":"{{ command }}", "user":"TheFes", "converse":true}'

  assistant_relay:
    url: http://192.168.2.179:3000/assistant
    method: POST
    content_type: 'application/json'
    payload: '{"command":"{{ command }}", "user":"TheFes"}'

Vervang in bovenstaande code het IP adres naar jouw lokale IP, en de username naar de username die je tijdens de configuratie van Google Assistant Relay aangemaakt hebt. Alleen de laatste is nodig om commando's als "zet het licht aan" te sturen. De bovenste twee zijn voor broadcasts naar je Google Home apparaten.

Daarna heb ik een dummy lamp aangemaakt in Home Assistant. Aangezien ik One Smart Control nog niet kan aansturen, ga ik onderstaande voorbeelden een Tuya lamp schakelen. Vrij nutteloos natuurlijk want die kan ik ook gewoon direct in Home Assistant schakelen, maar voor nu is dit een concept-test.

configuration.yaml
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# de dummy lamp zelf
light:
  - platform: template
    lights:
      test_staande_lamp:
        friendly_name: "Test Staande lamp"
        turn_on:
          service: input_boolean.turn_on
          entity_id: input_boolean.test_staande_lamp
        turn_off:
          service: input_boolean.turn_off
          entity_id: input_boolean.test_staande_lamp
        set_level:
          service: input_number.set_value
          data_template:
            value: "{{ brightness }}"
            entity_id: input_number.test_staande_lamp

# een input_boolean die aan/uit schakelt
input_boolean :
  test_staande_lamp:

# een input_number om de helderheid in te stellen
input_number:
  test_staande_lamp:
    min: 0
    max: 100


Na een reboot heb je dan vervolgens een lamp! Je kunt de helderheid instellen (van 1 tot 100%) en de lamp aan en uitzetten. Alleen er gebeurt uiteraard nog niets. Voor het aan/uit-zetten heb ik twee scripts en een automation gemaakt. Het schakelen van de helderheid kon met alleen een automation.

scripts.yaml:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
test_staandelamp_on:
  alias: Test Staande Lamp On
  sequence:
  - data:
      command: zet staande lamp aan
    service: rest_command.assistant_relay
test_staandelamp_off:
  alias: Test Staande Lamp Off
  sequence:
  - data:
      command: zet staande lamp uit
    service: rest_command.assistant_relay


automations.yaml:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- id: '1592232113619'
  alias: Test Staande Lamp GA
  trigger:
  - entity_id: input_boolean.test_staande_lamp
    platform: state
  action:
  - service_template: script.test_staandelamp_{{trigger.to_state.state}}
- id: '15922321136191'
  alias: Test Staande Lamp GA brightness
  trigger:
  - entity_id: input_number.test_staande_lamp
    platform: state
  action:
  - data_template: 
      command: "zet staande lamp op {{ trigger.to_state.state | int }} procent"
    service: rest_command.assistant_relay


Zoals je ziet gebruik ik Google Assistant in het Nederlands. Dat is ook waarom ik voor aan/uit wel scripts nodig had, en voor de helderheid niet. De state van de boolean is namelijk on of off, en in mijn Google Assistant commando heb ik aan en uit nodig. Ik kan dus niet direct de state van de boolean gebruiken.

Wat ik nu doe is de state van de boolean gebruiken als een wildcard in de automation om te bepalen of het on-script of het off-script getriggerd moet worden.

Bij een getal speelt dit taalprobleem niet, en de stat van het input_number kan dus wel meteen in de automation gebruikt worden. Als je Google Assistant in het Engels gebruikt, zou je het aan/uit-schakelen dus ook in een automation kunnen afvangen, zonder de twee scripts.

Na het herladen van de scripts en automations (of na een reboot van Home Assistant) zou het moeten werken.

Als je nu de test-lamp aanzet, wordt er via de Google Assistant Relay het commando "zet staande lamp aan" gestuurd naar Google Assistant, en gaat de staande lamp aan.

Op zich heb ik nu al wel iets wat zou kunnen werken voor automatiseringen. Bijvoorbeeld dus om alle lampen uit te zetten als ik weg ga. Voor die automatisering zou zelfs één dummy lamp genoeg zijn, die dan het commando "zet alle lampen uit" triggert
Wat ik met dit topic wil
  • Allereerst dus wellicht andere mensen helpen die een vergelijkbaar probleem hebben
  • Tips krijgen om bovenstaande te verbeteren
  • Onderstaand probleem oplossen
Bovenstaande werkt maar één kant op. Je kunt wel via Home Assistant een lamp aan/uitzetten of de helderheid wijzigen, en dat zie je dan ook in Google Assistant terug, maar als je met je Google Home een lamp uitzet, blijft je dummy lamp in Home assistant gewoon aan.

Ik heb nog niets bedacht om die wijzigingen ook weer naar de dummy lamp terug te sturen.

Dat zorgt ook voor een probleem. Stel de dummy lamp staat uit, en je zet vervolgens via de Google Home de lamp aan. De staat van de dummy lamp verander dan niet. Als je vervolgens via een automation of script in Home Assistant de dummy lamp uitzet, verander de staat ook niet, en wordt Google Assistant Relay dus niet getriggerd. Ofwel als iedereen het huis verlaten heeft, gaat de lamp alsnog niet uit.

Daarvoor zoek ik dus ie ieder geval nog een oplossing :)

Home Assistant configuratie


  • jvbragt
  • Registratie: Januari 2012
  • Laatst online: 26-09 13:43
Dank je, ga ik mee aan de gang! Ik krijg mijn Action lampen niet aan de gang omdat ik ze via de indio app gebruik.
jvbragt schreef op vrijdag 11 september 2020 @ 13:09:
Dank je, ga ik mee aan de gang! Ik krijg mijn Action lampen niet aan de gang omdat ik ze via de indio app gebruik.
Is het niet makkelijker om de lampen opnieuw te koppelen met de Tuya app? Daar kun je ook gewoon je LSC lampen in koppelen en dan dus direct in HA de Tuya integratie gebruiken.

De Google Assistant integratie voor mijn smart home systeem is er nog steeds niet. Dus heb het zelf nog niet in gebruik.

Home Assistant configuratie


  • jvbragt
  • Registratie: Januari 2012
  • Laatst online: 26-09 13:43
Ik zal daar eens naar kijken. De scripts werken wel, maar het aan en uit zetten via een switch nog niet.

Acties:
  • 0Henk 'm!

  • thomasb14
  • Registratie: Juli 2019
  • Laatst online: 17-09 18:28
Hoe kom je eigenlijk aan deze id's
- id: '1592232113619'
?

Acties:
  • 0Henk 'm!
thomasb14 schreef op zondag 30 mei 2021 @ 21:32:
Hoe kom je eigenlijk aan deze id's
[...]
?
Dat zijn id's die Home Assistant toekent als je de automation in de GUI maakt.

Home Assistant configuratie


Acties:
  • 0Henk 'm!

  • thomasb14
  • Registratie: Juli 2019
  • Laatst online: 17-09 18:28
TheFes schreef op zondag 30 mei 2021 @ 21:40:
[...]

Dat zijn id's die Home Assistant toekent als je de automation in de GUI maakt.
Ah, zo. Ik vind het allemaal nog erg moeilijk moet ik zeggen. :-|
Is voor mij de eerste keer Home Assistant.

Acties:
  • 0Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 01:47

AW_Bos

Liefhebber van nostalgie... 🕰️

Ik zit even te kijken, maar het komt erop neer dat je voor dit geen poorten hoeft te openen in je router?

☀️ Goedemorgen zonneschijn! ☀️
☀️Ja, je maakt me zo gelukkig, en door jou voel ik me fijn! ☀️


Acties:
  • 0Henk 'm!

  • thomasb14
  • Registratie: Juli 2019
  • Laatst online: 17-09 18:28
@TheFes hoe heb je eigenlijk de slider werkend gekregen? Ik krijg iedere keer deze melding:
code:
1
Error executing script. Invalid data for call_service at pos 1: Invalid value for input_number.kleinslaap_wandlampen: 171.0 (range 0.0 - 100.0)[0m

Acties:
  • 0Henk 'm!
thomasb14 schreef op maandag 31 mei 2021 @ 10:14:
@TheFes hoe heb je eigenlijk de slider werkend gekregen? Ik krijg iedere keer deze melding:
code:
1
Error executing script. Invalid data for call_service at pos 1: Invalid value for input_number.kleinslaap_wandlampen: 171.0 (range 0.0 - 100.0)[0m
Wat wil je precies bereiken?

Mijn post was een erg specifieke use case, waarbij ik probeerde iets met een gesloten systeem via Google Assistant in Home Assistant te knutselen.

Ik heb het uiteindelijk nooit in gebruik genomen, en ben de modules gaan vervangen voor Shellies die gewoon goed in HA werken. Ook omdat One Smart Control ook nog steeds geen koppeling met Google Assistant gemaakt heeft.

Ik verwacht dat je (zeker als beginnend HA gebruiker) een stuk meer hebt aan het algemeen HA topic
Home Assistant: Open source Python3 home automation - deel 4
Dit topic is ook al weer een jaar oud, en inmiddels zou ik het waarschijnlijk allemaal al weer anders doen. Omdat mijn kennis vergroot is, maar ook omdat HA weer een hoop veranderd is.

Overigens geeft je error aan dat je 171 wil toekennen aan een input_number die maar van 1 tot 100 gaat.

Home Assistant configuratie


Acties:
  • 0Henk 'm!

  • thomasb14
  • Registratie: Juli 2019
  • Laatst online: 17-09 18:28
TheFes schreef op maandag 31 mei 2021 @ 10:31:
[...]


Wat wil je precies bereiken?

Mijn post was een erg specifieke use case, waarbij ik probeerde iets met een gesloten systeem via Google Assistant in Home Assistant te knutselen.

Ik heb het uiteindelijk nooit in gebruik genomen, en ben de modules gaan vervangen voor Shellies die gewoon goed in HA werken. Ook omdat One Smart Control ook nog steeds geen koppeling met Google Assistant gemaakt heeft.

Ik verwacht dat je (zeker als beginnend HA gebruiker) een stuk meer hebt aan het algemeen HA topic
Home Assistant: Open source Python3 home automation - deel 4
Dit topic is ook al weer een jaar oud, en inmiddels zou ik het waarschijnlijk allemaal al weer anders doen. Omdat mijn kennis vergroot is, maar ook omdat HA weer een hoop veranderd is.

Overigens geeft je error aan dat je 171 wil toekennen aan een input_number die maar van 1 tot 100 gaat.
Ik heb zelf thuis helaas een gesloten domotica systeem die ik graag wil integreren met HA.
Ik zal zeker eens gaan kijken naar het topic!

Die error code kreeg ik na het gebruik van je code haha. Maar ik zal eens kijken hoe ik kan omzeilen. :)

Acties:
  • +1Henk 'm!
thomasb14 schreef op maandag 31 mei 2021 @ 21:08:
[...]


Ik heb zelf thuis helaas een gesloten domotica systeem die ik graag wil integreren met HA.
Ik zal zeker eens gaan kijken naar het topic!

Die error code kreeg ik na het gebruik van je code haha. Maar ik zal eens kijken hoe ik kan omzeilen. :)
Je moet de input number op max 255 zetten in plaats van 100

Die moet je dan wel omrekenen naar percentages voor de automation denk ik

[Voor 8% gewijzigd door TheFes op 31-05-2021 21:40]

Home Assistant configuratie


  • henkkeumus
  • Registratie: Juli 2010
  • Laatst online: 23:03
Hey,

Ik stuit op je topic omdat de repo Assistant Relay niet meer werkt, heb jij dit wellicht op een andere manier nu werkend gekregen? Ik heb namelijk een A/C unit die ik wel kan bedienen via HA als die aanstaat, maar ik kan hem niet aan/uit zetten.. Er is een intergratie met Google Home waarmee ik hem wel kan bedienen dus als ik via die relay een het command aan of uit aan een knop kan binden is het daarmee opgelost natuurlijk.

[Voor 26% gewijzigd door henkkeumus op 21-04-2022 14:11]

Ik heb het nooit in gebruik genomen. Ik heb de modules eruit gesloopt en vervangen voor iets wat gewoon in HA werkt.

Home Assistant configuratie

Pagina: 1



Google Pixel 7 Sony WH-1000XM5 Apple iPhone 14 Samsung Galaxy Watch5, 44mm Sonic Frontiers Samsung Galaxy Z Fold4 Insta360 X3 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee