mk1 black limited Skrevet 15. mai 2019 Skrevet 15. mai 2019 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å? Siter
olka Skrevet 16. mai 2019 Skrevet 16. mai 2019 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" } Siter
Anbefalte innlegg
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.