Sure, nothing too sophisticated:
[{"id":"bca6bae91813d1aa","type":"fd-push-button","z":"e9f02651.863e9","fd_container":"5c1d741e5f65137d","fd_cols":1,"fd_rows":1,"fd_array":false,"fd_array_max":10,"fd_output_topic":"sonoff.0.TM_iFan.FanSpeed","name":"Fan Off","title":"","popup_info":"","enabled":true,"color":"orange-darken-3","output_value":0,"icon":"mdi-fan-off","x":860,"y":320,"wires":[["ac878a335e2ecb46"]]},{"id":"cea9306ba0eace50","type":"fd-push-button","z":"e9f02651.863e9","fd_container":"5c1d741e5f65137d","fd_cols":1,"fd_rows":1,"fd_array":false,"fd_array_max":10,"fd_output_topic":"sonoff.0.TM_iFan.FanSpeed","name":"Fan Low","title":"","popup_info":"","enabled":true,"color":"","output_value":1,"icon":"mdi-fan-speed-1","x":860,"y":360,"wires":[["ac878a335e2ecb46"]]},{"id":"b51cacc5e04d1208","type":"fd-push-button","z":"e9f02651.863e9","fd_container":"5c1d741e5f65137d","fd_cols":1,"fd_rows":1,"fd_array":false,"fd_array_max":10,"fd_output_topic":"sonoff.0.TM_iFan.FanSpeed","name":"Fan Mid","title":"","popup_info":"","enabled":true,"color":"","output_value":2,"icon":"mdi-fan-speed-2","x":860,"y":400,"wires":[["ac878a335e2ecb46"]]},{"id":"afe465fab8e13774","type":"fd-push-button","z":"e9f02651.863e9","fd_container":"5c1d741e5f65137d","fd_cols":1,"fd_rows":1,"fd_array":false,"fd_array_max":10,"fd_output_topic":"sonoff.0.TM_iFan.FanSpeed","name":"Fan High","title":"","popup_info":"","enabled":true,"color":"","output_value":3,"icon":"mdi-fan-speed-3","x":860,"y":440,"wires":[["ac878a335e2ecb46"]]},{"id":"cf250720c9df8b32","type":"ioBroker in","z":"e9f02651.863e9","name":"TM_iFan FanSpeed","topic":"sonoff.0.TM_iFan.FanSpeed","payloadType":"value","onlyack":"","func":"all","gap":"","fireOnStart":"false","outFormat":"ioBroker","x":330,"y":380,"wires":[["a442b8cdfb726438"]]},{"id":"a442b8cdfb726438","type":"switch","z":"e9f02651.863e9","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"str"},{"t":"eq","v":"1","vt":"str"},{"t":"eq","v":"2","vt":"str"},{"t":"eq","v":"3","vt":"str"}],"checkall":"true","repair":false,"outputs":4,"x":510,"y":380,"wires":[["e72c42c3b9e03e56","2759d10a4117f8f7"],["afda2ac61afe5ad9","a402cbc8e0641e6c"],["b40eddc8e629586a","2c47116dc868d9ca"],["4949cd9e9df935a1","fcc7be95202212ba"]]},{"id":"e72c42c3b9e03e56","type":"change","z":"e9f02651.863e9","name":"On","rules":[{"t":"set","p":"color","pt":"msg","to":"orange-darken-3","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":240,"wires":[["bca6bae91813d1aa"]]},{"id":"2759d10a4117f8f7","type":"change","z":"e9f02651.863e9","name":"Off","rules":[{"t":"set","p":"color","pt":"msg","to":"\"\"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":280,"wires":[["cea9306ba0eace50","b51cacc5e04d1208","afe465fab8e13774"]]},{"id":"afda2ac61afe5ad9","type":"change","z":"e9f02651.863e9","name":"On","rules":[{"t":"set","p":"color","pt":"msg","to":"orange-darken-3","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":320,"wires":[["cea9306ba0eace50"]]},{"id":"a402cbc8e0641e6c","type":"change","z":"e9f02651.863e9","name":"Off","rules":[{"t":"set","p":"color","pt":"msg","to":"\"\"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":360,"wires":[["bca6bae91813d1aa","b51cacc5e04d1208","afe465fab8e13774"]]},{"id":"b40eddc8e629586a","type":"change","z":"e9f02651.863e9","name":"On","rules":[{"t":"set","p":"color","pt":"msg","to":"orange-darken-3","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":400,"wires":[["b51cacc5e04d1208"]]},{"id":"2c47116dc868d9ca","type":"change","z":"e9f02651.863e9","name":"Off","rules":[{"t":"set","p":"color","pt":"msg","to":"\"\"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":440,"wires":[["bca6bae91813d1aa","cea9306ba0eace50","afe465fab8e13774"]]},{"id":"4949cd9e9df935a1","type":"change","z":"e9f02651.863e9","name":"On","rules":[{"t":"set","p":"color","pt":"msg","to":"orange-darken-3","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":480,"wires":[["afe465fab8e13774"]]},{"id":"fcc7be95202212ba","type":"change","z":"e9f02651.863e9","name":"Off","rules":[{"t":"set","p":"color","pt":"msg","to":"\"\"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":520,"wires":[["bca6bae91813d1aa","cea9306ba0eace50","b51cacc5e04d1208"]]},{"id":"ac878a335e2ecb46","type":"ioBroker out","z":"e9f02651.863e9","name":"","topic":"","ack":"false","autoCreate":"false","stateName":"","role":"","payloadType":"","readonly":"","stateUnit":"","stateMin":"","stateMax":"","x":1080,"y":380,"wires":[]},{"id":"a91afa954d56f722","type":"ioBroker in","z":"e9f02651.863e9","name":"TM_iFan POWER1","topic":"sonoff.0.TM_iFan.POWER1","payloadType":"value","onlyack":"","func":"all","gap":"","fireOnStart":"false","outFormat":"ioBroker","x":330,"y":600,"wires":[["ba193cdb855dd540"]]},{"id":"8ca016effd213b5a","type":"ioBroker out","z":"e9f02651.863e9","name":"","topic":"","ack":"false","autoCreate":"false","stateName":"","role":"","payloadType":"","readonly":"","stateUnit":"","stateMin":"","stateMax":"","x":1080,"y":600,"wires":[]},{"id":"84af736ee075f753","type":"fd-push-button","z":"e9f02651.863e9","fd_container":"5c1d741e5f65137d","fd_cols":1,"fd_rows":1,"fd_array":false,"fd_array_max":10,"fd_output_topic":"sonoff.0.TM_iFan.POWER1","name":"Fan Light","title":"","popup_info":"","enabled":true,"color":"transparent","output_value":"TOGGLE","icon":"mdi-ceiling-fan-light","x":860,"y":600,"wires":[["8ca016effd213b5a"]]},{"id":"ba193cdb855dd540","type":"switch","z":"e9f02651.863e9","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"ON","vt":"str"},{"t":"eq","v":"OFF","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":490,"y":600,"wires":[["45ba608ee33403dc"],["71460080ee41bacc"]]},{"id":"45ba608ee33403dc","type":"change","z":"e9f02651.863e9","name":"On","rules":[{"t":"set","p":"color","pt":"msg","to":"yellow-lighten-3","tot":"str"},{"t":"set","p":"icon","pt":"msg","to":"mdi-ceiling-fan-light","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":580,"wires":[["84af736ee075f753"]]},{"id":"71460080ee41bacc","type":"change","z":"e9f02651.863e9","name":"Off","rules":[{"t":"set","p":"color","pt":"msg","to":"\"\"","tot":"str"},{"t":"set","p":"icon","pt":"msg","to":"mdi-ceiling-fan","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":620,"wires":[["84af736ee075f753"]]},{"id":"5c1d741e5f65137d","type":"flexdash container","name":"Wintergarden_Fan_Panel","kind":"Panel","fd_children":",84af736ee075f753,bca6bae91813d1aa,cea9306ba0eace50,b51cacc5e04d1208,afe465fab8e13774","title":"Fan","tab":"34c6194f6a8a6f6e","min_cols":"1","max_cols":"20","parent":"652315810a389430","solid":true,"cols":3,"rows":"1"},{"id":"34c6194f6a8a6f6e","type":"flexdash tab","name":"Wintergarden_Tab","icon":"mdi-view-dashboard","title":"Wintergarten","fd_children":",652315810a389430","fd":"e8f5aea52ab49500"},{"id":"652315810a389430","type":"flexdash container","name":"Wintergarden_Grid","kind":"StdGrid","fd_children":",5c1d741e5f65137d","title":"Wintergarten","tab":"34c6194f6a8a6f6e","min_cols":"1","max_cols":"20","parent":"","solid":false,"cols":"1","rows":"1"}
Well, simply a matter of taste.
Agree. I guess there are many possibilities for "advanced" options:
- Via msg injection
- JSON overload of existing props
- An "advanced" tab in the nodes' config dialogs, taking additional arguments, i.e. "General", "Widget Input Props", "Advanced". With advanced being just an empty text field to add additional properties etc. documented in the Readme