de Peer schreef op dinsdag 31 augustus 2021 @ 21:25:
[...]
Laat ik nou tasmota rule expert zijn!
Je bent er in ieder geval bijna. Je moet
ON switch1#state=6 DO mem1 - ENDON
ON switch2#state=6 DO mem1 + ENDON
Gebruiken denk ik.
die 2 regels met state 5 helemaal verwijderen want dat gaat over van richting veranderen en dat is bij jou niet aan de orde met 2 knoppen.
Dus dan komt het er zo uit te zien:
ON System#boot mem1 + ENDON
ON switch1#state=2 DO cmnd/%topic%/POWER TOGGLE ENDON
ON switch2#state=2 DO cmnd/%topic%/POWER TOGGLE ENDON
ON switch1#state=4 DO cmnd/%topic%/DIMMER %mem1% ENDON
ON switch2#state=4 DO cmnd/%topic%/DIMMER %mem1% ENDON
ON switch1#state=6 DO mem1 - ENDON
ON switch2#state=6 DO mem1 + ENDON
ON switch1#state=8 DO dimmer 100 ENDON
ON switch2#state=8 DO dimmer 100 ENDON
Dus door switch 1 los te laten sla je de min (-) op in mem1
En door switch 2 los te laten sla je de min (+) op in mem1
en tijdens het ingedrukt houden (state 4) doet hij dan dimmer - of dimmer +.
Bedankt nogmaals voor het meedenken. Deze rule werk al weer een stuk beter.
Echter het is nog niet perfect (een lamp schakelaar moet eigenlijk wel idote-proof zijn).
*****begin status uit.
*****one press switch2 lamp gaat aan:
07:38:39.751 RUL: SWITCH2#STATE=2 performs "cmnd/tasmota_A1C91C/POWER TOGGLE"
07:38:39.763 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"70","Battery":100,"RSSI":10}
07:38:39.768 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON"}
07:38:39.772 MQT: stat/tasmota_A1C91C/POWER = ON
07:38:40.772 RUL: SWITCH2#STATE=6 performs "mem1 +"
07:38:40.781 MQT: stat/tasmota_A1C91C/RESULT = {"Mem1":"+"}
*****so far as good
*****long press switch 2 lamp dimt op naar max vermorgen:
07:39:50.666 RUL: SWITCH2#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER +"
07:39:50.674 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"80","Battery":100,"RSSI":10}
07:39:50.678 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":80}
07:39:51.067 RUL: SWITCH2#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER +"
07:39:51.075 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"90","Battery":100,"RSSI":10}
07:39:51.081 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":90}
07:39:51.618 RUL: SWITCH2#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER +"
07:39:51.626 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"100","Battery":100,"RSSI":10}
07:39:51.632 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":100}
07:39:52.061 RUL: SWITCH2#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER +"
07:39:52.068 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"100","Battery":100,"RSSI":10}
07:39:52.074 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":100}
07:39:52.462 RUL: SWITCH2#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER +"
07:39:52.469 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"100","Battery":100,"RSSI":10}
07:39:52.475 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":100}
07:39:53.838 RUL: SWITCH2#STATE=6 performs "mem1 +"
07:39:53.847 MQT: stat/tasmota_A1C91C/RESULT = {"Mem1":"+"}
***** so far so good
***** long press 2sec switch 1: eerste keer gebeurt er niets. Nogmaals long press 2sec sw1 en de lamp dimt (minor glitch, maar hier valt mee te leven):
07:41:14.962 RUL: SWITCH1#STATE=6 performs "mem1 -"
07:41:14.970 MQT: stat/tasmota_A1C91C/RESULT = {"Mem1":"-"}
07:41:21.663 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:41:21.671 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"90","Battery":100,"RSSI":10}
07:41:21.676 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":90}
07:41:22.115 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:41:22.123 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"80","Battery":100,"RSSI":10}
07:41:22.128 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":80}
07:41:23.512 RUL: SWITCH1#STATE=6 performs "mem1 -"
07:41:23.521 MQT: stat/tasmota_A1C91C/RESULT = {"Mem1":"-"}
******so far so good
******long press switch1: lamp dimt helemaal uit, maar krijgt niet de POWER OFF. het zou mooi zijn als de lamp in power off state zou gaan:
07:42:27.007 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:42:27.015 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"70","Battery":100,"RSSI":10}
07:42:27.020 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":70}
07:42:27.455 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:42:27.463 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"60","Battery":100,"RSSI":10}
07:42:27.469 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":60}
07:42:27.855 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:42:27.862 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"50","Battery":100,"RSSI":10}
07:42:27.868 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":50}
07:42:28.286 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:42:28.294 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"40","Battery":100,"RSSI":10}
07:42:28.297 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":40}
07:42:28.708 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:42:28.716 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"30","Battery":100,"RSSI":10}
07:42:28.721 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":30}
07:42:29.114 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:42:29.122 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"20","Battery":100,"RSSI":10}
07:42:29.127 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":20}
07:42:29.509 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:42:29.517 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"10","Battery":100,"RSSI":10}
07:42:29.522 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":10}
07:42:29.965 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:42:29.973 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"1","Battery":100,"RSSI":10}
07:42:29.978 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":1}
07:42:30.407 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:42:30.416 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"1","Battery":100,"RSSI":10}
07:42:30.419 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":1}
07:42:30.806 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:42:30.814 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"1","Battery":100,"RSSI":10}
07:42:30.821 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":1}
07:42:31.866 RUL: SWITCH1#STATE=6 performs "mem1 -"
07:42:31.875 MQT: stat/tasmota_A1C91C/RESULT = {"Mem1":"-"}
******short press sw1 schakelt de lamp alsnog helemaal uit:
07:43:43.456 RUL: SWITCH2#STATE=2 performs "cmnd/tasmota_A1C91C/POWER TOGGLE"
07:43:43.471 MQT: domoticz/in = {"idx":2003,"nvalue":0,"svalue":"1","Battery":100,"RSSI":10}
07:43:43.476 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"OFF"}
07:43:43.479 MQT: stat/tasmota_A1C91C/POWER = OFF
07:43:44.505 RUL: SWITCH2#STATE=6 performs "mem1 +"
07:43:44.514 MQT: stat/tasmota_A1C91C/RESULT = {"Mem1":"+"}
*******probleem:
als de lamp gedimt aan is, en je hem iets zachter wilt zetten doe je een long press op SW1 . Echter de lamp wordt nu sterker (ipv zwakker). Als je dan even pauze hou (5sec) en dan nog maals op SW1 druk, dimt hij wel. Dit gedrag is vrij consistent: je moet hem eerst even een short press geven en vervolgens een long press om de dimming just te laten verlopen:
07:49:37.300 RUL: SWITCH1#STATE=2 performs "cmnd/tasmota_A1C91C/POWER TOGGLE"
07:49:37.315 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"50","Battery":100,"RSSI":10}
07:49:37.319 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON"}
07:49:37.324 MQT: stat/tasmota_A1C91C/POWER = ON
07:49:37.670 RUL: SWITCH1#STATE=8 performs "dimmer 100"
07:49:37.681 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"100","Battery":100,"RSSI":10}
07:49:37.688 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":100}
07:49:38.665 RUL: SWITCH1#STATE=6 performs "mem1 -"
07:49:38.675 MQT: stat/tasmota_A1C91C/RESULT = {"Mem1":"-"}
07:49:42.061 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:49:42.072 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"90","Battery":100,"RSSI":10}
07:49:42.077 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":90}
07:49:42.507 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:49:42.515 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"80","Battery":100,"RSSI":10}
07:49:42.519 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":80}
07:49:42.905 RUL: SWITCH1#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:49:42.913 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"70","Battery":100,"RSSI":10}
07:49:42.918 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":70}
07:49:44.219 RUL: SWITCH1#STATE=6 performs "mem1 -"
07:49:44.227 MQT: stat/tasmota_A1C91C/RESULT = {"Mem1":"-"}
07:49:53.008 RUL: SWITCH2#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:49:53.015 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"60","Battery":100,"RSSI":10}
07:49:53.021 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":60}
07:49:53.409 RUL: SWITCH2#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER -"
07:49:53.418 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"50","Battery":100,"RSSI":10}
07:49:53.422 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":50}
07:49:53.900 RUL: SWITCH2#STATE=6 performs "mem1 +"
07:49:53.910 MQT: stat/tasmota_A1C91C/RESULT = {"Mem1":"+"}
07:49:54.914 RUL: SWITCH2#STATE=6 performs "mem1 +"
07:49:54.923 MQT: stat/tasmota_A1C91C/RESULT = {"Mem1":"+"}
07:50:02.616 RUL: SWITCH2#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER +"
07:50:02.624 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"60","Battery":100,"RSSI":10}
07:50:02.628 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":60}
07:50:03.007 RUL: SWITCH2#STATE=4 performs "cmnd/tasmota_A1C91C/DIMMER +"
07:50:03.015 MQT: domoticz/in = {"idx":2003,"nvalue":1,"svalue":"70","Battery":100,"RSSI":10}
07:50:03.021 MQT: stat/tasmota_A1C91C/RESULT = {"POWER":"ON","Dimmer":70}
07:50:03.460 RUL: SWITCH2#STATE=6 performs "mem1 +"
07:50:03.468 MQT: stat/tasmota_A1C91C/RESULT = {"Mem1":"+"}
07:50:04.568 RUL: SWITCH2#STATE=6 performs "mem1 +"
07:50:04.576 MQT: stat/tasmota_A1C91C/RESULT = {"Mem1":"+"}
Enig idee of dit nog verder te optimalizeren valt?
Dit is mijn Rule1 (zou gelijk moeten zijn aan jouw voorstel):
08:01:04.732 CMD: Rule1
08:01:04.741 MQT: stat/tasmota_A1C91C/RESULT = {"Rule1":{"State":"ON","Once":"OFF","StopOnError":"OFF","Length":401,"Free":110,"Rules":"ON System#boot mem1 + ENDON ON switch1#state=2 DO cmnd/%topic%/POWER TOGGLE ENDON ON switch2#state=2 DO cmnd/%topic%/POWER TOGGLE ENDON ON switch1#state=4 DO cmnd/%topic%/DIMMER %mem1% ENDON ON switch2#state=4 DO cmnd/%topic%/DIMMER %mem1% ENDON ON switch1#state=6 DO mem1 - ENDON ON switch2#state=6 DO mem1 + ENDON ON switch1#state=8 DO dimmer 100 ENDON ON switch2#state=8 DO dimmer 100 ENDON Rule1 1"}}
Nogmaal bedankt voor het meedenken.