Page 3 sur 3

Re: design Domoticz + MQTT

Publié : 31 mai 2018, 05:33
par papoo
Il a été conçu pour remonter du tasmoda en effet
Mais il est librement modifiable pour s’adapter aux particularités du matériel que tu souhaites remonter dand domoticz

Re: design Domoticz + MQTT

Publié : 25 juil. 2018, 20:22
par rimram31
Je réfléchissais a quelque chose d'analogue pour pouvoir intégrer des devices domoticz dans Home Assistant (https://www.home-assistant.io/). J'ai fini par trouver une solution qui utilise le principe des "automation" de ha pour écouter le topic domoticz/in et réécrire en incluant un id (j'ai pris l'idx) dans les identifiants de topic. Idem dans l'autre sens on écoute un topic "compliant" et on écrit alors dans domoticz/out pour piloter dz.

J'ai trouvé l'astuce ici: https://community.home-assistant.io/t/h ... cz/8375/12 merci a Petrica. Par exemple pou transformer les informations d'un capteur de T, dans les automations de home assistant:

Code : Tout sélectionner

- alias: DZ temp+humidity
  trigger:
     - platform: mqtt
       topic: 'domoticz/out'
  condition: 
     condition: template
     value_template: '{{ trigger.payload_json.dtype == "Temp + Humidity" }}'
  action:
     - service: mqtt.publish
       data_template:
         topic: 'home/sensor/{{ trigger.payload_json.idx }}/temp'
         payload_template: '{{ trigger.payload_json.svalue1 }}'
     - service: mqtt.publish
       data_template:
         topic: 'home/sensor/{{ trigger.payload_json.idx }}/hum'
         payload_template: '{{ trigger.payload_json.svalue2 }}'
HA souscrit au topic domoticz et republie sur des topics incluant un identifiant de capteurs.

Pour un switch:

Code : Tout sélectionner

- alias: DZ switches
  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 %}'
Et là, on peut définir le sens inverse, mqtt => dz, par exemple:

Code : Tout sélectionner

- 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 }}" }'
Le device écrit dans le topic home/switch/1234/power "On" et l'automation HA va réécrire dans domoticz/in pour piloter le device domoticz tel qu'attendu par dz.

Inconvénient, ça demande l'installation de home assistant (pas trivial a comprendre) et demande de savoir comment fonctionne les "templates" ha. Avantage par contre c'est facile a modifier/adapter.

Re: design Domoticz + MQTT

Publié : 07 sept. 2018, 10:54
par sasquash
Pour te dire que je partage totalement le constat et la démarche. Au delà de la simple solidarité gauloise.
Mon projet est : arduino W5100, rpi, serveur, mqtt, ws, nodered, domoticz, dashticz.
Prérequis : tout en filaire, aucun traitement dans arduino, aucun produit propriétaire sauf win10.

N'étant pas issue du monde informatique, j'ai plutôt une vision 'utilisateur final', et trois choses m'étonnent :
- l'inutile complexité autour de certains sujets comme mqtt/json/domoticz,
- la foultitude de tutos ayant pour seule ambition que d'allumer une led sur un coin de paillasse,
- certains développeurs qui semblent concevoir la domotique uniquement par et pour eux (dixit le pitbull de github!).

D'un autre côté, il y a tous ceux qui veulent que la domotique s'émancipe de ses créateurs et devienne accessible au plus grand nombre en restant ambitieuse.
Je pense aux contributeurs de github, dashticz, mqtt et à bien d'autres encore dont tu fais partie.
Respect pour ton travail et bonne continuation.