Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save florian-asche/4e434a10a580da50c742a23d432d19ca to your computer and use it in GitHub Desktop.
Save florian-asche/4e434a10a580da50c742a23d432d19ca to your computer and use it in GitHub Desktop.
FHEM Archetype MQTT2 RGBWW
###################
# RGBWW - DEVICES #
###################
define dev_tasmota_rgbww_5411 MQTT2_DEVICE
attr dev_tasmota_rgbww_5411 archetypeFilter TASMOTA-RGBW
attr dev_tasmota_rgbww_5411 alias RGBW - Licht - Schlafzimmer - Bett
attr dev_tasmota_rgbww_5411 room Schlafzimmer
attr dev_tasmota_rgbww_5411 group Global-RGB
attr dev_tasmota_rgbww_5411 deviceID 5411
###################
# EXAMPLE - RGBWW #
###################
define archetype_tasmota_rgbww archetype TYPE=MQTT2_DEVICE:FILTER=archetypeFilter=TASMOTA-RGBWW
attr archetype_tasmota_rgbww userattr userattr IODev DbLogExclude devStateIcon event-min-interval event-on-change-reading group icon jsonMap lightSceneParamsToSave retain setList readingList useSetExtensions webCmd widgetOverride setStateList userReadings
attr archetype_tasmota_rgbww IODev mqtt2server
attr archetype_tasmota_rgbww devStateIcon {\
if(ReadingsVal("$name","presence","error") =~ /Online/i){\
if(ReadingsVal("$name","White","error") eq "0"){\
Color::devStateIcon($name,"rgb","RGBColor","Dimmer","state");;;;\
}else{\
Color::devStateIcon($name,"dimmer","undef","White","state");;;;\
}\
}else{\
return("*:WLAN_Status.0");;;;\
}\
}
attr archetype_tasmota_rgbww event-min-interval (ENERGY.*|POWER|Vcc|Wifi_RSSI|state|presence|sensor|setup|result):1800
attr archetype_tasmota_rgbww event-on-change-reading (ENERGY.*|POWER|Vcc|Wifi_RSSI|state|presence|sensor|setup|result)
attr archetype_tasmota_rgbww DbLogExclude .*
attr archetype_tasmota_rgbww group RGB-Einzeln
attr archetype_tasmota_rgbww icon light_led_stripe_rgb
attr archetype_tasmota_rgbww jsonMap POWER:state
attr archetype_tasmota_rgbww lightSceneParamsToSave {if(ReadingsVal($DEVICE,"state","error") eq "ON"){if(ReadingsVal($DEVICE, "White", "error") eq "0"){"RGBColor,Dimmer"}else{"White"}}else{"state"}}
attr archetype_tasmota_rgbww retain 1
attr archetype_tasmota_rgbww actual_setList\
OFF:noArg /gosund_%deviceID%/cmnd/POWER 0\
ON:noArg /gosund_%deviceID%/cmnd/POWER 1\
RGBColor:colorpicker,RGB /gosund_%deviceID%/cmnd/Color2\
Dimmer:colorpicker,BRI,0,5,80 /gosund_%deviceID%/cmnd/Dimmer\
White:colorpicker,BRI,0,5,80 /gosund_%deviceID%/cmnd/White\
CT:colorpicker,CT /gosund_%deviceID%/cmnd/CT\
Fade:0 /gosund_%deviceID%/cmnd/Fade 0\
Fade:1 /gosund_%deviceID%/cmnd/Fade 1\
Speed:1-10 /gosund_%deviceID%/cmnd/Speed
attr archetype_tasmota_rgbww actual_readingList \
/gosund_%deviceID%/tele/LWT:.* presence\
/gosund_%deviceID%/tele/STATUS(2|5|11):.* { json2nameValue($EVENT, '', $JSONMAP) }\
/gosund_%deviceID%/tele/INFO(1|2|3):.* { json2nameValue($EVENT, '', $JSONMAP) }\
/gosund_%deviceID%/tele/STATE:.* { json2nameValue($EVENT, '', $JSONMAP) }\
/gosund_%deviceID%/stat/RESULT:.* { json2nameValue($EVENT, '', $JSONMAP) }\
/gosund_%deviceID%/stat/POWER:.* state
attr archetype_tasmota_rgbww useSetExtensions 1
attr archetype_tasmota_rgbww webCmd RGBColor:Dimmer:White:CT:RGBColor ffffff:RGBColor ff0000:RGBColor 00ff00:RGBColor 0000ff:ON:OFF
attr archetype_tasmota_rgbww widgetOverride Dimmer:colorpicker,BRI,0,1,100 White:colorpicker,BRI,0,1,100 RGBColor:colorpicker,RGB CT:colorpicker,CT,153,1,500
attr archetype_tasmota_rgbww setStateList ON OFF
attr archetype_tasmota_rgbww userReadings RGBColor {\
my $color = ReadingsVal($name,"Color","error");;;;\
$color =~ /([0-9a-fA-F]{6})/;;;;\
return($1||"error");;;;\
}
#SELF
attr archetype_tasmota_rgbww room System
attr archetype_tasmota_rgbww attributes userattr IODev DbLogExclude devStateIcon event-min-interval event-on-change-reading group icon jsonMap lightSceneParamsToSave retain setList readingList useSetExtensions webCmd widgetOverride setStateList userReadings
attr archetype_tasmota_rgbww attributesExclude attributes attributesExclude room
#attr archetype_tasmota_rgbww delteAttributes 0
#attr archetype_tasmota_rgbww defined_by archetype.archetype_tasmota_rgbww
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment