I cloned the home assistant core repo, and created my own custom branch (as a separate user, in a non-HA location). Here is my git diff:
diff --git a/homeassistant/components/zwave/discovery_schemas.py b/homeassistant/components/zwave/discovery_schemas.py
index f8674a48a3..aa0874fd57 100644
@@ -295,11 +295,13 @@ DISCOVERY_SCHEMAS = [
diff --git a/homeassistant/components/zwave/light.py b/homeassistant/components/zwave/light.py
index 244b4a557e..d6e777d7a8 100644
@@ -386,10 +394,11 @@ class ZwaveColorLight(ZwaveDimmer):
rgbw = "#"
for colorval in color_util.color_hs_to_RGB(*self._hs):
rgbw += format(colorval, "02x")
- if self._white is not None:
- rgbw += format(self._white, "02x") + "00"
- rgbw += "0000"
+ if self._supported_features & SUPPORT_WHITE_VALUE:
+ if self._white is not None:
+ rgbw += format(self._white, "02x") + "00"
+ rgbw += "0000"
if rgbw and self.values.color:
self.values.color.data = rgbw
This entire zwave folder then gets copied to custom_components in your homeassistant/.homeassistant location. The changes are fairly small, it’s fine to just copy the zwave folder into the custom_components location and manually add/change the affected lines.
The changes made may affect other lights that fall into the “self._white is not None” categories or the added logic. This is the only light I have with a color LED, and I made no effort to truly understand the logic here. That, and the fact that this zwave implementation is on its way to being deprecated, is the reason for not submitting a pull request to get it fixed officially. Good luck!
EDIT: I inadvertantly clipped the top portion of the diff indicating the first file with changes. Fixed.