FHEM Forum

FHEM => Sonstiges => Thema gestartet von: TomLee am 12 September 2022, 22:31:42

Titel: on-till-overnight mit zusätzlichem Zufallsparameter
Beitrag von: TomLee am 12 September 2022, 22:31:42
Hallo,

irgendwann werd ich auch mal fertigen Code zu meinen Vorstellungen bereitstellen können, hoff ich.
Das mein ich wär hier jetzt auch schon, zumindest ansatzweise, möglich, ich hab aber keine Nerven dazu zurzeit und hab mich nicht weiter mit beschäftigt.

Könnt ihr euch so einen zusätzlichen Parameter vorstellen bereitzustellen ?

Eine weitere Angabe in Sekunden der in dem Bereich timedet zufällig +/- verändert wird.

Gruß

Thomas
Titel: Antw:on-till-overnight mit zusätzlichem Zufallsparameter
Beitrag von: betateilchen am 12 September 2022, 22:34:46
Bloß nicht.
Titel: Antw:on-till-overnight mit zusätzlichem Zufallsparameter
Beitrag von: TomLee am 12 September 2022, 22:37:37
Was ist/sind das/die Gegenargument(e) ?

HTML Code in comment hast du bspw. auch überlebt.
Titel: Antw:on-till-overnight mit zusätzlichem Zufallsparameter
Beitrag von: rudolfkoenig am 13 September 2022, 10:54:55
ZitatHTML Code in comment hast du bspw. auch überlebt.
Aber womoeglich nur mit unerwuenschten Nebenwirkungen :)

Folgendes generiert zufaellige Zeiten zwischen 5:00 und 7:00:
set lampe on-till-overnight {my$x=5*60+rand(120);;sprintf("%02d:%02d",$x/60,$x%60)}
Titel: Antw:on-till-overnight mit zusätzlichem Zufallsparameter
Beitrag von: TomLee am 13 September 2022, 12:05:41
Danke für das Beispiel, vorallem das korregierte (mit dem Verständnis zum Zugriff auf den data-Hash hängts bei mir nämlich immer noch und ich hab schon gerätselt wie ich das dann mit mehreren Devices umsetzen soll).

Ich werds so umsetzen:

defmod at_Deko_sunrise at *{sunrise("HORIZON=-15")} {\
my $x = rand(60);;\
$x = sprintf("%02d:%02d",$x/60,$x%60);;\
my @dev = ('MQTT2_WLED_G1','MQTT2_WLED_G2','MQTT2_WLED_FR','MQTT2_WLED_TV','MQTT2_zigbee_rgbw_bulb_flur_privat','MQTT2_Mi_Wecklicht','MQTT2_Tasmota_Bulb1' );;\
my $pc = substr(Color::pahColor(0,15,30,ReadingsVal('HF_Aussensensor_Vorderhaus','temperature','0'),2,0),0,6);;\
return fhem("set $dev[0]|$dev[2]|$dev[3]|$dev[4]|$dev[5]|$dev[6]:FILTER=state!=on on-till-overnight $x;;set $dev[0]|$dev[2]|$dev[3]|$dev[4]|$dev[5]|$dev[6] rgb $pc;;");;\
}
attr at_Deko_sunrise room Deko

setstate at_Deko_sunrise Next: 05:29:35
setstate at_Deko_sunrise 2022-09-13 11:53:25 state Next: 05:29:35


Zur Kontrolle hab ich ein execNow ausgeführt und die ats werden mMn. korrekt erstellt (irgendwo zw. 0 und 1 Uhr soll geschaltet werden).

Danke

edit:

wer sich fragt das da doch was nicht stimmt, es gibt noch ein notify welches die Farbe bei Temperaturänderung anpasst:

defmod not_Deko notify HF_Aussensensor_Vorderhaus:temperature:.* {\
my @dev = ('MQTT2_WLED_G1','MQTT2_WLED_G2','MQTT2_WLED_FR','MQTT2_WLED_TV','MQTT2_zigbee_rgbw_bulb_flur_privat','MQTT2_Mi_Wecklicht','MQTT2_Tasmota_Bulb1');;\
my $pc = substr(Color::pahColor(0,15,30,ReadingsVal('HF_Aussensensor_Vorderhaus','temperature','0'),2,0),0,6);;\
fhem("set $dev[0]|$dev[2]|$dev[3]|$dev[4]|$dev[5]|$dev[6]:FILTER=state=on rgb $pc;;");;\
}
attr not_Deko room Deko

setstate not_Deko 2022-09-13 12:13:09
setstate not_Deko 2022-09-12 13:18:47 state active
setstate not_Deko 2022-09-13 12:13:09 triggeredByDev HF_Aussensensor_Vorderhaus
setstate not_Deko 2022-09-13 12:13:09 triggeredByEvent temperature: 22.75


Tipps wie mans besser umsetzt schlag ich nicht aus.