Dummy mit eigenen Readings

Begonnen von andreas_r, 07 Januar 2019, 15:30:15

Vorheriges Thema - Nächstes Thema

andreas_r

Hallo zusammen,

ich brauche in FHEM ein Device, das ein Reading enthält, das in Abhängigkeit der Tageszeit einen bestimmten Wert annimmt.

Der Einfachheit halber mal als Beispiel:

Reading "Tageszeit" sollte
von 0:00 Uhr bis 7:59 den Wert "Nacht" haben
von 8:00 Uhr bis 19:59 den Wert "Tag" haben
von 20:00 Uhr bis 23:59 wieder den Wert "Nacht" haben.

Wie würdet ihr das realisieren? Per Dummy Device und Userreading? Oder gibt es eine sinnvollere Herangehensweise?

Danke und viele Grüße,
Andreas

marvin78

Dummy und readingList, at. Sicher geht auch DOIF.

Byte09

Sollte such machen was du willst.

Kurz da mobil

Gruss Byte09

defmod test MSwitch
attr test MSwitch_Debug 0
attr test MSwitch_Delete_Delays 1
attr test MSwitch_Expert 0
attr test MSwitch_Extensions 0
attr test MSwitch_Help 0
attr test MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr test MSwitch_Include_Devicecmds 1
attr test MSwitch_Include_MSwitchcmds 0
attr test MSwitch_Include_Webcmds 0
attr test MSwitch_Inforoom MSwitch
attr test MSwitch_Lock_Quickedit 1
attr test MSwitch_Mode Full
attr test readingList Tageszeit
attr test setList Tageszeit:Nacht,Tag
attr test stateFormat Tageszeit
attr test webCmd Tageszeit

setstate test Nacht
setstate test 2019-01-07 16:11:27 .Device_Affected MSwitch_Self-AbsCmd1
setstate test 2019-01-07 16:11:58 .Device_Affected_Details MSwitch_Self-AbsCmd1#[NF]Tageszeit#[NF]Tageszeit#[NF]Tag#[NF]Nacht#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]#[NF]#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1
setstate test 2019-01-07 16:09:46 .Device_Events no_trigger
setstate test 2019-01-07 16:03:31 .First_init done
setstate test 2019-01-07 16:03:31 .Trigger_cmd_off no_trigger
setstate test 2019-01-07 16:03:31 .Trigger_cmd_on no_trigger
setstate test 2019-01-07 16:16:09 .Trigger_condition
setstate test 2019-01-07 16:03:31 .Trigger_off no_trigger
setstate test 2019-01-07 16:03:31 .Trigger_on no_trigger
setstate test 2019-01-07 16:16:09 .Trigger_time on~off~ononly[08#[dp]00]~offonly[20#[dp]00]~onoffonly
setstate test 2019-01-07 16:03:31 .V_Check V2.00
setstate test 2019-01-07 16:15:00 EVENT test:execute_timer_P3:16:15
setstate test 2019-01-07 16:15:00 EVTFULL test:execute_timer_P3:16:15
setstate test 2019-01-07 16:15:00 EVTPART1 test
setstate test 2019-01-07 16:15:00 EVTPART2 execute_timer_P3
setstate test 2019-01-07 16:15:00 EVTPART3 16:15
setstate test 2019-01-07 16:17:21 Tageszeit Nacht
setstate test 2019-01-07 16:16:09 Trigger_device no_trigger
setstate test 2019-01-07 16:03:31 Trigger_log off
setstate test 2019-01-07 16:17:21 last_exec_cmd set test Tageszeit Nacht
setstate test 2019-01-07 16:17:21 state off



Gesendet von meinem SM-G900F mit Tapatalk


bartman121

#3
Die stumpfe zeiteinteilung ist selten sinnvoll.

Warum nicht mittels twilight-Modul?

https://wiki.fhem.de/wiki/Twilight

Tag/Nacht kann man dann anhand der Zustände ablesen, wenn es numerisch sein soll , dann kann man die Helligkeit nehmen.

KernSani

Twilight geht gerade nicht so gut (wg. Yahoo API), am einfachsten wäre isday()


Kurz, weil mobil
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

acaliebe

Zitat von: KernSani am 07 Januar 2019, 19:26:50
Twilight geht gerade nicht so gut (wg. Yahoo API), am einfachsten wäre isday()


Kurz, weil mobil

Ich hab unter https://forum.fhem.de/index.php/topic,95281.msg883239.html#msg883239 einen Quick und Dirty Patch für Twilight hinterlegt. Abgestimmt sind die Wetter-Werte zwar nicht, aber bis die Twilight-Programmierer das wieder gerichtet haben, sollte das helfen.


loescher

Hallo Andreas,

Also ich würde das einfach mit DOIF machen, z.B.:


defmod Tageszeit DOIF ([8:00-19:59]) DOELSE
attr Tageszeit cmdState Tag|Nacht
attr Tageszeit do always


LG,
Stephan.