FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: mi.ke am 24 Mai 2014, 20:33:33

Titel: [Lösung] Standard dummy und off-for-timer off-till on-till
Beitrag von: mi.ke am 24 Mai 2014, 20:33:33
Guten Tach auch,

was ich nicht verstehe ist folgendes . . .

define Dummy dummy
attr Dummy webCmd on:off


was funktioniert ist:
set Dummy on-for-timer 10

was nicht funktioniert ist:

set Dummy off-for-timer 10
set Dummy on-till 20:45
set Dummy off-till 20:45


Nicht funktionieren will heißen:
Das Icon wird geändert, state + STATE sind gesetzt.
Aber das passende at wird nicht erzeugt !?!

Wie gesagt kein FS20 sondern ein einfaches dummy.

Hoffe ich hab mich verständlich machen können.
Vielleicht könnte mich jemand erhellen.

Danke im Voraus  8)

Cheers

mi.ke
Titel: Antw:Standard dummy und off-for-timer off-till on-till
Beitrag von: justme1968 am 24 Mai 2014, 20:47:33
ein normaler dummy kann kein on-for-timer.

du musst das entweder vom hand machen oder schauen ob dir readingsProxy vielleicht weiter hilft. das ist eine art dummy mit on-for-timer unterstützung.

gruss
  andre
Titel: Antw:Standard dummy und off-for-timer off-till on-till
Beitrag von: Puschel74 am 24 Mai 2014, 20:51:43
Hallo,

wie andre schon geschrieben hat.

Grad ausprobiert:
set Dummy1 on-for-timer 10
macht genau nichts.

Bastel dir ein notify mit einem at darin das den dummy nach x wieder ausschaltet - oder einschaltet oder wie auch immer  ;)

Grüße
Titel: Antw:Standard dummy und off-for-timer off-till on-till
Beitrag von: mi.ke am 24 Mai 2014, 20:55:05
Das ist ja genau das, was mich wundert......
Bei mir geht:
set Dummy on-for-timer 10

Gesendet von unterwegs mit Tapatalk

Titel: Antw:Standard dummy und off-for-timer off-till on-till
Beitrag von: Zrrronggg! am 24 Mai 2014, 23:58:08
Was heisst denn "Geht"?

Titel: Antw:Standard dummy und off-for-timer off-till on-till
Beitrag von: mi.ke am 25 Mai 2014, 00:45:32
Naja...
geht heißt, läuft halt  8)

define Dummy dummy

set Dummy on-for-timer 10


erzeugt automatisch ein at:
define Dummy_off at +00:00:10 set Dummy off


Wenn ich jetzt wüsste warum . . .
. . . hätte ich vermutlich diesem Post nicht gestartet. :-X

Ich muss ich halt suchen warum....
... ich bin davon ausgegangen, dass die Erweiterung durch irgendein Update im vergangenen Jahr kam.
Genau wie bein RFXtrx oder den ITs, die dass anfänglich auch nicht konnten.

Titel: Antw:Standard dummy und off-for-timer off-till on-till
Beitrag von: mi.ke am 25 Mai 2014, 01:09:40
Habs gefunden:

Hatte ich vor ca. einem 3/4 Jahr mal aus einem Wiki oder aus dem "Alten Forum" rauskopiert.
Eigentlich wollte ich damals DevStateIcons von Dummys dazu bringen, sich automatisch zu aktualisieren.
Hatte den Code nie aus der CFG rausgelöscht.

Naja, Faulheit hat manchmal auch was für sich.

Jetzt auch für off-for-timer in quick'n'dirty erweitert.





Wer's haben möchte . . . bitte sehr.
Ist wie gesagt nicht von mir . . . Dank bitte an den unbekannten Genius.

