* Simplify maxcube integration
Device objects returned by maxcube-api dependency are stable, so
we do not need to resolve from the device address every time.
Also, refactor and unify how maxcube integration sets temperature & mode.
* Raise ValueError if missing parameters for set_temperature method
Raise a ValueError exception If set_temperature does not receive
a temperature parameter.
Also, document properly _set_target method.
* Use Type | None instead of Optional[Type] annotation
* Protect set_hvac_mode and set_preset_mode from unsupported parameters