Schalter der nach Zeit selbsttätig ausschaltet

Begonnen von maci, 18 November 2017, 15:01:41

Vorheriges Thema - Nächstes Thema

maci

Hallo,

Ich bin am herumsuchen wie ich ein paar meiner Schalter (Dummy), die ich per Hand schalte, die nach Ablauf einer gewissen Zeit wieder selbsttätig ausschalten.
Die Ablaufzeit würde ich dann gerne auch per Dummy mit Auswahl vorgeben können.

Genau gesagt: Ich schalte auf der Weboberfläche einen Schalter ein, der seinen Schaltbefehl über ein notify durchführt.
Dieser Schalter soll sich aber zB. nach Ablauf von einer Stunde wieder selbst ausschalten.

Wie kann ich das am besten lösen?
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

andies

"Eigentlich" sollte das mit on-for-timer gehen. Aber ein dummy kann das nicht. Man kann das aber umgehen (habe ich gestern hier im Forum gefunden) und damit mache ich das. Ich habe konkret folgenden Dummy, der sich nach 180 Sekunden ausschaltet.

Zuerst definierst du folgendes Gerät
defmod OnForTimer_n notify .*:on-for-timer.* {\
my $NAME_off = "x";;\
my @args= split(" ", "$EVENT");; \
if($defs{$NAME_off}) { \
my $mod_cmd= sprintf ( \
"modify $NAME_off +%02d:%02d:%02d", \
$args[1] / 3600, ($args[1] / 60) % 60, $args[1] %60);; \
fhem $mod_cmd;; \
} else { my $room = AttrVal("$NAME", "room", "Unsorted");; \
my $def_cmd= sprintf ( \
"define $NAME_off at +%02d:%02d:%02d set $NAME off", \
$args[1] / 3600, ($args[1] / 60) % 60, $args[1] %60);; \
fhem $def_cmd;; \
fhem "attr $NAME_off room $room" \
} \
}

Dann kannst Du einen Dummy wie folgt ansteuern
defmod irgendein_name_fuer_das_notify notify ausloesendes_Geraet:Raeding set Lampe on-for-timer 180

Das Geraet Lampe sieht dann so aus:
defmod Lampe dummy


Meintest Du das?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Byte09

Zitat von: maci am 18 November 2017, 15:01:41
Hallo,

Ich bin am herumsuchen wie ich ein paar meiner Schalter (Dummy), die ich per Hand schalte, die nach Ablauf einer gewissen Zeit wieder selbsttätig ausschalten.
Die Ablaufzeit würde ich dann gerne auch per Dummy mit Auswahl vorgeben können.

Genau gesagt: Ich schalte auf der Weboberfläche einen Schalter ein, der seinen Schaltbefehl über ein notify durchführt.
Dieser Schalter soll sich aber zB. nach Ablauf von einer Stunde wieder selbst ausschalten.

Wie kann ich das am besten lösen?

Hi, wenn du interesse hast es zu testen, kann ich dir morgen ein modul zukommen lassen, welches u.A. genau das kann . es befindet sich aber noch in einer recht frühen entwicklungsphase und ich würde dich dann bitten mir fehler etc. zukommen zu lassen.

gruss Byte09


maci

Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

maci

Zitat von: Byte09 am 18 November 2017, 19:18:33
Hi, wenn du interesse hast es zu testen, kann ich dir morgen ein modul zukommen lassen, welches u.A. genau das kann . es befindet sich aber noch in einer recht frühen entwicklungsphase und ich würde dich dann bitten mir fehler etc. zukommen zu lassen.

gruss Byte09

Das wäre sicher von Interesse.

@Otto: ich habe das zwar jetzt mit einem Testschalter mal umgesetzt. Aber folgendes Problem habe ich da.
Da diese Erweiterung beim Dummy nicht funktioniert, wenn ich direkt den Dummy betätige, brauche ich einen zusätzlichen Dummy mit einem notify um den Zeitschalt Dummy zu aktivieren.
Wenn ich versuche diesen Dummy mit gesetzten Attribut: useSetExtensions on-for-timer
direkt zu schalten, schaltet dieser nicht mehr aus.
Es funktioniert nur wenn ich das mit einem set Schalter on-for-timer 60 mache bzw. ein webcmd on-for-timer 60
Dann habe ich aber in der Zeile dann stehen on-for-timer 60.
Ich will hier eher nur ein on oder ein stehen haben.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

amenomade

define didu DOIF ([du] eq "on") (set du off)
attr didu wait [didu:waittime]


Mit setreading didu waittime 60
Kannst auch ein anderes Dummy dafür nutzen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

enno

Moin maci,

ich habe mir einen FS20 Dummy angelegt. Der kann on-for-timer...

define Licht_an FS20 11114444 1a
attr Licht_an dummy 1
attr Licht_an room HAUS


Gruss
  Enno

Einfacher FHEM Anwender auf Intel®NUC

amenomade

Aber der will kein "on-for-timer". Er will ein "on", der automatisch danach auf "off" geht... anders gesagt: er will immer noch sein Schalter mit "set Schalter on" schalten und nicht mit "set Schalter on-for-timer 60".
Zumindest habe ich es so verstanden.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

enno

ZitatGenau gesagt: Ich schalte auf der Weboberfläche einen Schalter ein, der seinen Schaltbefehl über ein notify durchführt.
Dieser Schalter soll sich aber zB. nach Ablauf von einer Stunde wieder selbst ausschalten.

Ich hatte das so verstanden:

set Licht_an on-for-timer 3600

notify auf "on-for-timer 3600"  und nach einer Stunde schaltet sich der FS20 dummy selbst wieder aus.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

maci

Zitat von: amenomade am 18 November 2017, 22:16:36
Aber der will kein "on-for-timer". Er will ein "on", der automatisch danach auf "off" geht... anders gesagt: er will immer noch sein Schalter mit "set Schalter on" schalten und nicht mit "set Schalter on-for-timer 60".
Zumindest habe ich es so verstanden.

Ja genau so soll es sein.

Ich will den Schalter einschalten, dieser soll dann nach einer festgelegten Zeitspanne automatisch auf off gehen.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

Wuppi68

ein notify auf den Dummy für On und darin ein on-for-timer setzen
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

Frank_Huber

Doif
(trigger) (set XXx on) (set XXx off)

Attribut wait 0,3600
Attribut do always

So würde ich es lösen.

Mit dem Handy online, daher kurz gefasst...


Otto123

Da es eh nicht um Betrieb ohne FHEM geht, kann man es auch so machendefine nty_Schalter notify Schalter:on sleep xx;; set $NAME off

Da ist es völlig egal wie das on kommt. Dann braucht man auch nicht attr useSetExtenions

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Frank_Huber

Zitat von: Otto123 am 18 November 2017, 23:14:23
Da es eh nicht um Betrieb ohne FHEM geht, kann man es auch so machendefine nty_Schalter notify Schalter:on sleep xx;; set $NAME off

Da ist es völlig egal wie das on kommt. Dann braucht man auch nicht attr useSetExtenions

Gruß Otto
Ist sleep nicht blockierend?

Mit dem Handy online, daher kurz gefasst...