::)
so langsam wächst meine Automatisierung Nun habe ich begonnen an meinem Teich endlich die Elektrik neu zuamchen . Die Idee ist die Pumpen und Licht über Sonoffs zu schalten und über einen ESP8266 verschiedene Sensoren zu erfassen ( später)
Allerdings bin ich kläglich gescheitert die Zeitschaltuhr mit der Pumpe (ein Kanal der Sonnoff) zusammen zu bringen.
Als Schaltuhr ist der Timer nach dem Beispiel auf gesetzt. Läuft und tut was sie soll .
Für die Teichschalterei nutze ich zwei Sonnoffs 4ch mit tasmota ( 9.1.0) ....
Irgendwie bring ich es nicht hin über die Zeitschaltuhr eine einzelnen Kanal der Tasmota zu schalten...
vermutlich brauche ich nur den richtige Denkimpuls...
JA ich habe das Forum durchsucht und beispiele durchsucht aber leider nix gefunden
Hallo, ein paar Infos mehr wäre nicht schlecht. Hast du den Sonoff 4CH vereinzelt? Dann sollte dies in FHEM 4 getrennte Geräte anzeigen? Falls du nur ein Gerät in FHEM hast sollte deine "setlist" so aussehen damit deine 4 Relais unterschiedlich ansteuerbar sind:
attr MQTT2_Beregnung setList off1:noArg cmnd/DVES_8CAB11/POWER1 0\
on1:noArg cmnd/DVES_8CAB11/POWER1 1\
toggle1:noArg cmnd/DVES_8CAB11/POWER1 2\
on-for-timer1 {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100;; 'cmnd/DVES_8CAB11/Backlog pulseTime1 '.$duration.';; POWER1 1'}\
\
off2:noArg cmnd/DVES_8CAB11/POWER2 0\
on2:noArg cmnd/DVES_8CAB11/POWER2 1\
toggle2:noArg cmnd/DVES_8CAB11/POWER2 2\
on-for-timer2 {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100;; 'cmnd/DVES_8CAB11/Backlog pulseTime2 '.$duration.';; POWER2 1'}\
\
off3:noArg cmnd/DVES_8CAB11/POWER3 0\
on3:noArg cmnd/DVES_8CAB11/POWER3 1\
toggle3:noArg cmnd/DVES_8CAB11/POWER3 2\
on-for-timer3 {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100;; 'cmnd/DVES_8CAB11/Backlog pulseTime3 '.$duration.';; POWER3 1'}\
\
off4:noArg cmnd/DVES_8CAB11/POWER4 0\
on4:noArg cmnd/DVES_8CAB11/POWER4 1\
toggle4:noArg cmnd/DVES_8CAB11/POWER4 2\
on-for-timer4 {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100;; 'cmnd/DVES_8CAB11/Backlog pulseTime4 '.$duration.';; POWER4 1'}
bzw readinglist
attr MQTT2_Beregnung readingList Beregnung:tele/DVES_8CAB11/LWT:.* LWT\
Beregnung:cmnd/DVES_8CAB11/POWER:.* POWER\
Beregnung:tele/DVES_8CAB11/INFO1:.* { json2nameValue($EVENT) }\
Beregnung:tele/DVES_8CAB11/INFO2:.* { json2nameValue($EVENT) }\
Beregnung:tele/DVES_8CAB11/INFO3:.* { json2nameValue($EVENT) }\
Beregnung:stat/DVES_8CAB11/RESULT:.* { json2nameValue($EVENT) }\
Beregnung:stat/DVES_8CAB11/POWER1:.* POWER1\
Beregnung:stat/DVES_8CAB11/POWER2:.* POWER2\
Beregnung:stat/DVES_8CAB11/POWER3:.* POWER3\
Beregnung:stat/DVES_8CAB11/POWER4:.* POWER4\
Beregnung:tele/DVES_8CAB11/STATE:.* { json2nameValue($EVENT) }
Ich gehe mal davon aus, dass du direkt über Tasmota alle Relais einzeln schalten kannst. Geht dies auch über FHEM ?
Gruß
Jochen
ne ich habe erstmal nur in Unkenntnis das "standart device" genommen.
Siehe Bild
die Setlist ist natürlich auch default :
POWER1:on,off,toggle cmnd/Garten_02C4DED0/POWER1 $EVTPART1
POWER2:on,off,toggle cmnd/Garten_02C4DED0/POWER2 $EVTPART1
POWER3:on,off,toggle cmnd/Garten_02C4DED0/POWER3 $EVTPART1
POWER4:on,off,toggle cmnd/Garten_02C4DED0/POWER4 $EVTPART1
Ja ich kann alle Releais einzeln aus Fhem schalten .
nu hatte ich die Idee aus dem Timer object
mit Anpassung von
setstate Schaltuhr 2021-03-20 17:48:05 Timer_05 alle,alle,alle,alle,alle,00,,on,1,1,1,1,1,1,1,0
setstate Schaltuhr 2021-03-20 17:49:53 Timer_06 alle,alle,alle,alle,alle,00,,on,1,1,1,1,1,1,1,0
den einzelnen Kanal direkt zuschalten .... aber mir dämmert das es vermutlich ein Notify braucht um dann mit dem denKanal anzuschieben...
Die Vereinzelung ist natürlich ein gute Idee. damit wirds natürlich handlicher :)
Aber ich probiere mal die Kanäle mal einzeln auf zusetzen
Danke für den Hinweis . ich werde berichten
Als Zeitschaltuhr funktioniert dies recht einfach:
https://wiki.fhem.de/wiki/WeekdayTimer (https://wiki.fhem.de/wiki/WeekdayTimer)
Mußt nicht unbedingt vereinzeln:
defmod xxtimer WeekdayTimer namevondeinemAktor\
0123456|05:00|on1\
0123456|05:20|off1\
0123456|05:30|on2\
0123456|05:50|off2
(Wenns funktioniert im Betreff des Beitrags "gelöst" ergänzen)
Zitat von: Müller am 21 März 2021, 15:17:47
Mußt nicht unbedingt vereinzeln:
...aber man sollte m.E.. Vieles wird dadurch einfacher, z.B. geht dann auch on-for-timer oder on-till.. etc. direkt für jeden Kanal. Das gilt zumindest dann, wenn man "nur" Relais einzeln schalten will. (Für Rollladensteuerung gilt (teilweise) was anderes).
erstmal dank ich muss das jetzt mal Probieren in der nächten Woche
Ich habe das modul 88_Timer.pm genutzt , aber ich denke für die Teichsteuerung muss ich dann andere Lösungen gehen vielleicht
das mit dem vereinzelnen schnall ich noch nicht so ganz, aber ich probiers mal mit eine zweiten 4Ch tasmota
Die Teichpumpe muss laufen ,...
In meiner setlist verwende ich on-for-timer1 etc.
Dann geht auch der Timer.
Wenn du die ganzen Einstellung mitteilst (unten "raw definition") kann man dir besser helfen.
Was soll denn der Timer machen ? (on-for-timer könnte man auch umgehen...)
Tasmota-on-for-timer auf dem Gerät selbst ist "speziell", da muss man wissen, was man tut bzw. wo jeweils die Grenzen liegen...
Es ist einfacher in FHEM zu integrieren, wenn man vereinzelt, und es gibt auch ein attrTemplate dafür. Das kann man auch auf eine Kopie loslassen, wenn man meint, das Ausgangsdevice erst mal behalten zu müssen (dann läuft beides parallel).
(Nichts gegen diese "spezielle" on-for-timer-Mehrkanal"-Implementierung, aber da muss man sich merken, wie die Syntax ist, und ich hätte das in zwei Wochen vergessen, dass man da spezielle "on"-Befehle braucht).