Dispositivos Domoticz en HomeAssistant atraves de Mqtt

Para los sensores de temperatura, tengo una automatización que reescribió domoticz / out a un tema «/ home / … idx … / temp como este:

  • alias: DZ temp trigger:
    • platform: mqtt
      topic: ‘domoticz/out’
      condition:
      condition: template
      value_template: ‘{{ trigger.payload_json.dtype == «Temp» }}’
      action:
    • service: mqtt.publish
      data_template:
      topic: ‘home/sensor/{{ trigger.payload_json.idx }}/temp’
      payload_template: ‘{{ trigger.payload_json.svalue1 }}’
      Tengo otra automatización similar para Temp y Humedad.

Después de que puedas crear un sensor de ha como este:

  • platform: mqtt
    state_topic: ‘home/sensor/123/temp’ …
    He hecho lo mismo para los interruptores, para los interruptores también tengo una automatización para reescribir los mensajes a domoticz / in. Un conmutador dz se configura así:
  • platform: mqtt
    name: «…»
    command_topic: «home/switch/12345/power»
    state_topic: «home/switch/12345/state»
    payload_on: «On»
    payload_off: «Off»
    qos: 1
    retain: true
    Un primer script leía domoticz / out para reescribir estados desde dz:
  • alias: DZ input
    trigger:
    • platform: mqtt
      topic: ‘domoticz/out’
      condition:
      condition: template
      value_template: ‘{{ trigger.payload_json.dtype == «Light/Switch» }}’
      action:
    • service: mqtt.publish
      data_template:
      topic: ‘home/switch/{{ trigger.payload_json.idx }}/state’
      payload_template: ‘{% if trigger.payload_json.nvalue == 1 %} On {% else %} Off {% endif %}’
      Y un segundo tema de poder reescrito para domoticz / en tema y carga útil esperada:
  • alias: DZ switch send value as dz expect
    trigger:
    • platform: mqtt
      topic: ‘home/switch/+/power’
      action:
    • service: mqtt.publish
      data_template:
      topic: ‘domoticz/in’
      payload_template: ‘{«command»: «switchlight», «idx»: {{ trigger.topic.split(«/»)[-2] }}, «switchcmd»: «{{ trigger.payload }}» }’
      Mismo principio para el termostato.

climate:

  • platform: mqtt
    name: Thermostat confort
    temperature_command_topic: ‘home/thermostat/18/target’
    temperature_state_topic: ‘home/thermostat/18/state’
    Y:
  • alias: thermostat get value
    trigger:
    • platform: mqtt
      topic: ‘domoticz/out’
      condition:
      condition: template
      value_template: ‘{{ trigger.payload_json.dtype == «Thermostat» }}’
      action:
    • service: mqtt.publish
      data_template:
      topic: ‘home/thermostat/{{ trigger.payload_json.idx }}/state’
      payload_template: ‘{{ trigger.payload_json.svalue1 }}’
  • alias: dz resend values
    trigger:
    • platform: mqtt
      topic: ‘home/thermostat/+/target’
      action:
    • service: mqtt.publish
      data_template:
      topic: ‘domoticz/in’
      payload_template: ‘{«command»: «udevice», «idx»: {{ trigger.topic.split(«/»)[-2] }}, «svalue»: «{{ trigger.payload }}»}’
      Creo que este principio se puede utilizar para otros tipos de dispositivos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *