HowTo: Tasmota - Uitschakelvertraging instellen na het lopen van een relais

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.

Tasmota - flash-firmware

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”.

Hier ziet u de betreffende locatie. Om het abonneren op MQTT-onderwerpen te activeren, moet u…
...activeer dit onderdeel (zoals weergegeven in de afbeelding) door het commentaar met de twee “//” te verwijderen.

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. 🙂

Koop Me a Coffee op ko-fi.com       

3 comments

  1. 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

    1. 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

Kommentar hinterlassen

Het e-mailadres wordt niet gepubliceerd. Erforderliche Felder sind mit * markiert

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.