RandomTimer - neues Modul

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

Vorheriges Thema - Nächstes Thema

RalfRog

#375
Hallo Dietmar

Mensch was hab ich mich schwergetan mit der DisableCondition und dem Versuch die Variable $we zu nutzen.
Mit dem Holiday Kalender gehts, ohne groß Subs zu programmieren.


disableCond (Value("Ferien") eq "Urlaub")


Den halben Thread bis 154 habe ich gelesen. In der Command-Reference ist noch ein kleiner Fehler


attr   ZufallsTimerZ         disableCond      (Value("presenceDummy") ne "present"))


Die letzte Klammer ist zuviel.

Tolles Modul!

Gruß Ralf


FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

jopare

Hallo Dietmar63,

ich muss da noch mal nachhaken wegen der vom Device gelieferten States on/off oder Ein/AUS oder was auch immer. Wie du schreibst sind on/off fest verdrahtet, ansonsten funktioniert der RT nicht. Seit einiger Zeit wird ja auch eine Fehlermeldung generiert. Das war aber sicher nicht immer so denn meine RTs haben sehr lange auch mit anderen Schaltzuständen zuverlässig gearbeitet.
Was auch immer sich geändert hat, ist es evtl. möglich dem RT den abzufragenden Schaltzustand vorzugeben, meinetwegen als Attribut o.ä. das würde vieles vereinfachen denn ansonsten muss man sich immer irgendwelche Krücken bauen.

Gruss, Jo
Raspi / Raspbian Fhem 5.7  nanoCUL 868 FW1.67 HM-LAN         Div. FS20-RSU + RSU2, IT Schalter + Dimmer sowie eine Reihe Homematic Komponenten

birdy

Ich verwende RandomTimer für die Anwesenheitssimulation mit Licht. Die Lichter sollen natürlich erst dann angehen wenn es auch wirklich dämmert.  Um den richtigen Zeitpunkt zu ermitteln habe ich mich das Modul twiligh entschieden. Ich erhoffe mir damit auch an sehr düsteren Tagen einen passenden Wert zu erhalten.

Wie habt ihr dies gelöst? Ich habe trotz ausgiebiger Suche kein passendes Beispiel gefunden.

Ich habe es mal so probiert. 
define RT_LichWohnzimmer RandomTimer *{twilight("myTwilight","ss_weather","17:00","22:00")} LichWohnzimmer 22:40:00 400

Die Werte/Redings von twilight werden ja sporadisch nachgeführt (ist jemandem bekannt wann bzw. nach welchem Muster diese Updates erfolgen?)
Nun denke ich mal, dass der RandomTimer diese nachgefügten Wert nicht mitbekommt, und meine Definition ihren Zweck (Wetterabhängige Einschaltzeig) gar nicht erfüllt. Ich glaube aber kaum, dass ich der einzige mit dieser Idee bin. Doch wo kann ich ein entsprechendes Beispiel finden?
FHEM  @Debian bullseye @Proxmox VE 8.4.1
GMKtec mit AMD Ryzen 7 5700U
CUL 433(a-culfw), CUL 868(SlowRF), Max-Cube CUN geflash, HM-CFG-USB-2 (HMALND)

Fredi69

Ich habe einen RandomTimer wieder in Betrieb genommen, der im letzten Jahr noch problemlos lief.
Jetzt erhalte ich eine Fehlermeldung.
2016.08.09 20:05:04 3: [ZufallsTimer_1] result of function Value(HueDevice1) must be 'on' or 'off'
Was ist jetzt falsch?
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

definition? + device definition
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

Zitat von: Dietmar63 am 10 August 2016, 14:12:31
definition? + device definition
define ZufallsTimer_HUEDevice2 RandomTimer *{sunset_abs()} HUEDevice2 *{sunrise()} 30
define HUEDevice2 HUEDevice 2  IODev=HUEBridge01
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

