Hallo,
ich habe einige "random Timer" am Laufen, aber irgendwie bringe ich das nicht richtig hin. Die Timer schalten ein, sie schalten am Ende aus, aber zwischendrin schalten sie nicht... Hat jemand eine Idee woran das liegt?
Hier die Zeilen aus der fhem.cfg:
define ZufallsTimer3 RandomTimer *{sunset_abs()} HueBridge_HUEGroup1 22:35:00 10
attr ZufallsTimer3 disableCond (Value("Verreist") eq "nein")
attr ZufallsTimer3 switchmode 100/900
Habe extra die Schaltzeit auf 10, damit man das testen kann und die on time auf 10% Wahrscheinlichkeit. Die Licher schalten aber nicht aus ... habe lange gewartet, nichts passiert ... liegt doch bestimmt am Syntax ?!?
Thx
foly12
Wenn ich mir meinen RandomTimer so ansehe, dann denke ich mir bei Dir fehlt ein *
also:
define ZufallsTimer3 RandomTimer *{sunset_abs()} HueBridge_HUEGroup1 *22:35:00 10
Warum hast Du das Thema 2mal aufgemacht :-[
https://forum.fhem.de/index.php/topic,70527.msg622510.html#msg622510 (https://forum.fhem.de/index.php/topic,70527.msg622510.html#msg622510)
Danke für den Hinweis, das versuch ich gleich mal, ist mir nicht aufgefallen.
Das andere Thema habe ich schon wieder geschlossen und das war auch anders gelagert. Beim letzten ging es nur um ein Hue Problem, hier aber um eines, das ich generell mit dem Random Timer habe. Die Auswahl des yhue Beispiels war Zufall ...🤓
Vg
Habs jetzt versucht, funktioniert aber immer noch nicht. Es wird alle 10 s ein "on" an die Leuchten gesendet, aber nie ein "off" ...
hm... also bei mir funzt das ganz gut.
Das on was da alle 10 Sekunden durch den EventMonitor huscht, ist nur der Status des RandomTimer nicht der Schaltbefehl der gesendet wird.
mach mal ein list von dem RandomTimer-Device
funktioniert / gibt es den Befehl
set HueBridge_HUEGroup1 off
?
so sieht es bei mir aus und es funktioniert seit längerem
define AquariumWolkenZug RandomTimer *13:11:00 AquariumWolken *15:20:00 620
attr AquariumWolkenZug keepDeviceAlive 1
attr AquariumWolkenZug offCmd set AquariumLichtWetter 70 0 10;; setstate AquariumWolken off
attr AquariumWolkenZug onCmd set AquariumLichtWetter 0 0 10;; setstate AquariumWolken on
attr AquariumWolkenZug switchmode 900/200
Schau dir doch mal deine Attribute an
... ich bringe das nicht zum schalten, habe jetzt weiter gespielt, aber es funzt nicht ...
das ist meine Versuchs cfg:
define ZufallsTimer3 RandomTimer *07:20 HueBridge_HUEGroup1 22:35:00 11
attr ZufallsTimer3 disableCond (Value("Verreist") eq "nein")
attr ZufallsTimer3 switchmode 900/900
KEIN EINZIGE SCHALTVORGANG, ich werde noch verrückt.
Auf direkten set Befehl schalten die Lampen ein und aus. Wenn Sie aus sind und ich den RandomTimer aktiviere, dann gehen sie damit an. Aber aus schalten sie sich nicht mehr....
Hat noch jemand eine Idee, was ich falsch mache :-) Danke!
Wie wäre es, wenn Du mal mit dem Standard anfängst?
Wozu brauchst Du zum Testen das Attribut "disableCond"?
Warum kannst Du nicht mit dem Standard von "switchmode" Testen?
Liefere doch mal ein list hier mit.
Das Device wird mit set HueBridge_HUEGroup1 on
set HueBridge_HUEGroup1 off
ein/aus geschaltet?
poste doch mal ein list von den beteiligten devices (in code tags bitte)
also das ergebnis von
list ZufallsTimer3
und
HueBridge_HUEGroup1
und bitte die fragen von rabehd noch beantworten ;)
ansonsten müssten wir über onCmd, offCmd nachdenken.
Habe jetzt nur den Standard aktiviert, anbei der Auszug aus der .cfg:
define ZufallsTimer2 RandomTimer *21:10 HueBridge_HUEGroup1 22:35:00 11
# attr ZufallsTimer2 disableCond (Value("Verreist") eq "nein")
# attr ZufallsTimer2 switchmode 900/900
mit den beiden benannten Set Befehlen schalten die Lampen sauber aus und an.
Anbei die List:
Internals:
COMMAND on
DEF *21:10 HueBridge_HUEGroup1 22:35:00 11
DEVICE HueBridge_HUEGroup1
NAME ZufallsTimer2
NR 71
STATE on
TYPE RandomTimer
Readings:
2017-05-24 21:12:11 Startzeit 2017-05-24 21:10:00
2017-05-24 21:12:11 Stoppzeit 2017-05-24 22:35:00
2017-05-24 21:12:05 TimeToSwitch 11
2017-05-24 21:12:11 active 1
2017-05-24 21:13:04 state on
Timer:
Zufallstimer2_exec:
HASH ZufallsTimer2
MODIFIER Exec
NAME ZufallsTimer2_Exec
Zufallstimer2_settimer:
HASH ZufallsTimer2
MODIFIER SetTimer
NAME ZufallsTimer2_SetTimer
Helper:
REL
REP *
SIGMAWHENOFF 800
SIGMAWHENON 200
STARTTIME 24.05.2017 21:10:00
STOPTIME 24.05.2017 22:35:00
SWITCHMODE 800/200
S_REL
S_REP
TIMESPEC_START *21:10
TIMESPEC_STOP 22:35:00
TIMETOSWITCH 11
active 1
startTime 1495653000
stopTime 1495658100
Attributes:
switchmode 800/200
Danke für Eure UNterstützung!!
D.h es ist gelöst? Dann schreib doch bitte noch [Gelöst] vor das Subject des ersten Posts. Und für die Zukunft: Code bitte immer in Codetags (das # im Editor)
Sorry, das war nicht wirklich klar formuliert... ich meinte: es funktioniert damit immer noch nicht!!
Falls also jemand noch helfen kann, bin ich dankbar!
uns würde es helfen, wenn Du endlich mal den Code-tag benutzt. Das List liest sich dann besser.
Hast Du den Hinweis von nils_ gelesen?
Irgendwann kommt der Punkt an dm man mal ein neues Device (Random) anlegt, ganz einfach ohne Besonderheiten und sich dann vorarbeitet.
Sorry, das mit den Code Tags wusste ich nicht, mache ich ab jetzt!! MIt den einfachen Set Befehlen "on/off" schalten die Lampen problemlos ..., oder welchen KOmmentar meinst Du?
Also nochmal anbei das List:
Internals:
COMMAND
DEF *21:10 HueBridge_HUEGroup1 22:35:00 11
DEVICE HueBridge_HUEGroup1
NAME ZufallsTimer2
NR 71
STATE off
TYPE RandomTimer
Readings:
2017-05-28 07:31:28 Startzeit 2017-05-28 21:10:00
2017-05-28 07:31:28 Stoppzeit 2017-05-28 22:35:00
2017-05-28 07:31:23 TimeToSwitch 11
2017-05-28 07:31:28 active 0
2017-05-28 07:31:28 state off
Timer:
Zufallstimer2_exec:
HASH ZufallsTimer2
MODIFIER Exec
NAME ZufallsTimer2_Exec
Zufallstimer2_settimer:
HASH ZufallsTimer2
MODIFIER SetTimer
NAME ZufallsTimer2_SetTimer
Helper:
REL
REP *
SIGMAWHENOFF 800
SIGMAWHENON 200
STARTTIME 28.05.2017 21:10:00
STOPTIME 28.05.2017 22:35:00
SWITCHMODE 800/200
S_REL
S_REP
TIMESPEC_START *21:10
TIMESPEC_STOP 22:35:00
TIMETOSWITCH 11
active 0
startTime 1495998600
stopTime 1496003700
Attributes:
switchmode 800/200
kannst du mal nen auszug aus dem log von 21:10 bis 22:35 posten, wo man die entsprechenden "Schaltungen" sehen könnte.
der zustand in deinem letzten list ist zumindest "off"...
anbei der Log Teil:
2017.06.06 22:55:42 3: [ZufallsTimer2] result of function Value(HueBridge_HUEGroup1) must be 'on' or 'off'
2017.06.06 22:55:52 3: [ZufallsTimer2] result of function Value(HueBridge_HUEGroup1) must be 'on' or 'off'
2017.06.06 22:56:02 3: [ZufallsTimer2] result of function Value(HueBridge_HUEGroup1) must be 'on' or 'off'
2017.06.06 22:56:14 3: [ZufallsTimer2] result of function Value(HueBridge_HUEGroup1) must be 'on' or 'off'
2017.06.06 22:56:24 3: [ZufallsTimer2] result of function Value(HueBridge_HUEGroup1) must be 'on' or 'off'
2017.06.06 22:56:35 3: [ZufallsTimer2] result of function Value(HueBridge_HUEGroup1) must be 'on' or 'off'
2017.06.06 22:56:45 3: [ZufallsTimer2] result of function Value(HueBridge_HUEGroup1) must be 'on' or 'off'
Sieht komisch aus, das scheint das Problem zu sein. Wie wäre jetzt die Lösung :o
Viele Grüße und Dank!
Steht doch genau so in der CommandRef drin:
Zitat
the decision to switch on or off depends on the state of the device and is evaluated by the funktion Value(). Value() must evaluate one of the values "on" or "off". The behavior of devices that do not evaluate one of those values can be corrected by defining a statFormat: attr stateFormat EDIPlug_01 {(ReadingsVal("EDIPlug_01","state","nF") =~ m/(ON|on)/i) ? "on" : "off" }
if a devices Value() funktion does not evalute to on or off(like WLAN-Steckdose von Edimax) you get the message: [EDIPlug] result of function Value(EDIPlug_01) must be 'on' or 'off'
Dh dein Zustand ist bei "on" nicht on, sondern vermutlich der Farbwert, daher kann er es nicht ausschalten. Und beim einschalten auch nicht wieder einschalten, weil immer noch der Farbwert dort steht.
Zitat von: Amenophis86 am 07 Juni 2017, 06:25:08
Steht doch genau so in der CommandRef drin:
The behavior of devices that do not evaluate one of those values can be corrected by defining a statFormat:
oha ein fehler in der cref :-[ :-[
;) ;)
Wieso ein Fehler in der CommandRef?
Wenn der State nicht mit on/off angegeben wird, muss dieser angepasst werden mittels des Attr stateFormat. Oder war das Ironie? Dann musst du auch den *ironiemodus* einschalten, sonst erkannt das ja keiner ;)
nee keine ironie, (den ironiemodus hätte ich sonst eingeschaltet ;) )
aber auch nur ein rechtschreibfehlerchenchenchen :) :)
siehe das fett markierte aus meinem post
So klein, dass mir nichtmal aufgefallen ist, dass das e fehlt. Aber wie gesagt, das Problem des TE dürfte gefunden sein. Ich bitte darum, dass das Thema noch auf [GELÖST] geändert wird, sollten keine weiteren Probleme mehr auftreten.
Danke für den Hinweis, das hatte ich offensichtlich überlesen ... Jedenfalls habe ich das jetzt so in die fhem.cfg eingetragen attr stateFormat HueBridge_HUEGroup0 {(ReadingsVal("HueBridge_HUEGroup0","state","nF") =~ m/(ON|on)/i) ? "on" : "off" }
define ZufallsTimer2 RandomTimer *16:00 HueBridge_HUEGroup0 23:35:00 11
aber da schaltet immer noch nichts und ich bekomme den gleichen Fehler in der log Datei, siehst Du was da am syntax nicht passt?
Vielen Dank!!
Posten mal ein list von HueBridge_HUEGroup0 im Status, wenn es auf on sein soll und im Status, wenn es auf off sein soll. Dann müsstest du den unterschied im STATE Internal bzw state Reading sehen. Vorher natürlich dein attr stateFormat löschen.
ich habe mit attr. stateformat geschaut, da steht bei state "unknown" und auch wenn ich das attr lösche steht da im an und aus zustand immer unknown ...
Wie bereits gesagt:
Zitat von: Amenophis86 am 07 Juni 2017, 22:12:08
Posten mal ein list von HueBridge_HUEGroup0 im Status, wenn es auf on sein soll und im Status, wenn es auf off sein soll. ... Vorher natürlich dein attr stateFormat löschen.
dann können wir sehen wie das stateFormat attr aussehen müsste und dir weiter helfen.
Ich hoffe, das ist was Ihr meint:
List im On Zustand:
Internals:
CHANGED
DEF group 0 IODev=HueBridge
ID G0
INTERVAL
IODev HueBridge
NAME HueBridge_HUEGroup0
NR 136
STATE unknown
TYPE HUEDevice
desired 1
lights 1,2,3,4
name Group 0
type LightGroup
Readings:
2017-06-23 20:51:53 all_on true
2017-06-23 20:51:53 any_on true
Helper:
devtype G
update_timeout 1
Attributes:
IODev HueBridge
alias Lightset 0
color-icons 2
delayedUpdate 1
devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
group HUEGroup
room Wohnzimmer
List im Off Zustand (dazu muss ich das Licht manuell mit dem set Befehl ausschalten):
Internals:
DEF group 0 IODev=HueBridge
ID G0
INTERVAL
IODev HueBridge
NAME HueBridge_HUEGroup0
NR 136
STATE unknown
TYPE HUEDevice
desired 0
lights 1,2,3,4
name Group 0
type LightGroup
Readings:
2017-06-23 20:54:36 all_on false
2017-06-23 20:54:36 any_on false
Helper:
devtype G
update_timeout 1
Attributes:
IODev HueBridge
alias Lightset 0
color-icons 2
delayedUpdate 1
devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
group HUEGroup
room Wohnzimmer
Hallo, gibt´s hier was Neues?
Bei mir steht der STATE mehrerer Huegroups auch ständig auf "unkown".
Gruß
oelidoc
RandomTimer kann nicht funktionieren, solange der state auf unknown steht. Das heißt ihr müsst erst Mal klären, wieso er das tut. Dazu am besten ins Forum für Hue Devices gehen.
Okay, Danke.
oelidoc
Hallo,
damit geht es:
attr HUEGroup stateformat {if(ReadingsVal($name,"all_on",0) eq "true") {"on"} elsif (ReadingsVal($name,"all_on",0) eq "false") {"off"} else {ReadingsVal($name,"all_on",0)}}