###########################################
# on-for-timer 4 dummys
###########################################
define OnForTimer_n .*:on-for-timer.* { 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" } }


###########################################
# off-for-timer 4 dummys
###########################################
define OffForTimer_n .*:off-for-timer.* { my @@args= split(" ", "%EVENT"); if($defs{%NAME_on}) { my $mod_cmd= sprintf ( "modify %NAME_on +%%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_on at +%%02d:%%02d:%%02d set %NAME on", $args[1] / 3600, ($args[1] / 60) %% 60, $args[1] %%60); fhem $def_cmd; fhem "attr %NAME_on room $room" } }

Titel: Antw:[Lösung] Standard dummy und off-for-timer off-till on-till
Beitrag von: fruit am 09 September 2014, 20:51:59
I've spent hours today on a  similar problem until I found this thread - and finally a solution. Thanks

The only reason I am resurrecting this rather old topic is to correct a slight mistake, the notify module names are missing in the above post

# on-for-timer 4 dummys
###########################################
define OnForTimer_n notify .*:on-for-timer.* { 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" } }


###########################################
# off-for-timer 4 dummys
###########################################
define OffForTimer_n notify .*:off-for-timer.* { my @@args= split(" ", "%EVENT"); if($defs{%NAME_on}) { my $mod_cmd= sprintf ( "modify %NAME_on +%%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_on at +%%02d:%%02d:%%02d set %NAME on", $args[1] / 3600, ($args[1] / 60) %% 60, $args[1] %%60); fhem $def_cmd; fhem "attr %NAME_on room $room" } }


I hope it helps the next person who needs it and ends up here. (I eventually found the wiki article too http://www.fhemwiki.de/wiki/On-for-timer_zurücksetzen (http://www.fhemwiki.de/wiki/On-for-timer_zur%C3%BCcksetzen))
Titel: Antw:[Lösung] Standard dummy und off-for-timer off-till on-till
Beitrag von: dadoc am 21 November 2015, 20:12:35
Bei fhem Version > 5.6 müssen einige Änderungen vorgenommen werden:

# on-for-timer 4 dummys
###########################################
define 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" \
} \
}

###########################################
# off-for-timer 4 dummys
###########################################
define OffForTimer_n notify .*:off-for-timer.* { \
my $NAME_on = "x";;\
my @args= split(" ", "%EVENT");; \
if($defs{$NAME_on}) { \
my $mod_cmd= sprintf ( \
"modify $NAME_on +%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_on at +%02d:%02d:%02d set $NAME on", \
$args[1] / 3600, ($args[1] / 60) % 60, $args[1] %60);; \
fhem $def_cmd;; \
fhem "attr $NAME_on room $room" \
} \
}

Grüße
Martin
Titel: Antw:[Lösung] Standard dummy und off-for-timer off-till on-till
Beitrag von: mi.ke am 02 Januar 2016, 13:48:36
hier die funktionierende Version, die den richtigen Dateinamen erzeugt (für's DEF).
Für off-for-timer, on-till, off-till einfach den RegexpPart und die Variable $ext anpassen.

####################################################

.*:on-for-timer.* {
my $ext = "_off";
my $name = $NAME . $ext;
my @args= split(" ", "$EVENT");
    if($defs{$name}) {
        my $mod_cmd= sprintf (
        "modify $name +%02d:%02d:%02d",
        $args[1] / 3600, ($args[1] / 60) %60, $args[1] %60);
        fhem $mod_cmd;
        }
           else {
                my $raum = AttrVal("$NAME","room","Unsorted");
        my $def_cmd= sprintf (
        "define $name at +%02d:%02d:%02d set $NAME off",
        $args[1] / 3600, ($args[1] / 60) %60, $args[1] %60);
        fhem $def_cmd;
                fhem "attr $name room $raum";     
                }
}

#####################################################


Cheers

mi.ke
Titel: Antw:[Lösung] Standard dummy und off-for-timer off-till on-till
Beitrag von: RheinEnergie am 20 März 2016, 17:44:50
würde mir jemand verraten wo ich diesen Code hin schreiben muss damit er funktioniert?!
in die fhem.cfg habe ich es versuchsweise gepackt. das funktioniert nicht :(

danke!
Titel: Antw:[Lösung] Standard dummy und off-for-timer off-till on-till
Beitrag von: justme1968 am 20 März 2016, 17:51:19
wenn man einen readingsProxy statt dem dummy nimmt kann man sich den ganzen aufwand sparen. man bekommt dann on-for-timer automatisch von ganz alleine dazu. übrigens auch off-for-timer und alles mögliche andere.

gruss
  andre
Titel: Antw:[Lösung] Standard dummy und off-for-timer off-till on-till
Beitrag von: RheinEnergie am 20 März 2016, 18:04:27
ok, muss ich mir mal ansehen.
Aus reinem Interesse würde mich aber dennoch interessieren wo der Code hin kommt.

gruß!
Titel: Antw:[Lösung] Standard dummy und off-for-timer off-till on-till
Beitrag von: marvin78 am 20 März 2016, 18:05:49
Es steht aber dabei, wo das hin gehört. Ins DEF eines notifys.
Titel: Antw:[Lösung] Standard dummy und off-for-timer off-till on-till
Beitrag von: RheinEnergie am 20 März 2016, 18:07:31
ah, ok.
soory. fange mit fhem grade erst an und wollte mal ein bisschen mit on-till / on-for rumspielen.
Titel: Antw:[Lösung] Standard dummy und off-for-timer off-till on-till
Beitrag von: Yokurt am 16 Februar 2021, 21:51:06
Ich weiß, das Thema ist alt, aber falls sonst noch jemand mit so einem Problem drüber stolpert:

Mittelrweile geht es wohl mit useSetExtensions. Mein dummy kann zB. "on-till" mit folgenden Attributen:

setList    on off
useSetExtensions    on-till