RandomTimer - neues Modul

Begonnen von Dietmar63, 28 Juli 2013, 15:52:40

Vorheriges Thema - Nächstes Thema

Dietmar63

Soll heißen sigmaWennOff . Verglichen wird dann mit einer ZufallsZahl zwischen 1 und 1000
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Fredi69

#346
Wie schaffe ich es entweder die nächste Startzeit oder "disabled" anzeigen zu lassen, im Moment wird "disabled" oder das Lampensymbol angezeigt.
Ich habe schon mit stateFormat experimentiert, aber dann sehe ich immer die nächste "Starttime" auch wenn der RandomTimer "disabled" ist.
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Fredi69

fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Dietmar63

Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Dietmar63

Zitat von: Fredi69 am 27 Januar 2016, 11:24:24
Wie schaffe ich es entweder die nächste Startzeit oder "disabled" anzeigen zu lassen, im Moment wird "disabled" oder das Lampensymbol angezeigt.
Ich habe schon mit stateFormat experimentiert, aber dann sehe ich immer die nächste "Starttime" auch wenn der RandomTimer "disabled" ist.

Veröffentliche bitte mal deine Versuche mit  stateFormat.
Ich glaube ich muss ein wenig mehr umbauen - und passende Readings anbieten.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Dietmar63

#350
Ich habe die Internals in helper und in Readings  verwandelt. Ein Beispiel der Readings im Anhang.
Die Readings kannst du mit ReadingsVal() dann in stateFormat nutzen, viele Beispiele dazu im  Forum.

Ich teste die Änderungen noch ein wenig und gebe dann frei.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Fredi69

Vielen Dank, werde es bei Gelegenheit testen.
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Dietmar63

eingecheckt:

attr   ZufallsTimerBuero      stateFormat {if (Value("ZufallsTimerBuero") eq "disabled") { return "disabled"} else {return substr((ReadingsVal("ZufallsTimerBuero","Startzeit","nf"),-8,8))} } ;
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Fredi69

Ich sehe keine neuen Readings, das update meldet "nothing to do" zurück.
fhem auf Raspberry Pi 3
FRITZ!Box7490, Fritz!Box 3270 AP, 3xHMLAN, CUL868, nanoCUL 433 für IT, JeeLink für LaCrosse, HUE Bridge 2.0, Samsung UE46C8790 (STV), mehrere Homematic, Intertechno, Shelly und LaCrosse Komponenten

Dietmar63

Was zeigt der Befehl version als Rev# für RandomTimer an?
Wenn du 10725 angezeigt bekommt bist du auf dem neuesten Stand.

Du musst fhem neu starten, dann sollte es passen.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

RitterSport

Ich benötige nochmals Hilfe beim Verständnis.
Folgendes ist definiert:

define ZufallsTimerWohnraumIndirektTags RandomTimer 09:10:00 SU2WZLichtIndirekt *{sunset_abs()} 8400
attr ZufallsTimerWohnraumIndirektTags alias Random Wohnraum Licht Tags
attr ZufallsTimerWohnraumIndirektTags devStateIcon disabled:message_ok@red on:general_an@green off:general_aus@yellow
attr ZufallsTimerWohnraumIndirektTags disable 1
attr ZufallsTimerWohnraumIndirektTags offCmd set @ on-for-timer 416
attr ZufallsTimerWohnraumIndirektTags onCmd set @ on-for-timer 832
attr ZufallsTimerWohnraumIndirektTags room Alarmanlage
attr ZufallsTimerWohnraumIndirektTags switchmode 500/700


Es passiert dann folgendes, obwohl ich in diesem Fall vor sunset schon den Zufallstimer disable 1 gestellt habe, weil ich nach Haus kam.

2016.02.07 20:13:18 3: [ZufallsTimerWohnraumIndirektTags] ending   RandomTimer on SU2WZLichtIndirekt: 09:10:00(07) - 18:05:31(07)
2016.02.07 20:13:18 3: [ZufallsTimerWohnraumIndirektTags] ending   RandomTimer on SU2WZLichtIndirekt: 09:10:00(07) - 18:05:31(07)
2016.02.07 20:13:18 3: FS20 set SU2WZLichtIndirekt on-for-timer 416


Kann es sein das er obwohl schon nicht mehr aktiv sein sollte, noch innerhalb der 8400 Sekunden als Abschluss den off-cmd sendet?
Wie kann ich das verhindern?

Grüße

Dietmar63

#356
ja, vermutlich passiert genau das, was du vermutest.
Das liegt aber an dem langen Intervall(8400) zwischen den potenziellen switches.

Es wird geschaltet, weil $stopTimeReached nach 2 Stunden true ist.

Im Normalfall soll es so laufen.
Wenn während der aktiven Zeit disabled verändert wird, reagiert RT passend darauf. Wenn natürlich $stopTimeReached true ist wird so ausgeschaltet als wäre die RT normal beendet worden.

folgende Definition verstehe ich nicht wirklich:

define ZufallsTimerWohnraumIndirektTags RandomTimer 09:10:00 SU2WZLichtIndirekt *{sunset_abs()} 8400
attr ZufallsTimerWohnraumIndirektTags switchmode 500/700

Von morgens bis Abends wird alle zwei Stunden+ entschieden, ob mit 50% Wahrscheinlichkeit an bzw. mit 70% ausgeschaltet wird. Was willst du damit erreichen?
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

RitterSport

Hallo Dietmar,

da ich tagsüber nur kurze Zeitschalten haben wollte, beispielsweise auch im Gästebad einfach für 1 oder 2 Minuten an, habe ich folgendes definiert:

beim oncmd on for timer 60
beim offcmd on for timer 120

somit sollte mal kurz, mal länger was eingeschaltet sein. 500/700 um zu varieren, das ist aber willkürlich.

Folgendes Problem habe ich auch: Es wird nicht off geschaltet.

Insbesondere habe ich eine Rollladensteuerung die bei oncmd die Rollläden für ein Stück runter fährt. Hierfür brauche ich off-for-timer 6, schalten lassen wollte ich zu 70%
Nun sollen sie wieder rauf zu 99% mit dem offcmd on (oder on-for-timer 20), aber eben nicht die Gefahr das sie andersherum immer weiter runterfahren.

Auch hier das Problem, sie fahren nicht hoch, er sendet offcmd anscheinend nie.
Lieg es daran das das Modul versucht den zustand zu berücksichtigen? Ich bräuchte eher ein "dummes" Modul, er sol einfach schalten ohne sich zu überlegen wie der gemeldete Zustand sein könnte.

Grüße und danke schonmal

Dietmar63

Für solche Sachen ist RT nicht gebaut.

Er soll in erster Linie in der Dämmerung ein zufälliges ein- und ausschalten gewährleisten und ggf. Einbrecher eine Anwesenheit vortäuschen. 
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

RitterSport

Nachvollziehbar, aber:
Heisst es er schaut wie der Zustand des angesprochenen Aktors ist? und schaltet nur off, wenn der auch auf on steht?
Lösung wäre dann doch ein Dummy per RT zuschalten, mit on/off, und dahinter ein notify der es zu on-for-timer etc übersetzt?