Vor längerer Zeit wurde die Funktion von RT so geändert, dass der Zustand des zu schaltenden device mit Value() abgefragt wird und dann on or off geschaltet wird. Die Änderung war deshalb sinnvoll, weil teilweise das Abschalten nicht vernünftig funktioniert hatte.

Bei Geräten wie HUEs passt das natürlich nicht wirklich. Du bist aber auch der erste, der eine weitere Verbesserung benötigt. Kannst du mal prüfen was die Funktion {Value("HueDevice1")} an Ergebnissen im Zustand an/aus liefert. Hast du onCmd/offCmd angegeben.

set hue on
set hue off

funktioniert vielleicht nicht.

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

justme1968

im zustand off liefert Value normalerweise off. wenn die lampe an ist liefert Value die fs20 dim stufen dim06% bis dim93% oder on.

da das hue icon normalerweise nicht von STATE abhängt sondern intern berechnet wird kannst du STATE per stateFormat auf etwas passenderes undefinieren.

{ReadingsVal($name,'onoff',0)?'on':'off'}

sollte funktionieren.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Fredi69

Zitat von: Dietmar63 am 11 August 2016, 21:08:56
Vor längerer Zeit wurde die Funktion von RT so geändert, dass der Zustand des zu schaltenden device mit Value() abgefragt wird und dann on or off geschaltet wird. Die Änderung war deshalb sinnvoll, weil teilweise das Abschalten nicht vernünftig funktioniert hatte.

Bei Geräten wie HUEs passt das natürlich nicht wirklich. Du bist aber auch der erste, der eine weitere Verbesserung benötigt. Kannst du mal prüfen was die Funktion {Value("HueDevice1")} an Ergebnissen im Zustand an/aus liefert. Hast du onCmd/offCmd angegeben.

set hue on
set hue off

funktioniert vielleicht nicht.
Danke, ich habe keine onCmd, offCmd gesetzt.
Sollte ich das tun?
Wenn ja, wie?
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

Mit onCmd offCmd kann man das Kommando, das RT sendet selbst bestimmen. Normalerweise wird Set device on/off gesendet. Wenn du es bisher nicht machst, kann das so bleiben.

Das was justme geschrieben hat sollte funktionieren.
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

Zitat von: Dietmar63 am 12 August 2016, 01:31:13
Mit onCmd offCmd kann man das Kommando, das RT sendet selbst bestimmen. Normalerweise wird Set device on/off gesendet. Wenn du es bisher nicht machst, kann das so bleiben.

Das was justme geschrieben hat sollte funktionieren.
Ich verstehe denn Beitrag von justme nicht, sorry.
Was sollte ich wo ändern?

Danke
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

Such mal In der comnandref nach
stateFormat

Und ergänze zum zu schaltenden device
Eine entsprechende Zeile mit dem perlCode von justme

Dann sollte es mit dem RT ohne fm funktionieren
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

Danke, scheint zu funktionieren.
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

sasquuatch

#388
Zwei kleine Fragen, z.Zt. nutze ich den randomtimer mit einem Zwischenstecker um eine Lampe ein und auszuschalten. Ist es möglich den so einzustellen, dass die on Phasen länger als die off Phasen sind oder macht der Randomtimer das jetzt schon?

Ich möchte jetzt noch an einem 2. Zwischenstecker einen TV Simulator hängen. Da ist es eher doof wenn der immer wieder an und aus geht. Ich möchte hier nur ein zufälliges einschalten innerhalb einer Zeitspanne A (vielleicht immer die Stunde vor Sonnenuntergang, aber nie vor 18h) und ein zufälliges ausschalten innerhalb einer Zeitspanne B (z. B.  von 23 - 1h) haben, ist dies irgendwie möglich?

Dietmar63

Du kannst mit dem Attribut switchmode versuchen dieses Verhalten nachzubilden

Mit den beiden Parametern bestimmst du die Wahrscheinlichkeit ob nach N Sekunden wirklich ein bzw. Ausgeschaltet wird
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm