Tasmota Rule, ich komm nicht weiter

Begonnen von trs, 14 Mai 2020, 17:43:10

Vorheriges Thema - Nächstes Thema

trs

Hallo liebe Kollegen,

Ich versuche, eine Tasmota Rule zu bastel, aber trotz aller Anstengungen geht es nicht...

Ich nutze einen Sonoff 4Ch pro R2, mit Tasmota 8.1.0. Am GPIO 2 ist ein Switch angeschlossen. Nun soll, wenn der Switch auf "on" geschaltet wird, Power1 für 30sec. Of off gehen, und danach wieder auf on. Eber es funzt nicht. Meie Rule:

Rule1 on switch8#state=off do power1 off ruletimer1 30 endon on rules#timer=1 do power1 on endon

Rule ist auf on

Kann jemand helfen?

Gisbert

Hallo trs,

du widersprichst dir mit dem Switch on im Text und switch8 off in der Definition, aber das dürfte nicht das Problem sein, letztlich musst du festlegen, bei welcher Bedingung die Rule ausgeführt werden soll.

Will man mehrere Befehle im Ausführungsteil unterbringen, dann muss man mit backlog und Semikolon arbeiten. Die Definition müsste dann so ausehen, mangels dieser spezifischen Anwendung (sonst schon) ungetest:
Rule1 on switch8#state=off do backlog power1 off; ruletimer1 30 endon on rules#timer=1 do power1 on endon
Zur Sicherheit die Rule vorher löschen mit:
Rule1 "

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

trs

Prima, funktioniert (fast)

die Rule

rule1 on switch6#state=0 do backlog power1 off; ruletimer1 6 endon on rules#timer=1 do power1 on endon

schaltet, wenn switch6 auf "off" geht, power1 aus und nach 6sec. an. Soweit gut. Nun ist es aber lt. Tasmota.github so:

Warning

If you define a switch with a number higher than available power outputs it will default to controlling Power1. Example: Switch4 on a device with Power1 and Power2 will control Power1.


Das bedeutet, mein switch6 schaltet auch immer power1, egal mit oder ohne die rule. Wie bekomme ich das abgekoppelt? Switchtopic und switchmode bringt keinen Erfolg.




Gisbert

Hallo trs,

der Vorteil der Rules in Tasmota ist, dass das physische Gerät auch ohne Hausautomation ganz autark funktioniert. Die Aussage bezüglich Anzahl der Switche und Anzahl der Relais' scheint doch eindeutig zu sein. Ich verstehe deinen Wunsch, aber anscheinend kann er nicht in Erfüllung gehen, auch wenn der Wille sagt, dass es gehen muss. Zwischen Wille und Erfüllung steht ein odere mehrere Menschen, die die Anwendung programmiert haben, ein Lob auf sie.

Wenn du diese Logik benötigst, dann wird dir wohl nichts anderes übrig bleiben diese in die Hausautomation (sprich Fhem, auch ein Lob auf diese Programmierer) auszulagern.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Wernieman

Oder auf ein anderes System als Tasmota ausweichen .. gibt doch genug ;o)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Gisbert

Hallo Wernieman,

ESPEasy gibt es, die Weboberfläche ist nicht so "schick" wie bei Tasmota, und die bisher genannten Rules dürften auch in ESPEasy darstellbar sein.
Welche Firmware-Pakete gibt es denn noch, die Anfänger-kompatibel sind? Eigene Sketchen gehen natürlich immer, vorausgesetzt die Not ist groß genug, was auch für die Leidensfähigkeit zutreffen sollte.
Gehen könnte auch unter Umständen ESP NAT Router, aber hier muss man sich schon etwas tiefer reinknien, dafür gibt es einen Repeater dazu; das hab ich im Einsatz bei einem bestehenden ESP, der noch einen entfernten ESP mit Wlan versorgt - läuft seit vielen Monaten super stabil.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Papa Romeo

Zitat von: Gisbert am 16 Mai 2020, 21:04:43
Eigene Sketchen gehen natürlich immer, vorausgesetzt die Not ist groß genug

Hey Gisbert, hat nicht´s mit Not zu tun ... eher mit .... wer rastet der rostet.... ::) :P ;) ;D ;D ;D
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Gisbert

Zitat von: Papa Romeo am 16 Mai 2020, 21:32:29
Hey Gisbert, hat nicht´s mit Not zu tun ... eher mit .... wer rastet der rostet.... ::) :P ;) ;D ;D ;D

Hallo Papa Romeo,

es macht ja Spaß, wenn man was Neues schaffen kann und an seinen (selbst gesetzten) Aufgaben wächst. Manchmal ist es aber auch schön, wenn etwas einfach funktioniert, ohne dass man sich groß anstrengt. Aber was wäre das für ein Sieg? Freude über das Erreichte stellt sich so keine ein.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

trs

Moin,

