package Ġio . homeassistant . comp anion . android . common . data . integration Ċ Ċ import Ġandroid . util . Log Ċ import Ġjava . util . Calendar Ċ Ċ data Ġclass ĠEntity < T >( ĊĠĠĠ Ġval Ġentity Id : ĠString , ĊĠĠĠ Ġval Ġstate : ĠString , ĊĠĠĠ Ġval Ġattributes : ĠT , ĊĠĠĠ Ġval Ġlast Changed : ĠCalendar , ĊĠĠĠ Ġval Ġlast Updated : ĠCalendar , ĊĠĠĠ Ġval Ġcontext : ĠMap < String , ĠAny >? Ċ ) Ċ Ċ object ĠEntity Ext Ġ{ ĊĠĠĠ Ġconst Ġval ĠTAG Ġ= Ġ" Entity Ext " ĊĊĠĠĠ Ġconst Ġval ĠF AN _ SUPPORT _ SET _ SPEED Ġ= Ġ 1 ĊĠĠĠ Ġconst Ġval ĠLIGHT _ MODE _ COLOR _ TEMP Ġ= Ġ" color _ temp " ĊĠĠĠ Ġval ĠLIGHT _ MODE _ NO _ BR IGHT NESS _ SUPPORT Ġ= ĠlistOf (" unknown ", Ġ" on off ") ĊĠĠĠ Ġconst Ġval ĠLIGHT _ SUPPORT _ BR IGHT NESS _ DE PR Ġ= Ġ 1 ĊĠĠĠ Ġconst Ġval ĠLIGHT _ SUPPORT _ COLOR _ TEMP _ DE PR Ġ= Ġ 2 Ċ } Ċ Ċ val Ġ< T > ĠEntity < T >. domain : ĠString ĊĠĠĠ Ġget () Ġ= Ġthis . entityId . split (". ")[ 0 ] Ċ Ċ fun Ġ< T > ĠEntity < T >. supports Fan Set Speed (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( domain Ġ!= Ġ" fan ") Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ(( attributes Ġas ĠMap < *, Ġ* >) [" supported _ features "] Ġas ĠInt ) Ġand ĠEntity Ext . F AN _ SUPPORT _ SET _ SPEED Ġ== ĠEntity Ext . F AN _ SUPPORT _ SET _ SPEED ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e ( Entity Ext . TAG , Ġ" Unable Ġto Ġget Ġsupports Fan Set Speed ", Ġe ) ĊĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠEntity < T >. supports Light Brightness (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( domain Ġ!= Ġ" light ") Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġ// ĠOn ĠHA ĠCore Ġ 2 0 2 1 . 5 Ġand Ġlater Ġbrightness Ġdetection Ġhas Ġchanged ĊĠĠĠĠĠĠĠ Ġ// Ġto Ġsimplify Ġthings Ġin Ġthe Ġapp Ġlets Ġuse Ġboth Ġmethods Ġfor Ġnow ĊĠĠĠĠĠĠĠ Ġval Ġsupported Color Modes Ġ= Ġ( attributes Ġas ĠMap < *, Ġ* >) [" supported _ color _ modes "] Ġas ? ĠList < String > ĊĠĠĠĠĠĠĠ Ġval Ġsupports Brightness Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( supported Color Modes Ġ== Ġnull ) Ġfalse Ġelse Ġ( supported Color Modes Ġ- ĠEntity Ext . LIGHT _ MODE _ NO _ BR IGHT NESS _ SUPPORT ). isNotEmpty () ĊĠĠĠĠĠĠĠ Ġval Ġsupported Features Ġ= Ġattributes [" supported _ features "] Ġas ĠInt ĊĠĠĠĠĠĠĠ Ġsupports Brightness Ġ|| Ġ( supported Features Ġand ĠEntity Ext . LIGHT _ SUPPORT _ BR IGHT NESS _ DE PR Ġ== ĠEntity Ext . LIGHT _ SUPPORT _ BR IGHT NESS _ DE PR ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e ( Entity Ext . TAG , Ġ" Unable Ġto Ġget Ġsupports Light Brightness ", Ġe ) ĊĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠEntity < T >. supports Light Color Temperature (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( domain Ġ!= Ġ" light ") Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġval Ġsupported Color Modes Ġ= Ġ( attributes Ġas ĠMap < *, Ġ* >) [" supported _ color _ modes "] Ġas ? ĠList < String > ĊĠĠĠĠĠĠĠ Ġval Ġsupports Color Temp Ġ= Ġsupported Color Modes ?. contains ( Entity Ext . LIGHT _ MODE _ COLOR _ TEMP ) Ġ?: Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġsupported Features Ġ= Ġattributes [" supported _ features "] Ġas ĠInt ĊĠĠĠĠĠĠĠ Ġsupports Color Temp Ġ|| Ġ( supported Features Ġand ĠEntity Ext . LIGHT _ SUPPORT _ COLOR _ TEMP _ DE PR Ġ== ĠEntity Ext . LIGHT _ SUPPORT _ COLOR _ TEMP _ DE PR ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e ( Entity Ext . TAG , Ġ" Unable Ġto Ġget Ġsupports Light Color Temperature ", Ġe ) ĊĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