design Domoticz + MQTT

Forum dédié au protocole MQTT : fonctionnement, intégration ...
Pour les questions concernant le plugin de FlyingDomotic, merci d'utiliser le sous-forum dédié.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: design Domoticz + MQTT

Message 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
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: design Domoticz + MQTT

Message 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.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
sasquash
Messages : 1
Inscription : 23 sept. 2017, 01:37

Re: design Domoticz + MQTT

Message 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.
Répondre