OUI j’ai essayé majuscule ON, On, on
R1 passe bien sur On dans MQTT Explorer (voir photo au dessus)
J’ai passé en manuel R1 sur On pour voir s’il passe sur Off en envoyant la commande via MQTT Eplorer c’est la même chose, rien au niveau du relais1
c’est bien étrange tout ça. A moins que je m’y prenne à l’envers peut-être ? et qu’il faudrait publier en IN et non pas en OUT ?
EDIT : Essaie de publier un ON ici :
/dingtian/relay17660/in/r1
Oufffffffffffffffff, cette fois c’est bon,
Pas évident.
Désolé pour le coup, c’est moi qui ai résonné à l’envers ![]()
On est sûr des commandes à envoyer, et que le relais réagit bien comme il faut aux commandes MQTT. Il fallait le faire pour être certain.
Il va juste falloir que tu te notes quel relais actionne qui entre r1, r2, r3, r4 … X tous tes relais ![]()
Et après on va pouvoir remplir convenablement le configuration.yaml
Encore merci pour ta patience.
Je vais identifier chaque entrée et chaque sortie, pour les entrées ou sorties non utilisées je peux par exemple les nommées Rx et Sx (x étant le chiffre de l’entrée et de la sortie correspondante).
Et ensuite pouvoir les renommées dans configuration.yaml lorsque j’utilise le relais ou la sortie?
Avec les différentes manipulations que nous avons faite il m’a semblé qu’une fois nommé dans config.yaml c’était gravé dans le marbre et qu’il gardait en mémoire la première identification.
avec plaisir. La patience, c’est LA qualité nécessaire quand on est dans la domotique et qu’on met les mains dans le cambouis.
Oui tout à fait, c’est le fichier de configuration qui est utilisé lors du démarrage de Home Assistant. Mais c’est modifiable tout de même, si à un moment où à un autre, tu as envie de modifier les noms, ou ajouter d’autres appareils ça se fait très bien.
Chaque sortie de chaque relais doit bien être répertoriée oui, avec un nom explicite, afin que tu t’y retrouves. Parce que tu n’en as pas qu’un seul ![]()
![]()
Si je sais compter tu as 42 sorties relais en tout. (Après peut-être que tout n’est pas utilisé)
Pour l’instant je n’utilise pas tout ,comme ça j’ai pas mal de disponibilités sur l’ensemble de mon réseau.
J’ai ajouté au fil des ans des matériels,
et ça commence à devenir une usine à gaz ![]()
C’est quand même plus simple quand tu ajoutes au fur et à mesure, que de migrer une installation entière.
Toutes mes entrées et sorties étaient déjà répertoriées sur plan, j’ai vérifié et mis sur tableau Exel.
NORMALEMENT, là, ça devrait être bon.
C’est la configuration pour les 4 relais de ta carte 17660.
(Y’a plus qu’à mettre les bons noms à la place de « Relais 1 », « Relais 2 » etc…)
mqtt:
switch:
- unique_id: dingtian_relay17660_r1
name: "Dingtian Relay 17660 - Relais 1"
command_topic: "/dingtian/relay17660/in/control"
state_topic: "/dingtian/relay17660/out/r1"
availability:
- topic: "/dingtian/relay17660/out/lwt_availability"
payload_available: "online"
payload_not_available: "offline"
payload_on: '{"type":"ON/OFF","idx":"1","status":"ON","time":"0","pass":"0"}'
payload_off: '{"type":"ON/OFF","idx":"1","status":"OFF","time":"0","pass":"0"}'
state_on: "ON"
state_off: "OFF"
- unique_id: dingtian_relay17660_r2
name: "Dingtian Relay 17660 - Relais 2"
command_topic: "/dingtian/relay17660/in/control"
state_topic: "/dingtian/relay17660/out/r2"
availability:
- topic: "/dingtian/relay17660/out/lwt_availability"
payload_on: '{"type":"ON/OFF","idx":"2","status":"ON","time":"0","pass":"0"}'
payload_off: '{"type":"ON/OFF","idx":"2","status":"OFF","time":"0","pass":"0"}'
state_on: "ON"
state_off: "OFF"
- unique_id: dingtian_relay17660_r3
name: "Dingtian Relay 17660 - Relais 3"
command_topic: "/dingtian/relay17660/in/control"
state_topic: "/dingtian/relay17660/out/r3"
availability:
- topic: "/dingtian/relay17660/out/lwt_availability"
payload_on: '{"type":"ON/OFF","idx":"3","status":"ON","time":"0","pass":"0"}'
payload_off: '{"type":"ON/OFF","idx":"3","status":"OFF","time":"0","pass":"0"}'
state_on: "ON"
state_off: "OFF"
- unique_id: dingtian_relay17660_r4
name: "Dingtian Relay 17660 - Relais 4"
command_topic: "/dingtian/relay17660/in/control"
state_topic: "/dingtian/relay17660/out/r4"
availability:
- topic: "/dingtian/relay17660/out/lwt_availability"
payload_on: '{"type":"ON/OFF","idx":"4","status":"ON","time":"0","pass":"0"}'
payload_off: '{"type":"ON/OFF","idx":"4","status":"OFF","time":"0","pass":"0"}'
state_on: "ON"
state_off: "OFF"
Une fois enregistré, HA redémarré, dans Outils de développement tu les verras en commençant à taper Dingtian :
Et en appuyant sur le petit cercle info :
Tu pourras tester avec l’interrupteur de HA:
Bonjour David,
Bonne nouvelle, ça marche nickel ![]()
Il y avait juste une petite erreur de frappe Id du relais c’est 17760 et non 17660.
Une question pour les 4 sorties de la carte c’est un autre sdk ![]()
C’est possible de créer un répertoire pour chaque matériel dans config.yaml ![]()
Car à la longue, à force de rajouter des matériels ça doit être moins lisible. ![]()
Bonjour,
Tu peux mettre ta configuration dans un fichier dédié lui même dans un dossier (à créer sous config, dans mon cas « intégration » ) comme ceci
En créant un lien au préalable dans ton fichier de configuration.
Puis tu mets ta configuration dedans
Toute la configuration des autres se fera à la suite de celui déjà créé.
Pour le 50963 par exemple, c’est juste que il se déclinera jusqu’à - unique_id: dingtian_relay50963_r8 comme il a 8 relais.
Précision, tu n’as pas besoin de retaper :
mqtt:
switch:
entre tes déclarations de relais. Cela se fait vraiment à la suite.
Pour être clair, si je reprends ce que je t’ai envoyé et que je commence la déclaration du 50963 par exemple:
mqtt:
switch:
- unique_id: dingtian_relay17760_r1
name: "Dingtian Relay 17660 - Relais 1"
command_topic: "/dingtian/relay17760/in/control"
state_topic: "/dingtian/relay17760/out/r1"
availability:
- topic: "/dingtian/relay17760/out/lwt_availability"
payload_available: "online"
payload_not_available: "offline"
payload_on: '{"type":"ON/OFF","idx":"1","status":"ON","time":"0","pass":"0"}'
payload_off: '{"type":"ON/OFF","idx":"1","status":"OFF","time":"0","pass":"0"}'
state_on: "ON"
state_off: "OFF"
- unique_id: dingtian_relay17760_r2
name: "Dingtian Relay 17760 - Relais 2"
command_topic: "/dingtian/relay17760/in/control"
state_topic: "/dingtian/relay17760/out/r2"
availability:
- topic: "/dingtian/relay17760/out/lwt_availability"
payload_on: '{"type":"ON/OFF","idx":"2","status":"ON","time":"0","pass":"0"}'
payload_off: '{"type":"ON/OFF","idx":"2","status":"OFF","time":"0","pass":"0"}'
state_on: "ON"
state_off: "OFF"
- unique_id: dingtian_relay17760_r3
name: "Dingtian Relay 17760 - Relais 3"
command_topic: "/dingtian/relay17660/in/control"
state_topic: "/dingtian/relay17760/out/r3"
availability:
- topic: "/dingtian/relay17760/out/lwt_availability"
payload_on: '{"type":"ON/OFF","idx":"3","status":"ON","time":"0","pass":"0"}'
payload_off: '{"type":"ON/OFF","idx":"3","status":"OFF","time":"0","pass":"0"}'
state_on: "ON"
state_off: "OFF"
- unique_id: dingtian_relay17760_r4
name: "Dingtian Relay 17760 - Relais 4"
command_topic: "/dingtian/relay17760/in/control"
state_topic: "/dingtian/relay17760/out/r4"
availability:
- topic: "/dingtian/relay17760/out/lwt_availability"
payload_on: '{"type":"ON/OFF","idx":"4","status":"ON","time":"0","pass":"0"}'
payload_off: '{"type":"ON/OFF","idx":"4","status":"OFF","time":"0","pass":"0"}'
state_on: "ON"
state_off: "OFF"
- unique_id: dingtian_relay50963_r1
name: "Dingtian Relay 50963 - Relais 1"
command_topic: "/dingtian/relay50963/in/control"
state_topic: "/dingtian/relay50963/out/r1"
availability:
- topic: "/dingtian/relay50963/out/lwt_availability"
payload_available: "online"
payload_not_available: "offline"
payload_on: '{"type":"ON/OFF","idx":"1","status":"ON","time":"0","pass":"0"}'
payload_off: '{"type":"ON/OFF","idx":"1","status":"OFF","time":"0","pass":"0"}'
state_on: "ON"
state_off: "OFF"
Et ainsi de suite…
C’est sur que c’est long et fastidieux.
Comme le dit @Jeffodilo, étant donné le nombre de lignes que cela va faire, suis son conseil, et fais comme il a expliqué. Si tu déclares 42 relais avec à chaque fois 12 lignes… on arrive à 504 lignes si tu déclares tous les relais. ![]()
Merci à vous deux,
Je m’en occupe et vous tiens au courant.
Gros boulot en perspective, mais je vais le faire.
La différence avec Domoticz c’est que le plugin existe et cela se fait en 30 secondes.
Mes premières impression c’est que HA est beaucoup plus suivi et plus développé que Domoticz.
Le changement est un peu compliqué pour moi, heureusement que vous m’aidez
.
Encore Merci
Bonjour David,et Jeffodilo
Avant d’intégrer toutes les cartes Dingtian, j’essais de configurer le fichier de configuration yaml par packages.
Pour info je teste cela sur un autre raspberry avec HA installé, afin d’éviter de mettre le bazar sur se que nous avons déjà fais.
J’ai suivi un tuto, je n’ai aucune erreur de signaler dans HA mais je ne retrouve pas mes 4 relais dans Outils de développement/ Etat.
Je pense que le script n’est pas lancé, j’ai redémarré HA plusieurs fois?
Si vous avez une idée, merci d’avance.
Hello,
C’est très certainement dû à la majuscule à « Packages »
Enlève la majuscule en renommant ton dossier. Redémarre et dis nous ![]()
J’ai renommé le dossier packages, j’ai redémarré HA ? même problème.
Toujours pas mes 4 relais dans Outils de développement/ Etat.
J’ai surement loupé quelques chose mais où???
Tu n’as pas déclaré switch sous mqtt dans ton fichier.
Ca avance j’ai déclaré switch sous mqtt.
J’ai modifié dans configuration.yaml la ligne :
package:! include_dir_named packages
par:
packages:
dingtian: !include packages/dingtian.yaml
Maintenant j’ai juste le message d’erreur suivant:
Se que je ne comprend pas c’est que cette config fonctionne parfaitement sur mon autre raspberry.
Peux-tu nous montrer ton fichier en détail ? (ton dingtian.yaml)
Normalement il devrait être bon?
Les essais sont fait sur un raspberry test, c’est un copié collé de version qui tourne sur mon raspberry principal?
Je préfère être prudent étant donné que je ne maitrise pas HA.
Prend l’habitude de coller ton code entre les balises </ > texte préformaté ça sera plus facile pour nous et pour toi aussi.
On voit bien que tu indexes mal ton code entre mqtt et switch. Il faut respecter les décalages à un espace près. Comme ceci dans la doc
# Example configuration.yaml entry
mqtt:
- switch:
command_topic: "home/bedroom/switch1/set"
Mais avant il faut que tu comprennes et ce n’est pas évident la déclaration des sensors selon si tu le mets directement dans configuration.yaml, dans un fichier séparé ou dans un dossier séparé (packages).
Je ne suis pas expert dans ce domaine mais voici ce qui fonctionne chez moi. Je n’ai pas de déclaration de sensor dans mon configuration.yaml.
Ce que je t’expliquais plus haut, j’ai un dossier « intégration » déclaré comme packages dans lequel je déclare plusieurs type de sensors : mqtt ou template … c’est pour une configuration attaché à un équipement spécifique. Exemple
mqtt:
############################################################
## CLIMATE ##
############################################################
climate:
- name: "Thermostat radiateur "
unique_id: chauffage_radiateur
availability_topic: "BSB-LAN/status"
........
############################################################
## SELECT ##
############################################################
select:
- name: Mode radiateur
unique_id: bsb_lan_select_radiateur
availability_topic: "BSB-LAN/status"
........
etc...
Pour toi le plus simple c’est de faire ceci, laisse tomber les packages pour le moment.
Tu déclares un fichier mqtt.yaml, déclaré en bas comme ceci dans configuration.yaml :
homeassistant:
packages: !include_dir_named integrations
customize: !include customize.yaml
...
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
switch: !include switches.yaml
sensor: !include sensor.yaml
template: !include template.yaml
input_number: !include input_number.yaml
input_select: !include input_select.yaml
binary_sensor: !include binary_sensor.yaml
input_boolean: !include input_boolean.yaml
input_datetime: !include input_datetime.yaml
mqtt: !include mqtt.yaml
Dans ce fichier tu ne déclares pas de mqtt: au début car HA sait que c’est du mqtt contrairement au packages.
#########################################################
################ MQTTs SENSORS ###################
#########################################################
- sensor:
- name: "Sonde exterieure"
unique_id: sonde.exterieure
state_topic: "Station_jardin_20/Ds18b20/Temperature"
state_class: measurement
device_class: temperature
unit_of_measurement: "°C"
suggested_display_precision: 1
#########################################################
################ MQTTs SWITCHS ###################
#########################################################
Pour toi cela donnera, attention aux espaces dans les uniques ID, il faut être précis, c’est 2 espaces de décalage
#########################################################
################ MQTTs SWITCHS DINGTIAN ###################
#########################################################
- switch:
- name: "Dingtian ..."
unique_id: Dingtian_...
state_topic: "....."
etc....
Reprend tout proprement, check ta configuration pour tester les erreurs, tu ne dois pas avoir d’erreur = vert et après tu « vérifies ta configuration »












