FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ERI am 20 März 2021, 21:03:15

Titel: Tasmota 4ch einzelnen Kanal über Timer ansteuern
Beitrag von: ERI am 20 März 2021, 21:03:15
 ::)
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
Titel: Antw:TAsmota 4ch einzelnen Kanal über Timer ansteuern
Beitrag von: Müller am 21 März 2021, 08:42:20
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
Titel: Antw:TAsmota 4ch einzelnen Kanal über Timer ansteuern
Beitrag von: ERI am 21 März 2021, 12:51:00
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
Titel: Antw:Tasmota 4ch einzelnen Kanal über Timer ansteuern
Beitrag von: Müller am 21 März 2021, 15:17:47
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)
Titel: Antw:Tasmota 4ch einzelnen Kanal über Timer ansteuern
Beitrag von: Beta-User am 21 März 2021, 16:49:48
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).
Titel: Antw:Tasmota 4ch einzelnen Kanal über Timer ansteuern
Beitrag von: ERI am 21 März 2021, 18:24:39
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 ,...
Titel: Antw:Tasmota 4ch einzelnen Kanal über Timer ansteuern
Beitrag von: Müller am 21 März 2021, 20:55:41
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...)
Titel: Antw:Tasmota 4ch einzelnen Kanal über Timer ansteuern
Beitrag von: Beta-User am 21 März 2021, 23:11:44
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).