Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Styre komponenter i Home Assistant via MQTT


Anbefalte innlegg

Home Assistant er veldig flink til å publisere alt den vet fra komponentene sine via MQTT statestream. Det den ikke er så god på er andre veien, altså å lytte på MQTT og la deg styre komponentene sine. Jeg fant et tips her: https://community.home-assistant.io/t/using-mqtt-to-control-devices/77787

 

Kan noen som er godt utstyrt med teskjeer forklare meg nøyaktig hva som gjøres her:

- alias: Control switches via MQTT
  trigger:
    platform: mqtt
    topic: +/switch/+/cmd
  action:
    - service_template: >
        homeassistant.turn_{{trigger.payload}}
      data_template:
        entity_id: >-
          {{ trigger.topic.split('/')[-3] }}.{{ trigger.topic.split('/')[-2] }}

...og - aller viktigst - kan dette gjøres så generelt at det kan brukes til å styre andre ting enn switcher også?

Lenke til kommentar
Del på andre sider

Innkommende MQTT topic er definert med  wildcards ('+')  så den kan i virkeligheten f.eks se sånn ut: homeassistant/switch/soverom/cmd. Tilhørende payload er 'on' eller 'off'.

 

homeassistant.turn_{{trigger.payload}}

Linjen over legger til innkommende payload 'on' eller 'off' og setter det sammen til 'homeassistant.turn_on' eller 'homeassistant.turn_off'

 

{{ trigger.topic.split('/')[-3] }}.{{ trigger.topic.split('/')[-2] }}

Linjen over bygger opp enity id som skal styres ut fra elementene i innkommende topic. Er ikke helt trygg på hvordan "split" fungerer i praksis men jeg tror eksempelet over vil bli til switch.soverom

 

Så da får du: homeassistant.turn_on { "entity_id": "switch.soverom" } eller homeassistant.turn_off { "entity_id": "switch.soverom" }

Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.