NEWS
Licht nach XY Minuten automatisch ausschalten
-
Hi Leute
.... ja, ich habe zuerst gesucht... und bin zum Teil auch fündig geworden... jedoch nur ein einfaches Blockly, welches mein Außenlicht, nachdem es eingeschaltet wurde, nach 10 Minuten ausschaltet, habe ich nicht so richtig gefunden. Einige "kompliziertere" Ausführungen schon...
Kann mir da bitte jemand kurz unter die Arme greifen? Wäre lieb von Euch.
Dankeschön.Gruss
Vazi -
@Vazi Was möchtest du denn schalten?
Wenn es zufällig Tasmota/Sonoff ist geht das einfacher -
Wie erwähnt, ist es ein Aussenlicht, dort wird ein Shelly1 in der Steckdose montiert (muss noch erfolgen). Shelly ist mit Tasmota geflasht.
-
@Vazi Dann kannst du das über Rules lösen. Ist wesentlich einfacher und auch nach meiner Meinung zuverlässiger weil es nicht über den ioBroker läuft sondern direkt im Gerät. Funktioniert also auch wenn z.B. das WLan gestört ist.
rule1 on button1#state do backlog power1 %value%; ruletimer1 600 endon on rules#timer=1 do power1 off endon
Erklärt ist das sehr ausführlich hier:
https://forum.creationx.de/lexicon/index.php?entry/24-rules/
-
@Chaot
Wow, das ging aber schnell, vielen Dank Chaot für Deine Hilfe und Erläuterungen. Werde mich einmal damit auseinander setzen. Ist ein neuer Ansatz für mich. Immer wieder faszinierend, welche Möglichkeiten es alles gibt - welche man bis dahin nicht einmal kannte. -
@Vazi
Gerade bei den Tasmota Geräten ist Rule ein sehr mächtiges Werkzeug.
Ich nutze das gerne wenn ich nicht direkt über den ioBroker gehen will. Beispielsweise als Zeitschalter, automatische Lichtsteuerung (Timer mit Dämmerungsberechnung) oder RFID Zugangserkennung.
Der ioBroker ist dann nur noch zur Zustandserkennung da.
Da man an einer Zeitschaltuhr oder einem Dämmerungsschalter nicht ständig etwas ändert wäre ein Script das ständig läuft nur Resourcenverbrauch. -
@Chaot
Ich sehe, Du bist ein Experte - und ich ein Laie... Deshalb erlaube ich mir folgendes zu fragen:
(Habe die Anleitung "versucht" zu lesen, ist für mich jedoch etwas "zu hoch"..)- Muss die Datei user_config_override.h angepasst werden und wenn ja, wie und wo genau?
- Werden diese Befehle "Rule" sodann über die Konsole eingegeben?
-
@Vazi Oh, ich bin kein Experte....
-
die "user_config_override" benötigst du wenn du die Firmware selbst anpasst. Dann werden dort die Generellen Werte (Netzwerkkennung, benötigte Sensoren usw.) eingegeben.
Das hat den Vorteil das man bei einer neuen Frimwareversion die Datei einfach weiter mitnehemn kann. Im Normalfall und für Updates wird die meist nicht benötigt.
Man kann die aber auch recht bequem online Kompilieren:
https://gitpod.io/#https://github.com/benzino77/tasmocompiler
wenn du die nur manchmal benötigst und nicht viele Programme dazu installieren möchtest. -
Die Rules werden über die Befehlszeile in der Konsole eingegeben.
Wichtig ist am Ende der Befehl
Rule 1 1
um die jeweilige Rule (hier 1) einzuschalten. Sonst wird die eingegebene Rule einfach ignoriert.
Umgekehr lässt sich das natürlich auch blitzschnell ausschalten, wenn benötigt. EinfachRule1 0
eingeben und die ist aus. (Achte auf das Leerzeichen zwischen den beiden Zahlen)
-
-
Also ich habe meine Shellies nicht mit Tasmota geflasht, dafür aber andere Devices.
Zumindest soll nicht der Eindruck entstehen, dass man die Shellies flashen muss, um so eine Funktion "Licht nach XY Minuten ausschalten" braucht.Zum anderen empfehle ich Dir, wenn Du mit Tasmota arbeitest und noch nicht so fit mit der Kommandozeile arbeitest den Tasmota Device Manager.
Da stehen dann mögliche Parameter mit Links zum Wiki drin und dort werden die Befehle dann direkt auf der Kommandozeile abgesetzt.Für die Funktion das Licht nach xy Minuten auszuschalten brauchst Du keine Rules/Regeln sondern einfach den Pulse Timer - s. Screenshot.
Hier mal der Überblick der Tasmota Kommandos. Also wenn das Licht nach 10 Minuten ausschalten soll = 10*60=600+100 (offset) = 700 und Du hast die gewünschte Funktion.
Regeln brauchst Du beispielsweise, wenn Du Geräte voneinander abhängig schalten zu können und Du nicht eine Logikmaschine aus iobroker nutzen möchtest. In diesem Fall ist die Seite mit dem Erstellen von Regeln die @Chaot anfangs gepostet sicher sehr nützlichen. Vielen Dank - habe ich mir auch gleich mal abgespeichert. Für Deinen Zweck finde ich aber das Erstellen von Regeln hierfür etwas übertrieben.
-
@mickym Du hast Recht. Mit Pulsetime geht das genauso.
Ich verwende die ganze Zeit Regeln so das ich an die Funktion gar nicht mehr gedacht habe.Hast du den Tasmota Device Manager unter Windows zum laufen gebracht? Mit Powershell und Verbiegungen ist mir das zu blöd und Umständlich. Da bin ich über die Konsole wesentlich schneller.
-
@Chaot Ich musste da gar nichts verbiegen - der ist bei mir unter Anhieb gelaufen.
Wie gesagt ich bin auch nicht so der Experte wie Du - aber mir hat der schon geholfen, weil die Befehle sonst etwas unübersichtlich sind.
Und mit den Standardmenüs
Timers, Buttons, Power etc. werden halt benutzerfeundlich die Funktionen der Software übersichtlich dargestellt.
Es gibt auch eine GUI für Rules - aber da steige ich selbst noch nicht durch.
Aber ich habe nur einen Sonof POW und 2 Steckdosenleisten mit Tasmota laufen , die Shellies laufen noch mit der Orginalfirmware.
-
@mickym Ok, das es mittlerweile eine Windows Version gibt kannte ich nicht.
Mit dem Sonoff Adapter scheint es aber keine Verbindung zu geben soweit ich das bisher sehe. Zumindest werden mir keine Geräte angezeigt.
Wie hast du MQTT eingestellt? -
@Chaot Ich benutze keinen Sonoff Adapter - sondern TASMOTA kommuniziert direkt mit MQTT-Broker.
Da der MQTT-Adapter als MQTT-Broker mir nur Probleme machte habe ich den MQTT-Adapter nur als Client laufen und mein MQTT-Server ist auf der gleichen Maschine ein Mosquitto-Server.
Kann aber damit aus dem Iobroker alles schalten und habe auch aller 3 Äste cmnd, stat und tele verfügbar. -
@mickym Aha! Das ist der Grund. Ich habe das auch gerade gefunden. Scheinbar muss der zwingend mit einem MQTT Broker kommunizieren. Der Sonoff Adapter gilt nicht als Broker.
-
@Chaot
Das Einzige, was mir im Moment ziemlich peinlich ist, ist dass ich nicht mehr weiß, wie ich meine 2 Ausgänge der Steckdosenleiste damals synchronisiert habe.
Ich habe 2 Lampen an 2 Steckdosen geschaltet und die sollten quasi mit einem Schaltbefehl geschaltet werden, egal welcher und das klappt auch.
Ich dachte ich hätte das mit einer Rule gemacht, aber irgendwie kann ich das nicht mehr nachvollziehen, ausser dass über backlog die gewünschte Sequenz abgesetzt wird.[22:33:28] tasmota/steckdosenleiste3/cmnd/POWER2 toggle [22:33:28] tasmota/steckdosenleiste3/stat/RESULT {"POWER2":"ON"} [22:33:28] tasmota/steckdosenleiste3/stat/POWER2 ON [22:33:28] tasmota/steckdosenleiste3/cmnd/backlog POWER2 ON;POWER5 ON [22:33:29] tasmota/steckdosenleiste3/stat/RESULT {"POWER2":"ON"} [22:33:29] tasmota/steckdosenleiste3/stat/POWER2 ON [22:33:29] tasmota/steckdosenleiste3/stat/RESULT {"POWER5":"ON"} [22:33:29] tasmota/steckdosenleiste3/stat/POWER5 ON
Peinlich - Du weißt auch nicht, wie ich das geschafft habe?
-
@mickym Wenn du den TDM am laufen hast kannst du doch sehen welche rules da gesetzt sind.
Der Reiter rules öffnen und oben links in dem kleinen Auswahlfeld Rule1, 2 oder 3 auswählen. Im Feld darunter stehen dann die aktuellen rules. -
@Chaot
Ja - ich scheine das eben doch nicht über Rules gemacht zu haben - da da alles leer ist.[22:50:26] tasmota/steckdosenleiste3/cmnd/ruletimer [22:50:26] tasmota/steckdosenleiste3/cmnd/Var [22:50:26] tasmota/steckdosenleiste3/stat/RESULT {"T1":0,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0} [22:50:26] tasmota/steckdosenleiste3/stat/RESULT {"Var1":"","Var2":"","Var3":"","Var4":"","Var5":"","Var6":"","Var7":"","Var8":"","Var9":"","Var10":"","Var11":"","Var12":"","Var13":"","Var14":"","Var15":"","Var16":""} [22:50:26] tasmota/steckdosenleiste3/cmnd/rule1 [22:50:26] tasmota/steckdosenleiste3/stat/RESULT {"Rule1":"OFF","Once":"OFF","StopOnError":"OFF","Free":511,"Rules":""} [22:50:26] tasmota/steckdosenleiste3/cmnd/Mem [22:50:26] tasmota/steckdosenleiste3/stat/RESULT {"Mem1":"","Mem2":"","Mem3":"","Mem4":"","Mem5":"","Mem6":"","Mem7":"","Mem8":"","Mem9":"","Mem10":"","Mem11":"","Mem12":"","Mem13":"","Mem14":"","Mem15":"","Mem16":""} [22:50:43] tasmota/steckdosenleiste3/cmnd/Rule2 [22:50:43] tasmota/steckdosenleiste3/stat/RESULT {"Rule2":"OFF","Once":"OFF","StopOnError":"OFF","Free":511,"Rules":""} [22:50:49] tasmota/steckdosenleiste3/cmnd/Rule3 [22:50:49] tasmota/steckdosenleiste3/stat/RESULT {"Rule3":"OFF","Once":"OFF","StopOnError":"OFF","Free":511,"Rules":""} [22:50:52] tasmota/steckdosenleiste3/cmnd/Rule1 [22:50:52] tasmota/steckdosenleiste3/stat/RESULT {"Rule1":"OFF","Once":"OFF","StopOnError":"OFF","Free":511,"Rules":""} [22:51:50] tasmota/steckdosenleiste3/cmnd/Rule2 [22:51:50] tasmota/steckdosenleiste3/stat/RESULT {"Rule2":"OFF","Once":"OFF","StopOnError":"OFF","Free":511,"Rules":""} [22:52:00] tasmota/steckdosenleiste3/cmnd/Rule1 [22:52:00] tasmota/steckdosenleiste3/stat/RESULT {"Rule1":"OFF","Once":"OFF","StopOnError":"OFF","Free":511,"Rules":""}
Ich muss wieder suchen - ich finde das nur so peinlich - da hat man eine Lösung gefunden - nur wenn man nicht alles peinlichst dokumentiert - dann passiert so was.
-
Vergesst alles wieder - ich habe einfach über den
tasmota/steckdosenleiste3/cmnd/backlog die abzusetzenden Befehle mit ";" über iobroker direkt abgesetzt. Somit habe ich den Tasmota Batch-Mechanismus über MQTT einfach genutzt. -
-
@Vazi Müsste PulseTime1 700 sein .