danke für die Anregungen. Vielleicht muss ich ein wenig ausholen:

Ich habe einen Gartenteich (ca 50.000l), mit selbst gebauter Filteranlage (Tonnenfilter, 5 Regenfässer a 200l mit verschiedenen Filtermedien). Die Pumpe hat eine höhere Umlaufmenge, als die Filterkapazität des Filters. Also läuft der Filter über, wenn ich die Pumpenmenge nicht reduziere (natürlich könnte ich mit einem Bypass arbeiten, wollte ich im ersten Step aber nicht).

im ersten Fass habe ich einen Füllstandsmelder. Angeschlossen an einen Sonoff 4ch Pro R2, an den auch die Pumpe, die Belüftung, ein Wasserspiel und die UV Lampe angeschlossen sind. Der Sonoff funkt über einen Repeater in mein Netzwerk.

Nun wollte ich ursprünglich die Pumpe drehzahlgeregelt steuern, und habe mir dafür einen Leistungsregler Kemo M028N (4000 VA) und ein Vorschaltgerät Kemo M150 angeschafft. Mit diesem Vorschaltgerät kann man den Leistungsregler mit einem PWM Signal steuern (Rechteckimpuls, 5V/DV, 1-10 kHz, 10-90% PWM). Bevor mich jetzt jemand erschlägt, ich weiß, der Sonoff kann nur 3,3V.

Ich habe einen Testaufbau gemacht, mit einem Sonoff Basic und Tasmota. Ausgang auf PWM gestellt, GND und GPIOan den Kemo M150, den angeschlossen an den M028N...   geht nicht.

Um weiter zu kommen habe ich das nun so umgesetzt: Füllstandandsmelder am Sonoff 4ch, Pupe ebeso. In FHEM ein DOIF:

defmod Teichpumpe_automatische_Abschaltung DOIF ([Wasserstand:"^OFF$"]) \
(set Teichpumpe off)\
(set Teichpumpe on)\

attr Teichpumpe_automatische_Abschaltung do resetwait
attr Teichpumpe_automatische_Abschaltung room Gartenteich
attr Teichpumpe_automatische_Abschaltung wait 0,180

setstate Teichpumpe_automatische_Abschaltung cmd_1
setstate Teichpumpe_automatische_Abschaltung 2020-05-17 09:56:17 Device Wasserstand
setstate Teichpumpe_automatische_Abschaltung 2020-05-17 09:59:15 cmd 1.2
setstate Teichpumpe_automatische_Abschaltung 2020-05-17 09:59:15 cmd_event Wasserstand
setstate Teichpumpe_automatische_Abschaltung 2020-05-17 09:59:15 cmd_nr 1
setstate Teichpumpe_automatische_Abschaltung 2020-05-17 09:59:15 cmd_seqnr 2
setstate Teichpumpe_automatische_Abschaltung 2020-05-17 09:56:17 e_Wasserstand_events ON
setstate Teichpumpe_automatische_Abschaltung 2020-05-12 20:33:38 mode enabled
setstate Teichpumpe_automatische_Abschaltung 2020-05-17 09:59:15 state cmd_1
setstate Teichpumpe_automatische_Abschaltung 2020-05-17 09:59:15 wait_timer no timer


Die Pumpe wird nun komplett für eine Zeit abgestellt. Geht soweit. Aber: Ab und zu meldet der Sonoff nicht "Füllstand erreicht". Und dann läuft der Filter logischerweise über...

Wenn hier jemand eventuell Lösungsansätze hat, her damit. Am liebsten würde ich die drehzahgeregelte Variante nutzen. Ich habe die Hardware hier, und es würde sogar Energie sparen. Allerdings müsste ich in FHEM eine Steuerung basteln, etwa so( die Pumpe läuft nicht zuverlässig mit verringerter Drehzahl an):

- Pumpe an 100%
- Füllstand erreicht, Pumpe auf 100%(10 sec.) dann 90%
- Füllstand erreicht, Pumpe auf 100%(10 sec.) dann 80%
-...
-...

und so weiter. Dann evt. noch mit einem Grafen, als optische Kontrolle. das wäre die Goldrandlösung.

Nun, hat jemand hier sowas schon mal gelöst, und kann mir Hilfestellung geben?

Ich bin für jeden Ansatz dankbar.

Gruss
TRS


Wernieman

Wenn Deine Pumpe zum Anlaufen 100% braucht, würde ich nicht bis "Voll" mit Vollast fahren, sondern wenn die Pumpe angeschaltet werden soll, für 1Min Vollast und dann reduzieren ...

Hast Du im ersten "Faß" nur eine "Voll-Meldung oder eine Abgestufte?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Gisbert

Hallo TRS,

vorab, du wirst jetzt vermutlich konkretere Vorschläge bekommen.

