Hallo Liebe Gemeinde.
Ich habe meine Jalousien soweit gut am laufen. Den einen Tag zur ersten, den anderen Tag mal zur zweiten Stunde.
Das funktioniert auch alles gut. Mit einer Autofunktion, kann ich die Steuerung an, aus schalten.
Gibt es aber die Möglichkeit, dass wenn mein Kind "morgen" zur Zweiten muss, ich die Jalousien einmalig zur zweiten Stunde, also 45 min später hochfahren lassen kann? Natürlich soll sich diese Funktion nach Ausführung wieder zurück setzten, damit dann wieder alles Automatisch läuft?
Für Ideen & Vorschläge bin ich dankbar.
Lieben Gruß
Hoffi
Hallo,
wie wäre es mit einem dummy "zweite Stunde"
die normale Jalosien steuerung ruft den dummy ab if "zweite Stunde" on dann mach nichts!
ein Notify auf "zweite Stunde" on
--> dieser legt dann ein at (Uhrzeit der zweiten Stunde) an in diesem ist dann inbegriffen das er den dummy "zweite stunde auf off setzt.....
-> ergo wird der befehl nur einmal ausgeführt...
=> hoff(e) hab dich richtig verstanden...
Grüße
_Æ-
Hallo _Æ-.
Das mit dem Dummy und der Abfrage bekomme ich hin.
define zweite_Stunde dummy
Kannst du mir bei de, Notify helfen.?
Vielen Dank
Hoffi
Hallo,
Also du hast ein dummy zweite_Stunde
-> da fällt mir was ein :-) brauchst kein notify auf den dummy zweite_Stunde du kannst ja deine normale Schaltung nehmen und dann
Rollo_hoch_regulär
if (Value("zweite_Stunde") eq "on") {fhem ("define Rollo_zweite_stunde at 09:00 set rolloHoch;;define ZweiteStunde_zurueck at 09:010 set zweite_Stunde off")}
=> alles nicht getestet aber so in die Richtung würde ich es machen ...
Moin,
Das ist doch wieder ein Fall für DOIF: Wenn Zeit = 1. Stunde und Dummy = off, dann Rollo hoch, sonst wenn Zeit = 2. Stunde und Dummy = on dann Rollo hoch und Dummy aus. Dazu noch ein Feriendummy und die Anweisungen für die Tage zur 2. Stunde und fertig.
Und dann kannst Du noch das hier in Ruhe genießen: http://fhem.de/commandref.html#WeekdayTimer
getimte Grüße
Niels
Hey,
Ja genau....
oder mit doif nur damit hab ich noch wenig Erfahrung, ich hab das meiste bei mir mit notifi und if!
doif ist natürlich die schönere variante....
Zitat von: Thoffi1978 am 04 Dezember 2015, 07:22:12
Hallo Liebe Gemeinde.
Ich habe meine Jalousien soweit gut am laufen. Den einen Tag zur ersten, den anderen Tag mal zur zweiten Stunde.
Das funktioniert auch alles gut. Mit einer Autofunktion, kann ich die Steuerung an, aus schalten.
Gibt es aber die Möglichkeit, dass wenn mein Kind "morgen" zur Zweiten muss, ich die Jalousien einmalig zur zweiten Stunde, also 45 min später hochfahren lassen kann? Natürlich soll sich diese Funktion nach Ausführung wieder zurück setzten, damit dann wieder alles Automatisch läuft?
Für Ideen & Vorschläge bin ich dankbar.
Lieben Gruß
Hoffi
Die Infos sind zu allgemein, wie sehen die relevanten Definitionen Deiner Steuerung konkret aus?
Vielen Dank für die ganzen Antworten.
Bis jetzt sieht meine Schaltung wie folgt aus (Donnerstags ist der spätere Start bereits integriert):
([SH_Ferientag] eq "0" and [Jalousie_Automatik] eq "Auto" and [Helligkeit:state] < 200 and [{sunrise("CIVIL",0,"07:00","07:40")}|1235]) (set Jalo_WZ_TV_vorne 50)
DOELSEIF
([SH_Ferientag] eq "0" and [Jalousie_Automatik] eq "Auto" and [Helligkeit:state] > 200 and [{sunrise("CIVIL",0,"07:00","07:40")}|1235]) (set Jalo_WZ_TV_vorne on)
DOELSEIF
([SH_Ferientag] eq "0" and [Jalousie_Automatik] eq "Auto" and [Helligkeit:state] < 200 and [{sunrise("CIVIL",0,"07:40","08:15")}|4]) (set Jalo_WZ_TV_vorne 50)
DOELSEIF
([SH_Ferientag] eq "0" and [Jalousie_Automatik] eq "Auto" and [Helligkeit:state] > 200 and [{sunrise("CIVIL",0,"07:40","08:15")}|4]) (set Jalo_WZ_TV_vorne on)
DOELSEIF
([15:00-22:00] and [Helligkeit:state] < 0.5) (set Jalo_WZ_TV_vorne off)
DOELSE
()
Hier hätte ich nun gerne eine spontane Möglichkeit zu schalten, falls ein Stunde morgens ausfällt.
Eine Möglichkeit wäre es, die Zeitangaben indirekt zu setzen und im Bedarfsfall um 45 min zu erhöhen, s. http://fhem.de/commandref_DE.html#DOIF_Indirekten_Zeitangaben (http://fhem.de/commandref_DE.html#DOIF_Indirekten_Zeitangaben)
Einen Dummy anlegen
sponti dummy
setList state:0,45
webCmd state
und im DOIF den Bedingungsteil
[{sunrise("CIVIL",0,"07:00","07:40")}|1235]
ergänzen, etwa so
[[({sunrise("CIVIL",0,"07:00","07:40")} + [sponti]*60)]|1235]
und den Befehlsteil so
(set dein Kram, set sponti 0)
, damit die Zeitverschiebung nur einmalig erfolgt.
Nicht getestet, Syntax unvollständig
Hi,
ich habe das bei mir so gelöst:
neben dem Bett liegt eine kleine Intertechno Fernbedienung. Wenn man einmal drückt, dann wird das öffnen der Jalousien um 1h nach hinten geschoben, zweimal drücken sind zwei Stunde, dreimal etc.
Somit ist auch der Fall abgedeckt, dass man morgens aufwacht, sich unwohl fühlt und nicht durch automatische Rolläden geweckt werden will.
Hallo,
Beim Einfügen von
[[({sunrise("CIVIL",0,"07:00","07:40")} + [zweite_Stunde]*60)]|1235]
gibt es folgende Fehlermeldung:
di_vorne DOIF: no right bracket: ([SH_Ferientag] eq "0" and [Jalousie_Automatik] eq "Auto" and [Helligkeit:state] < 200 and [[({sunrise("CIVIL",0,"07:00","07:40")} + [zweite_Stunde]*60)]|1235] (set Jalo_WZ_TV_vorne 50)DOELSEIF([SH_Ferientag] eq "0" and [Jalousie_Automatik] eq "Auto" and [Helligkeit:state] > 200 and [{sunrise("CIVIL",0,"07:00","07:40")}|1235]) (set Jalo_WZ_TV_vorne on)DOELSEIF([SH_Ferientag] eq "0" and [Jalousie_Automatik] eq "Auto" and [Helligkeit:state] < 200 and [{sunrise("CIVIL",0,"07:40","08:15")}|4]) (set Jalo_WZ_TV_vorne 50)DOELSEIF([SH_Ferientag] eq "0" and [Jalousie_Automatik] eq "Auto" and [Helligkeit:state] > 200 and [{sunrise("CIVIL",0,"07:40","08:15")}|4]) (set Jalo_WZ_TV_vorne on)DOELSEIF([15:00-22:00] and [Helligkeit:state] < 0.5) (set Jalo_WZ_TV_vorne off)DOELSE()
Könnt Ihr mir beim Syntax helfen.
Danke
Hoffi
Ist bei Dir die "codemirror" Erweiterung für den DEF-Editor aktiviert?
Wennn nicht, siehe hier:http://forum.fhem.de/index.php/topic,45373.msg371668.html#msg371668 (http://forum.fhem.de/index.php/topic,45373.msg371668.html#msg371668)
Hallo Elert,
danke für den Hinweis. Klappt gut und hab auch gleich was gefunden.
ich bekomme aber nun folgende Meldung:
di_vorne DOIF: unknown expression format: [({sunrise("CIVIL",0,"07:00","07:40")}+[zweite_Stunde]*60)]
Dank
Hoffi
Da hat die Klammerprüfung wohl versagt:
so
[[({sunrise("CIVIL",0,"07:00","07:40")} + [zweite_Stunde]*60])|1235]
statt
[[({sunrise("CIVIL",0,"07:00","07:40")} + [zweite_Stunde]*60)]|1235]
Ich hatte gehofft Du findest meinen Fehler ;)
Vielen Dank
der Fehler blieb noch weiterhin, die Klammern im vorderen Teil mußten noch angepasst werden. Jetzt ging es ohne Probleme.
Was bedeutet
[zweite_Stunde]*60
zweite Stunde ist klar. was bedeutet *60 ?
Hoffi
Ellert hat es etwas eleganter gelöst wie ich. Du setzt den Dummy zweite_stunde = 1, wenn die Verzögerung gewünscht ist, ansonsten ist zweite_stunde= 0.
Und 0*60=0 sowie 1*60=60. Das zu der Zeit dazu und...
mathematische Grüße
Niels
Ich habe da einen anderen Ansatz gewählt. Ich weiß nicht wie alt Dein Kind ist. Meine ist 13, Kids in dem alter haben Handy und/oder Tablet. Da ich Technikrat bin hat meine beides. Sie hat ihre eigene TabletUI womit sie in ihrem Zimmer alles steuern kann. Dazu gehört auch ein Wecker. Und da kommt die Jalosie ins Spiel. Ich verwende Residents, Roomate mit dem entsprechenden Wakup Skripten. Hier lasse ich 2 Minuten nach der Weckzeit die Jalosie hoch fahren. Meine Tochter muß sich nur den Wecker stellen den sie ja eh brauch und gut ist.
Nur so als alternative.
Grüße
Zitat von: Thoffi1978 am 16 Dezember 2015, 20:50:49
Vielen Dank
der Fehler blieb noch weiterhin, die Klammern im vorderen Teil mußten noch angepasst werden. Jetzt ging es ohne Probleme.
Was bedeutet
[zweite_Stunde]*60
zweite Stunde ist klar. was bedeutet *60 ?
Hoffi
Du kannst "zweite_stunde" auf einen Wert in Minuten setzen. Die Zeitangabe im DOIF benötigt Sekunden.
Minuten x 60 = Sekunden
In Deinem Fall setzt Du den Dummy auf 45, wenn Du um 1 Schulstunde verzögern möchtest, deshalb
Zitatsponti dummy
setList state:0,45
webCmd state
Du solltest in dem Zweig, wo Du die Zeitverschiebung einbaust auch "zweite_stunde" wieder auf 0 setzen, sonst müsstest Du es jedesmal per Hand zurücksetzen, wie hier schon beschrieben
Zitat(set dein Kram, set sponti 0)
Hallo
@CoolTux. Das mit dem Wecker ist auch eine gute Idee, dazu muss ich mich aber neu einlesen. Wird dann ein schlechtWetterProjekt.
@Ellert. Vielen Dank für die Beschreibung der Funktion. Mir war nur das *60 nicht ganz klar. Nun ist aber alles nachvollziehbar.
Kann ich *00:01:00 anstatt *60 nutzen bei folgendem Code:
([06:50|1235] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50)
DOELSEIF
([07:35|4] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50)
Da wird *60 nicht mit wrong timespect nicht erkannt.
Hoffi
ZitatKann ich *00:01:00 anstatt *60 nutzen bei folgendem Code:
Code: [Auswählen]
([06:50|1235] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50)
DOELSEIF
([07:35|4] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50)
Da wird *60 nicht mit wrong timespect nicht erkannt.
Ich wüsste nicht, wo Du das in dem DOIF eintragen möchtest.
Zitatwrong timespect
Da gibt es wohl noch ein Klammerproblem. Aber die Klammern kosten ja nichts.
Versuch mal
[([{sunrise("CIVIL",0,"07:00","07:40")}] + [zweite_Stunde]*60)|1235]
Also, ich habe mal in die Commandref gesehen, da gibt es ein Beispiel unter http://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung_mit_Zeitberechnung (http://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung_mit_Zeitberechnung)
define di_light DOIF ([({sunset()}+900+int(rand(600)))])
(set lamp on)
DOELSEIF ([([23:00]+int(rand(600)))])
(set lamp off)
dieser Teil
Zitat([({sunset()}+900+int(rand(600)))])
zeigt die richtige Syntax
danach sollte das hier richtig sein
[({sunrise("CIVIL",0,"07:00","07:40")} + [zweite_Stunde] * 60)|1235]
Mit den Klammern habe ich öfter Probleme, wenn probieren nicht hilft, dann schaue ich auch schon mal in die Commandref, das hat bisher geholfen ;)
Hallo,
in diesem Code habe ich kein Sunset
([06:50|1235] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50)
DOELSEIF
([07:35|4] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50)
hier muss das Zeitformat
*60
wohl anders eingetragen werden.?
Hoffi
sunset wird in dem Beispielcode verwendet. Du verwendest sunrise. Ich beziehe mich immer noch auf diese Frage:
Zitat von: Thoffi1978 am 16 Dezember 2015, 19:31:12
Hallo,
Beim Einfügen von
[[({sunrise("CIVIL",0,"07:00","07:40")} + [zweite_Stunde]*60)]|1235]
gibt es folgende Fehlermeldung:
di_vorne DOIF: no right bracket: ([SH_Ferientag] eq "0" and [Jalousie_Automatik] eq "Auto" and [Helligkeit:state] < 200 and [[({sunrise("CIVIL",0,"07:00","07:40")} + [zweite_Stunde]*60)]|1235] (set Jalo_WZ_TV_vorne 50)DOELSEIF([SH_Ferientag] eq "0" and [Jalousie_Automatik] eq "Auto" and [Helligkeit:state] > 200 and [{sunrise("CIVIL",0,"07:00","07:40")}|1235]) (set Jalo_WZ_TV_vorne on)DOELSEIF([SH_Ferientag] eq "0" and [Jalousie_Automatik] eq "Auto" and [Helligkeit:state] < 200 and [{sunrise("CIVIL",0,"07:40","08:15")}|4]) (set Jalo_WZ_TV_vorne 50)DOELSEIF([SH_Ferientag] eq "0" and [Jalousie_Automatik] eq "Auto" and [Helligkeit:state] > 200 and [{sunrise("CIVIL",0,"07:40","08:15")}|4]) (set Jalo_WZ_TV_vorne on)DOELSEIF([15:00-22:00] and [Helligkeit:state] < 0.5) (set Jalo_WZ_TV_vorne off)DOELSE()
Könnt Ihr mir beim Syntax helfen.
Danke
Hoffi
und das, was dort einzufügen ist.
Der letzte Versuch etwas Fehlerfreies ist dieser Vorschlag:
[({sunrise("CIVIL",0,"07:00","07:40")} + [zweite_Stunde] * 60)|1235]
Hast Du das gemacht und funktioniert alles?
Das hier
ZitatKann ich *00:01:00 anstatt *60 nutzen bei folgendem Code:
Code: [Auswählen]
([06:50|1235] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50)
DOELSEIF
([07:35|4] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50)
Da wird *60 nicht mit wrong timespect nicht erkannt.
habe ich nicht verstanden, das hat mich so sehr irritiert, dass ich dachte es gibt noch einen Fehler in dem DOIF, das wir vorher zusammen entwickelt haben.
Gibt es dort noch Fehler? Wenn ja, dann sollten wir diese beseitigen und erst etwas Neues anfangen, wenn der Fehler beseitigt ist.
Hallo Ellert,
ich habe heute nun die Funktion getestet. Der Sonnenaufgang war um 7:43Uhr. Die Jalousie blieb unten, scheint also zu funktionieren.
Leider ging die Jalousie nicht hoch... Kann ja auch nicht, da die Jalousie ja nur zwischen 7 und 7:45Uhr hochgehen soll.
Somit konnte ich leider nicht alles testen.
Vielleicht können wir den DOIF der zweiten Jalousie soweit "umbauen" das es mit der Funktioniert.
Das wäre dann dieser Code:
([06:50|1235] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50)
DOELSEIF
([07:35|4] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50)
Das ist die Zeit fest definiert und man sollte schnell den Erfolg sehen ohne auf die Sonne zu warten :)
Hoffi
ZitatVielleicht können wir den DOIF der zweiten Jalousie soweit "umbauen" das es mit der Funktioniert.
Ich nehme wieder das Beispiel aus der Commandref
define di_light DOIF ([({sunset()}+900+int(rand(600)))])
(set lamp on)
DOELSEIF ([([23:00]+int(rand(600)))])
(set lamp off)
da ist das
([([23:00]+int(rand(600)))])
so ähnlich, wie Dein Problem. Es gibt eine feste Zeit [23:00] und es wird etwas dazu gezählt, dies hier +int(rand(600))
Nach dem Beispiel könntest Du Deins umbauen, etwa so:
Zitat([([06:50] + [zweite_Stunde] * 60)|1235] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50)
Hallo,
jett, nach den Ferien habe ich wieder Zeit für meine Steuerung.
Bei dem Code:
[([{sunrise("CIVIL",0,"07:00","07:40")}+[zweite_Stunde]*60])|1235]
bekomme ich folgende Fehlermeldung:
PERL WARNING: Argument "*main::60" isn't numeric in addition (+) at (eval 16369) line 1.
und die Jalousie öffnete sich um
Zitat00:00:00 3: CUL_HM set Jalo_WZ_TV_vorne 50
Bei dem 2 Code
[07:35] + [zweite_Stunde] *60)|4]
reagiert die Jalousie gar nicht auf die zweite Stunde
Habr Ihr ein Tipp für mich?
Vielen Dank schon mal
Hoffi
Zitat[([{sunrise("CIVIL",0,"07:00","07:40")}+[zweite_Stunde]*60])|1235]
Bitte beachten: http://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung_mit_Zeitberechnung
Zitat[07:35] + [zweite_Stunde] *60)|4]
Wie ist das durch die Klammerprüfung des DEF-Editors gerutscht ??? s. http://forum.fhem.de/index.php/topic,45373.msg371668.html#msg371668 (http://forum.fhem.de/index.php/topic,45373.msg371668.html#msg371668)
Beim zweiten Code ist mir wohl was beim Kopieren runtergefallen.
der ganze Code lautet wie folgt:
([([06:50] + [zweite_Stunde]*60)|1235] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50, set zweite_Stunde 0)
DOELSEIF
([([07:35] + [zweite_Stunde]*60)|4] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50, set zweite_Stunde 0)
Zitat von: Thoffi1978 am 17 Januar 2016, 19:50:15
Beim zweiten Code ist mir wohl was beim Kopieren runtergefallen.
der ganze Code lautet wie folgt:
([([06:50] + [zweite_Stunde]*60)|1235] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50, set zweite_Stunde 0)
DOELSEIF
([([07:35] + [zweite_Stunde]*60)|4] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50, set zweite_Stunde 0)
Sieht aus, als müsste es funktionieren. Wie sehen die Timer aus? Poste mal ein Listing des DOIF.
Hallo Ellert,
anbei die List:
Internals:
DEF ([([06:50] + [zweite_Stunde]*60)|1235] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50, set zweite_Stunde 0)
DOELSEIF
([([07:35] + [zweite_Stunde]*60)|4] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50, set zweite_Stunde 0)
NAME WZ_Seite_hoch1
NR 195
NTFY_ORDER 50-WZ_Seite_hoch1
STATE initialize
TYPE DOIF
Readings:
2016-01-18 03:45:00 Device SH_Ferientag
2016-01-18 06:50:00 cmd_event timer_1
2016-01-18 06:50:00 cmd_nr 1
2016-01-18 03:45:00 e_SH_Ferientag_STATE 0
2016-01-18 06:50:00 state initialize
2016-01-18 07:39:48 timer_1_c1 19.01.2016 06:50:00|1235
2016-01-18 07:39:48 timer_2_c2 19.01.2016 07:35:00|4
Condition:
0 DOIF_time_once($hash,$hash->{timer}{0},$wday,"1235") and InternalDoIf('SH_Ferientag','STATE','') eq "0" and InternalDoIf('Jalousie_Automatik','STATE','') eq "Auto"
1 DOIF_time_once($hash,$hash->{timer}{1},$wday,"4") and InternalDoIf('SH_Ferientag','STATE','') eq "0" and InternalDoIf('Jalousie_Automatik','STATE','') eq "Auto"
Days:
0 1235
1 4
Devices:
0 SH_Ferientag
1 SH_Ferientag
all SH_Ferientag
Do:
0:
0 set Jalo_WZ_Seite 50, set zweite_Stunde 0
1:
0 set Jalo_WZ_Seite 50, set zweite_Stunde 0
2:
Helper:
globalinit 1
last_timer 2
sleeptimer -1
Internals:
0 SH_Ferientag:STATE
1 SH_Ferientag:STATE
all SH_Ferientag:STATE
Itimer:
all zweite_Stunde
Readings:
Realtime:
0 06:50:00
1 07:35:00
State:
Time:
0 ([06:50]+[zweite_Stunde]*60)
1 ([07:35]+[zweite_Stunde]*60)
Timecond:
0 0
1 1
Timer:
0 0
1 0
Timerfunc:
Timers:
0 0
1 1
Trigger:
Attributes:
do always
eventMap off:Runter on:Hoch
group Jalousien_seite
room Jalousien,Wohnzimmer
set Rollo_Gruppe
state initialize
userattr room_map set set_map structexclude
verbose 5
Hoffi
Zitat19.01.2016 06:50:00|1235
19.01.2016 07:35:00|4
Bei diesen Timern müsste "zweite_Stunde" = 0 sein. Was steht in "zweite_Stunde", wenn Du das
Zitatreagiert die Jalousie gar nicht auf die zweite Stunde
beobachtest?
Halo.
Der Timer ragiert nicht auf die zweit_Stunde.
Es gibt sber eine Fehlermeldung
2016.01.18 22:25:26 1: PERL WARNING: Argument "*main::60" isn't numeric in addition (+) at (eval 17707) line 1./code]
Hoffi
Zitat von: Thoffi1978 am 17 Januar 2016, 19:50:15
Beim zweiten Code ist mir wohl was beim Kopieren runtergefallen.
der ganze Code lautet wie folgt:
([([06:50] + [zweite_Stunde]*60)|1235] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50, set zweite_Stunde 0)
DOELSEIF
([([07:35] + [zweite_Stunde]*60)|4] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50, set zweite_Stunde 0)
Was steht in im Dummy "zweite_Stunde", wenn in dem zitierten Code ein Fehler auftritt?
Hallo.
Bei state steht 0 bzw 0,45
[codeternals:
NAME zweite_Stunde
NR 210
STATE off
TYPE dummy
Readings:
2016-01-19 07:40:00 state 0
Attributes:
eventMap 0,45:on 0:off
room Jalousien,Wohnzimmer
setList 0,45
webCmd 0,45:0
wenn ich 0.45, mit Punkt, benutze ist es das selbe Ergebnis.
Hoffi
Versuch es mal mit setList state:0,45
webCmd state
und eventMap weglassen.
Man könnte auch alle Rollladen einmalig über die Struktur Funktion Gleichzeitig schalten?
Gesendet von meinem iPhone mit Tapatalk
Man könnte auch alle Rollladen einmalig über die Struktur Funktion Gleichzeitig schalten?
Gesendet von meinem iPhone mit Tapatalk
Hallo Ellert,
die Verzögerung klappt.
Doch wenn das ganze auf 0 gestellt wird kommt folgender Fehler:
2016.01.19 16:26:18 1: PERL WARNING: Argument "*main::60" isn't numeric in addition (+) at (eval 29797) line 1.
@Jens_B: Inwiefern kann die Jalousie dadurch später geschaltet werden?
Vielen Dank
Hoffi :)
ZitatDoch wenn das ganze auf 0 gestellt wird kommt folgender Fehler:
Mach bitte nochmal ein Listing vom Dummy zweite_Stunde und vom DOIF für den Fehlerfall.
Hallo,
Hier die list vom Dummy
Internals:
NAME zweite_Stunde
NR 210
STATE off
TYPE dummy
Readings:
2016-01-19 21:10:09 state 0
Attributes:
eventMap 0.45:on 0:off
room Jalousien,Wohnzimmer
setList state:0,45
webCmd state
Und vom Doif
Internals:
DEF ([([16:31] + [zweite_Stunde]*60)|1235] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50, set zweite_Stunde 0)
DOELSEIF
([([07:35] + [zweite_Stunde]*60)|4] and [SH_Ferientag] eq "0" and [?Jalousie_Automatik] eq "Auto") (set Jalo_WZ_Seite 50, set zweite_Stunde 0)
NAME WZ_Seite_hoch1
NR 195
NTFY_ORDER 50-WZ_Seite_hoch1
STATE initialized
TYPE DOIF
Readings:
2016-01-19 16:29:44 state initialized
2016-01-19 21:10:09 timer_1_c1 20.01.2016 16:31:00|1235
2016-01-19 21:10:09 timer_2_c2 20.01.2016 07:35:00|4
Condition:
0 DOIF_time_once($hash,$hash->{timer}{0},$wday,"1235") and InternalDoIf('SH_Ferientag','STATE','') eq "0" and InternalDoIf('Jalousie_Automatik','STATE','') eq "Auto"
1 DOIF_time_once($hash,$hash->{timer}{1},$wday,"4") and InternalDoIf('SH_Ferientag','STATE','') eq "0" and InternalDoIf('Jalousie_Automatik','STATE','') eq "Auto"
Days:
0 1235
1 4
Devices:
0 SH_Ferientag
1 SH_Ferientag
all SH_Ferientag
Do:
0:
0 set Jalo_WZ_Seite 50, set zweite_Stunde 0
1:
0 set Jalo_WZ_Seite 50, set zweite_Stunde 0
Helper:
globalinit 1
last_timer 2
sleeptimer -1
Internals:
0 SH_Ferientag:STATE
1 SH_Ferientag:STATE
all SH_Ferientag:STATE
Itimer:
all zweite_Stunde
Realtime:
0 16:31:00
1 07:35:00
State:
Time:
0 ([16:31]+[zweite_Stunde]*60)
1 ([07:35]+[zweite_Stunde]*60)
Timecond:
0 0
1 1
Timer:
0 0
1 0
Timerfunc:
Timers:
0 0
1 1
Attributes:
do always
eventMap off:Runter on:Hoch
group Jalousien_seite
room Jalousien,Wohnzimmer
set Rollo_Gruppe
state initialize
userattr room_map set set_map structexclude
verbose 5
Danke schon mal
DOIF triggert auf dem Internal STATE des Dummys zweite_Stunde. Wenn Du über eventMap STATE auf on oder off mapst, dann erhältst Du die Fehlermeldung "isn't numeric". Das ist ja auch klar, denn on und off sind keine Zahlen.
Es gibt 2 Möglichkeiten:
1. Du verzichtest auf eventMap.
2. Du versuchst es mit [zweite_Stunde:state] statt [zweite_Stunde], wobei ich mir nicht sicher bin, ob das funktioniert.
Wenn Du eventMap verwenden möchtest, dann so "eventMap 45:on 0:off" und nicht so eventMap "0.45:on 0:off"
Hallo Ellert,
vielen lieben Dank für Deine Geduld mit mir.
ich verzichte einfach auf eventMap.
Nun kommt auch keine Fehlermeldung.
klingt auch logisch, dass off und on nicht numerisch sind ::)
Vielen Dank
Hoffi
ZitatHallo Ellert,
die Verzögerung klappt.
Doch wenn das ganze auf 0 gestellt wird kommt folgender Fehler:
Code: [Auswählen]
2016.01.19 16:26:18 1: PERL WARNING: Argument "*main::60" isn't numeric in addition (+) at (eval 29797) line 1.
@Jens_B: Inwiefern kann die Jalousie dadurch später geschaltet werden?
Vielen Dank
Hoffi :)
War mein Fehler ich hab beim überfliegen auf dem Handy in der Bahn nicht das Problem erfasst.... vergiss es einfach...:-)
Zitat von: CoolTux am 17 Dezember 2015, 07:29:55
Ich habe da einen anderen Ansatz gewählt. Ich weiß nicht wie alt Dein Kind ist. Meine ist 13, Kids in dem alter haben Handy und/oder Tablet. Da ich Technikrat bin hat meine beides. Sie hat ihre eigene TabletUI womit sie in ihrem Zimmer alles steuern kann. Dazu gehört auch ein Wecker. Und da kommt die Jalosie ins Spiel. Ich verwende Residents, Roomate mit dem entsprechenden Wakup Skripten. Hier lasse ich 2 Minuten nach der Weckzeit die Jalosie hoch fahren. Meine Tochter muß sich nur den Wecker stellen den sie ja eh brauch und gut ist.
Nur so als alternative.
Grüße
Ohha, dann würde bei meinem 13 Jährigen Sohn aber am Samstag oder Sonntag der Rollladen gar (oder sehr sehr spät) nicht hochgehen ;-)... Wenn er alles selber steuern könnte ;-)...