Hallo,
ich bin zwar schon ein wenig länger dabei, allerdings fühlt sich das nach einer Anfängerfrage an:
Ich hätte gerne einen Dummy mit den Readings:
state
pct
Soweit so einfach. Jetzt möchte ich aber, dass die Readings so wie bei den Hue Devices verknüpft sind:
Wenn pct=0 dann (auch) state=off.
Wenn pct>0 dann (auch) state=on.
Zusätzlich sollte set Lichterkette_Bunt on
(auch) pct auf 100 stellen, sowie
set Lichterkette_Bunt off
pct (auch) auf 0:
Wenn state=off dann (auch) pct=0.
Wenn state=on dann (auch) pct=100.
--> Das ist zwar fakultativ, aber es wäre schön, wenn der Dimmer mit dem on-Befehl gleich auf 100% stehen würde.
Ich dachte, ich mache das einfach mit notifies, aber mit:
defmod n_Bunt2 notify Lichterkette_Bunt:off set Lichterkette_Bunt pct 0
wird pct nicht gesetzt. Wenn ich den Befehl manuell absetze funktioniert das aber.
Hintergrund:
Ich experimentiere gerade mit dem gAssistant Modul und würde gerne einen ESP8266 einbinden.
Weiß jemand, wie das einfach umzusetzen ist?
Hi,
wenn Du bitte noch etwas Licht anmachen könntest: mit einem list Lichterkette_Bunt
Du willst zwei Geräte ? Lichterkette Lichterkette_Bunt
Gruß Otto
Hey Otto,
Nee nur ein Gerät (Lichterkette_Bunt). Das ist eine normale Lichterkette mit bunten Lichtern, die also nur gedimmt (pct 0-100), ein und ausgeschaltet werden kann.
Zur vollen Verwirrung heißt das Gerät jetzt im hier angehängten Screenshot "test".
Du willst also ein Gerät test ;D
Ich wollte ein list und keinen Screenshot! Bitte das hier beachten:
https://forum.fhem.de/index.php/topic,71806.0.html
und was geht jetzt bei dem dummy nicht?
set <name> pct 0
geht? Oder triggert notify nicht?
https://wiki.fhem.de/wiki/Notify#Mein_notify_geht_nicht_-_wie_kann_ich_mir_selbst_helfen:_Debugging
Gruß Otto
Keine Ahnung, was da grade schräg ist, aber wenn ich meinen Weg mit den notifies zuende gehe, dann funktioniert es:
defmod test dummy
attr test eventMap /pct 1:Sleep
attr test genericDeviceType light
attr test readingList pct
attr test room Test
attr test setList pct:slider,0,1,100 on off Sleep
attr test webCmd pct:on:off:Sleep
defmod test_notify_1 notify test:off set test pct 0
defmod test_notify_2 notify test:on set test pct 100
defmod test_notify_3 notify test:pct:..* {\
if (ReadingsVal("test","pct","")eq 0) {\
fhem("set test off");;\
}\
else {\
fhem("set test on");;\
}}
Komischerweise funktionieren die ersten beiden notifies alleine nicht ohne das Dritte (bzw. brauchen einen Reload der Weboberfläche). Ist das ein Bug oder ein Feature?
Im Endefekt wird das Gerät jetzt auch immer zwei mal on bzw. off geschaltet, aber das stört ja nicht.
Btw.:
gibt es eigentlich einen Weg, die notifies direkt in den Dummy zu schreiben, sodass ich die nicht alle ändern muss, wenn ich das Dummy-Gerät mit rename umbenenne?
Zitat von: wk2000 am 31 März 2019, 19:23:56
.....
Btw.:
gibt es eigentlich einen Weg, die notifies direkt in den Dummy zu schreiben, sodass ich die nicht alle ändern muss, wenn ich das Dummy-Gerät mit rename umbenenne?
nein , das wird wohl nicht gehen . Alternativ könntest du es in ein MSwitch packen , dann geht alles in einem Device.
gruss Byte09
defmod Lichterkette_Bunt MSwitch Lichterkette_Bunt # MSwitch_Self FreeCmd
attr Lichterkette_Bunt MSwitch_Debug 0
attr Lichterkette_Bunt MSwitch_Delete_Delays 1
attr Lichterkette_Bunt MSwitch_Event_Id_Distributor pct:.*=>cmd1 ID 1\
attr Lichterkette_Bunt MSwitch_Expert 1
attr Lichterkette_Bunt MSwitch_Extensions 0
attr Lichterkette_Bunt MSwitch_Help 0
attr Lichterkette_Bunt MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr Lichterkette_Bunt MSwitch_Include_Devicecmds 1
attr Lichterkette_Bunt MSwitch_Include_MSwitchcmds 0
attr Lichterkette_Bunt MSwitch_Include_Webcmds 0
attr Lichterkette_Bunt MSwitch_Inforoom MSwitch
attr Lichterkette_Bunt MSwitch_Lock_Quickedit 1
attr Lichterkette_Bunt MSwitch_Mode Full
attr Lichterkette_Bunt readingList pct
attr Lichterkette_Bunt room 1_test
attr Lichterkette_Bunt setList pct:slider,0,1,100
attr Lichterkette_Bunt webCmd pct:on:off
setstate Lichterkette_Bunt off
setstate Lichterkette_Bunt 2019-03-31 20:28:25 .Device_Affected FreeCmd-AbsCmd1,MSwitch_Self-AbsCmd1,MSwitch_Self-AbsCmd2,MSwitch_Self-AbsCmd3
setstate Lichterkette_Bunt 2019-03-31 20:29:39 .Device_Affected_Details FreeCmd-AbsCmd1#[NF]cmd#[NF]cmd#[NF]setreading#[sp]$SELF#[sp]Parameter#[sp]test#[se]#[NF]setreading#[sp]$SELF#[sp]Parameter#[sp]test#[se]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]2#[NF]0#[NF]#[NF]0#[NF]0#[NF]2#[ND]MSwitch_Self-AbsCmd1#[NF]pct#[NF]pct#[NF]100#[NF]0#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]Parameter]#[sp]ne#[sp]"frompct"#[NF][$SELF#[dp]Parameter]#[sp]ne#[sp]"frompct"#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1#[ND]MSwitch_Self-AbsCmd2#[NF]on#[NF]no_action#[NF]frompct#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]EVTPART3]#[sp]>#[sp]0#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]3#[ND]MSwitch_Self-AbsCmd3#[NF]off#[NF]no_action#[NF]frompct#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]EVTPART3]#[sp]==#[sp]0#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]3
setstate Lichterkette_Bunt 2019-03-31 20:12:06 .Device_Events no_trigger#[tr]pct:.*
setstate Lichterkette_Bunt 2019-03-31 20:08:49 .First_init done
setstate Lichterkette_Bunt 2019-03-31 20:12:20 .Trigger_cmd_off no_trigger
setstate Lichterkette_Bunt 2019-03-31 20:12:20 .Trigger_cmd_on pct:.*
setstate Lichterkette_Bunt 2019-03-31 20:13:23 .Trigger_condition "$EVENT"#[sp]=#[ti]#[sp]m/(#[pt]*#[dp]?)pct(#[dp]#[pt]*)/
setstate Lichterkette_Bunt 2019-03-31 20:12:20 .Trigger_off no_trigger
setstate Lichterkette_Bunt 2019-03-31 20:12:20 .Trigger_on no_trigger
setstate Lichterkette_Bunt 2019-03-31 20:13:23 .Trigger_time
setstate Lichterkette_Bunt 2019-03-31 20:08:49 .V_Check V2.00
setstate Lichterkette_Bunt 2019-03-31 20:23:29 .sortby show
setstate Lichterkette_Bunt 2019-03-31 20:32:27 EVENT pct:0
setstate Lichterkette_Bunt 2019-03-31 20:32:27 EVTFULL Lichterkette_Bunt:pct:0
setstate Lichterkette_Bunt 2019-03-31 20:32:27 EVTPART1 Lichterkette_Bunt
setstate Lichterkette_Bunt 2019-03-31 20:32:27 EVTPART2 pct
setstate Lichterkette_Bunt 2019-03-31 20:32:27 EVTPART3 0
setstate Lichterkette_Bunt 2019-03-31 20:32:27 Parameter test
setstate Lichterkette_Bunt 2019-03-31 20:13:23 Trigger_device MSwitch_Self
setstate Lichterkette_Bunt 2019-03-31 20:12:20 Trigger_log off
setstate Lichterkette_Bunt 2019-03-31 20:32:27 last_activation_by event
setstate Lichterkette_Bunt 2019-03-31 20:32:27 last_cmd 2
setstate Lichterkette_Bunt 2019-03-31 20:32:27 last_event pct:0
setstate Lichterkette_Bunt 2019-03-31 20:32:27 last_exec_cmd set Lichterkette_Bunt pct 0,setreading Lichterkette_Bunt Parameter test;;
setstate Lichterkette_Bunt 2019-03-31 20:32:27 pct 0
setstate Lichterkette_Bunt 2019-03-31 20:32:27 state off