Bevor mich jetzt jemand erschlägt, ich weiß, der Sonoff kann nur 3,3V.
Nein, warum, so ein Fall, dass ein Aktor oder Sensor eine andere Spannung will als ein GPIO am ESP8266, kommt häufiger vor.
Es gibt kleine Platinchen, die aus 3.3V 5.0V machen, ungetestet, könnte eine Möglichkeit sein, damit 5V für die PWM bereitzustellen.

Da sich Papa Romeo schon in den Thread eingeklinkt hat, ist Hilfe nahe.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Gisbert

Hallo TRS,

poste doch mal die Informationen, die Tasmota in der Console rausgibt, d.h. alles, was mit Power, deinem Füllstand, weiteren angeschlossenen Geräten etc. zusammenhängt.
Von dem, was du bisher geschildert hast, sehe ich noch nicht, warum eine autarke Steuerung auf dem Somoff nicht umsetzbar wäre.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

trs

Hallo,

prima, das spuckt die Konsole aus:

13:14:39 MQT: /smarthome/garten/teich/stat/POWER1 = ON      ------Teichpumpe an-------
13:15:39 MQT: /smarthome/garten/teich/tele/STATE = {"Time":"2020-05-17T13:15:39","Uptime":"0T19:26:09","UptimeSec":69969,"Heap":27,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":3,"POWER1":"ON","POWER2":"ON","POWER3":"OFF","POWER4":"OFF","Wifi":{"AP":1,"SSId":"Garten TRS","BSSId":"80:3F:5D:A5:DD:47","Channel":6,"RSSI":100,"Signal":-44,"LinkCount":1,"Downtime":"0T00:00:56"}}
13:15:39 MQT: /smarthome/garten/teich/tele/SENSOR = {"Time":"2020-05-17T13:15:39","Switch8":"ON"}
13:18:23 MQT: /smarthome/garten/teich/cmnd/POWER8 = OFF              -------maximaler Füllstand erreicht-----
13:18:23 MQT: /smarthome/garten/teich/stat/RESULT = {"Command":"Error"}     ------weil ich SwitchTopic auf 1 gestellt hab-----
13:18:23 MQT: /smarthome/garten/teich/stat/RESULT = {"POWER1":"OFF"}        -------DOIF von FHEM stellt Pumpe ab, siehe DOIF oben------
13:18:24 MQT: /smarthome/garten/teich/stat/POWER1 = OFF                            -------DOIF stellt Pumpe nach vorgegebener Zeit wieder ein------
13:18:25 MQT: /smarthome/garten/teich/cmnd/POWER8 = ON                          -----es geht wieder von vorne los, max. Füllstand erreicht-----
13:18:27 MQT: /smarthome/garten/teich/stat/RESULT = {"Command":"Error"}
13:20:39 MQT: /smarthome/garten/teich/tele/STATE = {"Time":"2020-05-17T13:20:39","Uptime":"0T19:31:09","UptimeSec":70269,"Heap":26,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":3,"POWER1":"OFF","POWER2":"ON","POWER3":"OFF","POWER4":"OFF","Wifi":{"AP":1,"SSId":"Garten TRS","BSSId":"80:3F:5D:A5:DD:47","Channel":6,"RSSI":100,"Signal":-48,"LinkCount":1,"Downtime":"0T00:00:56"}}
13:20:39 MQT: /smarthome/garten/teich/tele/SENSOR = {"Time":"2020-05-17T13:20:39","Switch8":"ON"}
13:21:23 MQT: /smarthome/garten/teich/stat/RESULT = {"POWER1":"ON"}
13:21:23 MQT: /smarthome/garten/teich/stat/POWER1 = ON




Die Lösung mit der Drehzahlregelung wäre schöner, das Relais auf dem Sonoff schaltet ja andauernd.

Gruss
TRS



Papa Romeo

#13
Zitat von: Gisbert am 17 Mai 2020, 10:42:24
Nein, warum, so ein Fall, dass ein Aktor oder Sensor eine andere Spannung will als ein GPIO am ESP8266, kommt häufiger vor.
Es gibt kleine Platinchen, die aus 3.3V 5.0V machen, ungetestet, könnte eine Möglichkeit sein, damit 5V für die PWM bereitzustellen.

...einfachste Weg ... Optokoppler oder z.B. einen Transistor bzw. MOS-FET-Treiber nachschalten.

Ich mach das bei meiner Reinwasseranlage so, für die Pumpe und die Ventile.
Die PWM erzeuge ich allerdings durch zwei Wemos-Dual-Motor-Shield´s, denen ich jeweils pro Ausgang eine MOS-FET Treiberstufe nachgeschaltet habe, die dann die 24 Volt für die Ventile bzw. 36 Volt für die Pumpe steuern.

LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

trs

Zitat...einfachste Weg ... Optokoppler oder einen Transistortreiber nachschalten.

Lötkolben kann ich bedienen, aber ne Schaltung kann ich nicht selber entwerfen...