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.
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
Leider gibt es nicht „den einen“ Befehl in Tasmota mit der Ihr eine Nachlaufzeit realisieren könnt.
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: Aboniert das MQTT-Topic „cmnd/3dswitch“ sobald das Relais mit Eurem MQTT-Server verbunden ist. Hier könnt Ihr natürlich auch ein anderes Topic wählen.
Regel 2: Aktiviert das Relais und setzt den Timer zurück sobald es auf dem abonnierten Topic eine „1“ empfängt.
Regel 3: Startet den Timer zum Abschalten des Relais sobald auf dem abonnierten Topic eine „0“ empfangen wird.
Regel 4: Deaktiviert das Relais sobald der zuvor eingestellte Timer abgelaufen ist. Der eingestellte Wert „120“ entspricht einer Nachlaufzeit von 120 Sekunden. Wenn Ihr eine andere Nachlaufzeit wünscht, könnt Ihr diesen Wert entsprechend anpassen.
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
Sobald Ihr die Dateien heruntergeladen habt solltet Ihr den Quellcode in der Arduino IDE öffnen. Wechsel dann in die Datei „my_user_config.h und/oder sucht direkt nach dem Wert „SUPPORT_MQTT_EVENT“.


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.
Zum einschalten müsst Ihr lediglich eine „1“ an das Topic „cmnd/3dswitch“ (oder das von Euch konfigurierte) senden.
Zum ausschalten müsst Ihr eine „0“ an das konfigurierte Topic senden. Nach der eingestellten Nachlaufzeit sollte das Relais dann ausschalten.
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"
unique_id: "delay_switch"
#state_topic: "stat/3dswitch/RESULT"
value_template: '{{ value_json["POWER"] }}'
command_topic: "cmnd/3dswitch"
#availability_topic: "tele/tasmota21/LWT"
qos: 1
payload_on: "1"
payload_off: "0"
staat_aan: "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 ?