Permettre à un relais de fonctionner est en fait une fonction qui est utilisée assez souvent. Malheureusement, ce n'est (du moins jusqu'à aujourd'hui) pas si facile à mettre en œuvre avec le relais Tasmota.
Une application pratique pour un relais temporisé est, par exemple, un ventilateur de salle de bain.
Un ventilateur de salle de bain est souvent associé à l'interrupteur d'éclairage de la salle de bain. Si la lumière de la salle de bain est allumée, le ventilateur de la salle de bain fonctionne également.
Ceci est pratique mais présente l'inconvénient qu'après une douche, par exemple, l'air humide n'est extrait que lorsque la lumière est allumée.
Un relais de suivi est ici utile. Après l'extinction (la lumière et donc aussi le relais du ventilateur), celui-ci attend un certain temps avant que le relais n'éteigne ensuite également l'actionneur raccordé (ici le ventilateur).
Comment activer cette fonction sur un appareil Tasmota avec une astuce est expliqué dans l'article suivant.
Consignes de sécurité
Je sais que les notes suivantes sont toujours un peu ennuyeuses et semblent inutiles. Malheureusement, de nombreuses personnes qui savaient "mieux" ont perdu des yeux, des doigts ou d'autres choses à cause d'une négligence ou se sont blessées. La perte de données est presque négligeable en comparaison, mais même celles-ci peuvent être vraiment ennuyeuses. Par conséquent, veuillez prendre cinq minutes pour lire les consignes de sécurité. Parce que même le projet le plus cool ne vaut pas une blessure ou d'autres problèmes.
https://www.nerdiy.de/sicherheitshinweise/
Liens d'affiliation/publicitaires
Les liens vers des boutiques en ligne répertoriés ici sont des liens dits d'affiliation. Si vous cliquez sur un tel lien d'affiliation et effectuez un achat via ce lien, Nerdiy.de recevra une commission de la boutique en ligne ou du fournisseur concerné. Le prix ne change pas pour vous. Si vous effectuez vos achats via ces liens, vous aidez Nerdiy.de à pouvoir proposer d'autres projets utiles à l'avenir. 🙂
Conditions préalables
Articles utiles :
Avant de pouvoir utiliser cette fonctionnalité, votre appareil Tasmota doit être installé et configuré pour y accéder via votre WiFi. La procédure à suivre est décrite dans les articles suivants.
Outil requis :
- Non
Matériel requis :
La façon dont ça marche
Malheureusement, il n’existe pas « une » commande dans Tasmota avec laquelle vous pouvez implémenter un temps de suivi.
Cependant, le firmware Tasmota vous permet de définir vos propres règles. Il peut être utilisé pour définir divers comportements et également un temps de suivi. Vous trouverez ci-dessous une explication d'une solution possible.
Tout d'abord, nous utilisons les règles pour définir que le relais Tasmota écoute les messages sur un sujet MQTT spécifique. Dès qu'une commande de désactivation du relais est reçue par ce biais, le relais n'est pas désactivé directement. Au lieu de cela, une minuterie est démarrée. Ce n'est qu'après l'expiration de cette minuterie que le relais sera désactivé.
Si une commande d'activation du relais est reçue alors que la minuterie est en marche, la minuterie sera désactivée et le relais restera activé.
Le comportement en règle générale est décrit dans la section suivante.
La règle nécessaire
Dans ce qui suit, vous pouvez voir les règles requises.
Règle 1: Abonnez-vous au sujet MQTT « cmnd/3dswitch » dès que le relais est connecté à votre serveur MQTT. Bien entendu, vous pouvez également choisir un autre sujet ici.
Règle 2 : Active le relais et réinitialise le timer dès qu'il reçoit un « 1 » sur le sujet souscrit.
Règle 3 : Démarre le temporisateur pour éteindre le relais dès qu'un « 0 » est reçu sur le sujet souscrit.
Règle 4 : Désactive le relais dès que la minuterie préalablement réglée est expirée. La valeur réglée « 120 » correspond à un temps de suivi de 120 secondes. Si vous souhaitez un temps de suivi différent, vous pouvez ajuster cette valeur en conséquence.
sur Mqtt#Connected do Subscribe 3dswitch, cmnd/3dswitch endon on Event#3dswitch=1 do backlog power1 on ; ruletimer1 0 endon sur Event#3dswitch=0 faire ruletimer1 120 endon sur rules#timer=1 faire power1 0 endon
Afin de transférer cette configuration Tasmota vers votre relais Tasmota, vous devez maintenant exécuter les commandes suivantes dans la console de votre relais Tasmota.
backlog switchmode1 1 ; règle1 1
et
rule1 sur Mqtt#Connected do Subscribe 3dswitch, cmnd/3dswitch endon on Event#3dswitch=1 do backlog power1 on ; ruletimer1 0 endon sur Event#3dswitch=0 faire ruletimer1 120 endon sur rules#timer=1 faire power1 0 endon
Activer la fonction d'abonnement aux sujets MQTT
Malheureusement, un petit problème est que l'abonnement aux sujets MQTT n'est pas pris en charge par les binaires pré-compilés du firmware Tasmota. Cela doit être activé séparément puis programmé sur votre relais Tasmota.
Pour ce faire, vous devez télécharger le firmware depuis le référentiel Tasmota GIT.
Vous pouvez trouver le dépôt ici : https://github.com/arendst/Tasmota
Comment vous pouvez télécharger des fichiers à partir d'un référentiel Git est dans l'article GitHub - Comment copier des fichiers d'un référentiel Git sur mon ordinateur
Une fois que vous avez téléchargé les fichiers, vous devez ouvrir le code source dans l'IDE Arduino. Allez ensuite dans le fichier « my_user_config.h » et/ou cherchez directement la valeur « SUPPORT_MQTT_EVENT ».
Ensuite, vous devez programmer le firmware sur votre relais Tasmota.
Vous pouvez également trouver des informations à ce sujet ici : https://tasmota.github.io/docs/Subscribe-%26-Unsubscribe/
Activer et désactiver le relais
Peu de choses changent réellement pour allumer et éteindre le relais maintenant préparé.
Pour l'activer, il suffit d'envoyer un « 1 » au sujet « cmnd/3dswitch » (ou celui que vous avez configuré).
Pour le désactiver, vous devez envoyer un « 0 » au sujet configuré. Après le temps de temporisation réglé, le relais doit alors s'éteindre.
Amusez-vous avec le projet
J'espère que tout a fonctionné comme décrit. Si ce n'est pas le cas ou si vous avez des questions ou des suggestions, faites-le moi savoir dans les commentaires. Je les ajouterai à l'article si nécessaire.
Les idées de nouveaux projets sont toujours les bienvenues. 🙂
PS Beaucoup de ces projets - en particulier les projets matériels - coûtent beaucoup de temps et d'argent. Bien sûr, je le fais parce que j'aime ça, mais si vous pensez que c'est cool que je partage l'information avec vous, je serais heureux d'un petit don au fonds du café. 🙂
J'essaie de créer un commutateur à l'aide de la plate-forme MQTT. Soit j'obtiens deux symboles d'éclair (un allumé/un éteint) ou l'interrupteur à bascule, mais il ne reste pas allumé.
Le commutateur lui-même s'appelle « tasmota21 » et le sujet mqtt qui contrôle la fonction de minuterie est « 3dswitch ».
Depuis mon fichier switchs.yaml
– plate-forme : mqtt
nom : « 3dSwitch »
unique_id : « delay_switch »
#state_topic : « stat/3dswitch/RESULT »
value_template : '{{ value_json["POWER"] }}'
sujet_commande : "cmnd/3dswitch"
#availability_topic : « tele/tasmota21/LWT »
qos : 1
payload_on : « 1 »
payload_off : « 0 »
state_on : « ON »
state_off : «
payload_available : « En ligne »
payload_not_available : "Hors ligne"
retenir : vrai
Salut ac3.14lot,
En fait, je suis un peu confus. Quel système utilisez-vous? Est-il possible que vous implémentiez cela dans Homeassistant ou IObroker ? 🙂
cordialement
Fab
Bonjour. J'ai reçu le relais de commutation sans fil WiFi RF MHCOZY à 2 canaux. Avec http://192.168.x.xxx/cm?user=admin&password=123&cmnd=Power1%20on will ich einfach nur einschalten und mit Power1%20off aus. Nun habe ich mal testweise auf Durchgang geprüft und er schaltet immer gefühlte 3 x (das Messgerät piepst 3 x) und mit off schaltet das Ding auch irgendwie nicht aus. Was mache ich falsch ?