ich versuche gerade eine Steckdose beim betätigen einer Taste, oder
eben per telnet diese nach einer gewissen Zeit, z.B. 15 min
ausschalten.
Hat sowas schon jemand realisiert? In der Reverenz bin ich mit dem
"at" allerdings nicht schlau geworden.
Danke schon mal!
Gruß
Christian
define MeineSteckdose FS20 hauscode adresse (der SChaltsteckdose)
define act_on_MeinSchalterName notify MeinSchalterName { if ("%" ne
"off") { fhem("at +00:15:00 set MeineSteckdose on") } }
Der Test
if ("%" ne "off")
ist streng genommen nicht notwendig, er verhindert nur, das die
Steckdose auch dann nach 15 Minuten angeht, wenn man den Schalter
"MeinSchalterName" auf AUS schaltet.
.... { fhem("at +00:15:00 set MeineSteckdose off") } }
das ist aber fhem 1.x/2.x Syntax, wenn ich mich recht erinnere ab 3.0 muss es
define myAt at +00:15 set MeineSteckdose off
heissen.
define MeinSchalterName FS20 hauscode adresse (irgendeine)
attr MeinSchalterName dummy 1
attr MeinSchalterName room MeineWebschalter
define MeineSteckdose FS20 hauscode adresse (der SChaltsteckdose)
define act_on_MeinSchalterName notify MeinSchalterName { if ("%" ne
"off") define myAt at +00:15 set MeineSteckdose off }
2. würde man dann den Test auf "Schalterstelltung" in deinem Scenarion
weglassen und damit braucht man auch paar Klammer weniger.
3. zu dem was Rudolf sagt: Ich bin mir nicht ganz sicher worauf er
abhebt, da ich mit FHEM4 irgendwas eingestiegen bin und daher gar
nicht weiss, wie das früher mal war.
Eventuell bezieht er sich auf den Teil *off*, die Sternchen müssen
natürlich weg und waren in meinem Beispiel auch nicht. Oder er bezieht
sich auf die etwas umständliche Lösung mit den Klammern, also der
Nutzung von PERL und Shell Elementen.
Das würde meines Erachtens aber gehen, auch unter aktuellen FHEM
(läuft bei mir so mit FHEM 4.9 zumindest). Denn letzlich bedeutet
{ fhem("at +00:15:00 set MeineSteckdose off") } }
nur, dass am Ende an FHEM das in der Klammer übergeben wird und das
ist doch genau das was Rudolf auch meint.
Allerdings: Der ganze Kram ist in deinem Scenario gar nicht nötig, da
du offenbar weder eine Darstellung eines Schalters im Webinterface
brauchst, noch auf dessen Schalterstellung testen musst. Wenn du nur
mittels eines Scripts auschalten willst, dann reicht auch
im fhem.cfg
define MeineSteckdose FS20 hauscode adresse (der Schaltsteckdose)
und das Script übergibt dann an FHEM z.b. per Telnet
define myAt at +00:15 set MeineSteckdose off (myAT steht natürlich
für irgendeinen Namen der Aktion)
On 15 Dez., 10:40, "Christian K." <christian.kohm...@googlemail.com>
wrote:
Rudolf meint nur, dass das was frueher in fhem als
at +00:15:00 set MeineSteckdose off
geschrieben wurde, seit ueber 4 Jahren (fhem 4.0, 2007-04-14) als
define myAt at +00:15:00 set MeineSteckdose off
zu schreiben ist.
Manchmal ist man echt ein bischen blind! Reiner Tipfehler von mir und
nicht bemerkt.
(ich wusste ja nicht mal, das es früher anders ging. Ich bin erst seit
2010 dabei)
define in_15min_Aus notify 4_Kanal_Handsender_02 {define myAt at +00:01:00 set sz_Einbaudimmer off}
Und was meinst du mit "ich habs mal probiert..."? Wo trägst du das
ein?
Ich meine, was du machen musst, habe ich weiter oben ja eigentlich
gesagt:
>im fhem.cfg
>define MeineSteckdose FS20 hauscode adresse (der Schaltsteckdose)
>und das Script
damit meinte ich dein shutdown Script von dem du sprachst!
> übergibt dann an FHEM z.b. per Telnet
>define myAt at +00:15 set MeineSteckdose off (myAT steht natürlich
>für irgendeinen Namen der Aktion)
Und offenbar hast du das ja auch alles gemacht, denn
>"define myAt at +00:01:00 set
>sz_Einbaudimmer off"
ist ja das richtig und geht ja auch.
Warum machst du jetzt was ganz anderes?
> Kann es daran liegen das der "4_Kanal_Handsender_02" toggelt und deshalb es
> nicht geht?
Nee, das liegt daran, dass FHEM nicht weiss, was
"4_Kanal_Handsender_02" überhaupt sein soll, oder warum du den
Ansprechen oder nur erwähne willst, wenn du ein Dimmer ausschalten
willst. Dazu brauchst du doch gar keine Fernbedienung.
> Der Handsender ist ein FS20 S4 im 4 Kanal Betrieb. somit ist die dritte
> Taste hat Code 02.
Äh... ja und? Was hat das mit dem Auschalten einer Steckdose in 15
Minuten zu tun?
Mal ne andere Frage: Kann dein shutdown Script eine Telnet-Session
aufmachen und dort ein Commando absetzen? Das wäre ja mal
Voraussetzung für dein Vorhaben.
>
> Gruß
> Christian
1. in der Gesammtübersicht des Webfrontendes in der Liste
"Zeitgesteuerte Kommandos (at)"
eine "aus_in15min" erscheinen, mit Status "next: UHRZEIT" erscheinen,
wobei
UHRZEIT die in 15 Minuten nach schaltung ist.
2. zu dieser Uhrzeit im Loggfile "FS20 set sz_PC_Steckdose off"
erscheinen
3. die Dose auschalten.
Und das Script bedient dann irgendwie das Webinterface? Oder wie?