Het laten aanlopen van een relais is eigenlijk een veelgebruikte functie. Helaas is dit (in ieder geval tot vandaag) niet zo eenvoudig te implementeren met het Tasmota-relais.
Een praktische toepassing voor een nalooprelais is bijvoorbeeld een badkamerventilator.
Een badkamerventilator wordt vaak gecombineerd met de badkamerlichtschakelaar. Als het badkamerlicht aan is, draait ook de badkamerventilator.
Dit is praktisch maar heeft als nadeel dat na bijvoorbeeld een douche de vochtige lucht pas wordt afgezogen als het licht aan is.
Een nalooprelais is hier nuttig. Deze wacht na het uitschakelen (het licht en dus ook het ventilatorrelais) enige tijd voordat het relais vervolgens de aangesloten actor (hier de ventilator) uitschakelt.
Hoe je deze functie met een truc op een Tasmota-apparaat kunt activeren, wordt in het volgende artikel uitgelegd.
Inhoud
Veiligheidsinstructies
Ik weet dat de volgende opmerkingen altijd een beetje vervelend zijn en onnodig lijken. Helaas hebben veel mensen die "beter" wisten door onvoorzichtigheid ogen, vingers of andere dingen verloren of zichzelf verwond. Gegevensverlies is in vergelijking bijna te verwaarlozen, maar zelfs dit kan erg vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Omdat zelfs het coolste project geen blessure of andere problemen waard is.
https://www.nerdiy.de/sicherheitshinweise/
Affiliate links / reclame links
De hier vermelde links naar online winkels zijn zogenaamde affiliate-links. Als u op zo'n affiliate-link klikt en via deze link een aankoop doet, ontvangt Nerdiy.de een commissie van de betreffende onlineshop of aanbieder. De prijs verandert voor jou niet. Als u via deze links uw aankopen doet, steunt u Nerdiy.de om in de toekomst andere nuttige projecten aan te kunnen bieden. 🙂
Eisen
Handige artikelen:
Voordat u deze functie kunt gebruiken, moet u uw Tasmota-apparaat hebben geïnstalleerd en zo hebben geconfigureerd dat u er via uw WiFi toegang toe heeft. Hoe u dit doet, wordt beschreven in de volgende artikelen.
Vereist gereedschap:
- Nee
Benodigd materiaal:
De manier waarop het werkt
Helaas is er in Tasmota niet “één” commando waarmee je een vervolgtijd kunt implementeren.
Er is echter de mogelijkheid om uw eigen regels te definiëren in de Tasmota-firmware. Met behulp hiervan kunnen verschillende gedragingen en ook een vervolgtijd worden gedefinieerd. Hieronder vindt u een uitleg van een mogelijke oplossing.
Ten eerste gebruiken we de regels om te definiëren dat de Tasmota-relay luistert naar berichten over een specifiek MQTT-onderwerp. Zodra er een commando wordt ontvangen om het relais uit te schakelen, wordt het relais niet direct uitgeschakeld. In plaats daarvan wordt een timer gestart. Pas nadat deze timer is verstreken, wordt het relais uitgeschakeld.
Als er een commando wordt ontvangen om het relais in te schakelen terwijl de timer loopt, wordt de timer gedeactiveerd en blijft het relais ingeschakeld.
Het gedrag wordt in de regel in de volgende sectie beschreven.
De benodigde regel
Hieronder ziet u de regels die vereist zijn.
Regel 1: Abonneer u op het MQTT-onderwerp “cmnd/3dswitch” zodra het relais is verbonden met uw MQTT-server. Uiteraard kun je hier ook een ander onderwerp kiezen.
Regel 2: Activeert het relais en reset de timer zodra deze een “1” ontvangt voor het geabonneerde onderwerp.
Regel 3: Start de timer om het relais uit te schakelen zodra een “0” wordt ontvangen over het geabonneerde onderwerp.
Regel 4: Deactiveert het relais zodra de eerder ingestelde timer is verstreken. De ingestelde waarde “120” komt overeen met een nalooptijd van 120 seconden. Indien u een andere opvolgtijd wenst, kunt u deze waarde dienovereenkomstig aanpassen.
op Mqtt#Connected abonneren op 3dswitch, cmnd/3dswitch endon op Event#3dswitch=1 do backlog power1 op; ruletimer1 0 endon op Event#3dswitch=0 doe ruletimer1 120 endon op rules#timer=1 doe power1 0 endon
Om deze Tasmota-configuratie in uw Tasmota-relais over te nemen, moet u nu de volgende opdrachten uitvoeren in de console van uw Tasmota-relais.
achterstand schakelmode1 1; regel1 1
en
rule1 on Mqtt#Connected do Subscribe 3dswitch, cmnd/3dswitch endon on Event#3dswitch=1 do backlog power1 on; ruletimer1 0 endon op Event#3dswitch=0 doe ruletimer1 120 endon op rules#timer=1 doe power1 0 endon
Activeer de functie voor het abonneren op MQTT-onderwerpen
Helaas is een klein probleem dat het abonneren op MQTT-onderwerpen niet wordt ondersteund door de vooraf gecompileerde binaire bestanden van de Tasmota-firmware. Dit moet afzonderlijk worden geactiveerd en vervolgens in uw Tasmota-relais worden geprogrammeerd.
Om dit te doen, moet u de firmware downloaden van de Tasmota GIT-repository.
Je vindt de repository hier: https://github.com/arendst/Tasmota
Hoe je bestanden van een Git repository kunt downloaden staat beschreven in het artikel GitHub - Hoe kopieer ik bestanden van een Git-repository naar mijn computer
Nadat u de bestanden heeft gedownload, moet u de broncode in de Arduino IDE openen. Ga vervolgens naar het bestand “my_user_config.h” en/of zoek direct naar de waarde “SUPPORT_MQTT_EVENT”.
![](https://i0.wp.com/nerdiy.de/wp-content/uploads/2020/10/www.nerdiy.de-howto-tasmota-abfallverzoegertes-nachlaufen-eines-relais-einstellen-javaw-jquq1at6jp.png?resize=810%2C381&ssl=1)
![](https://i0.wp.com/nerdiy.de/wp-content/uploads/2020/10/www.nerdiy.de-howto-tasmota-abfallverzoegertes-nachlaufen-eines-relais-einstellen-javaw-zueijwugpk.png?resize=810%2C382&ssl=1)
Vervolgens moet u de firmware op uw Tasmota-relais programmeren.
Informatie hierover vind je ook hier: https://tasmota.github.io/docs/Subscribe-%26-Unsubscribe/
Het relais in- en uitschakelen
Er verandert eigenlijk niet veel qua in- en uitschakelen van het nu voorbereide relais.
Om het in te schakelen, hoeft u alleen maar een “1” te sturen naar het onderwerp “cmnd/3dswitch” (of degene die u hebt geconfigureerd).
Om het uit te schakelen, moet u een “0” naar het geconfigureerde onderwerp sturen. Na de ingestelde nalooptijd moet het relais uitschakelen.
Veel plezier met het project
Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂
PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂
Ik probeer een switch te maken met behulp van het MQTT-platform. Ofwel krijg ik twee bliksemschichtsymbolen (één aan/één uit) of de tuimelschakelaar, maar deze blijft niet aan.
De schakelaar zelf heet 'tasmota21' en het mqtt-onderwerp dat de timerfunctie bestuurt is '3dswitch'.
Uit mijn bestand switches.yaml
– platform: mqtt
naam: “3dSwitch”
unieke_id: “delay_switch”
#state_topic: “stat/3dswitch/RESULT”
waarde_template: '{{ waarde_json[“KRACHT”] }}'
command_topic: “cmnd/3dswitch”
#availability_topic: “tele/tasmota21/LWT”
qos: 1
payload_on: “1”
payload_off: “0”
state_on: “AAN”
state_off: “UIT”
payload_available: “Online”
payload_not_available: “Offline”
behouden: waar
Hallo ac3.14lot,
Eigenlijk ben ik een beetje in de war. Welk systeem gebruik je? Is het mogelijk dat je dit implementeert in Homeassistant of IObroker? 🙂
hartelijke groeten
Fab
Hallo. Ik heb het MHCOZY 2-kanaals WiFi RF draadloos schakelrelais. Met 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 ?