Home Assistant release with the issue:
0.85.0
Last working Home Assistant release (if known):
unknown
Operating environment (Hass.io/Docker/Windows/etc.):
Docker on Ubuntu 18.04 LTS with Aeotec Z-Stick Gen5, fresh install a week ago
Component/platform:
https://www.home-assistant.io/docs/z-wave/
Description of problem:
https://community.home-assistant.io/t/ge-jasco-26933-issues/22738
When adding a GE / Jasco 26933 Motion Dimmer device via Z-Wave "Add Node", the Z-Wave component adds one (1) new NodeID for the device but Home Assistant creates multiple duplicates:
On the Home Assistant side, the light component of the device, as well as the motion and other sensor components, appear 2-3 times as duplicates. This makes the devices practically unusable, as it is unclear which light of the two to switch or which sensor to query or respond to. The duplicate lights also appear to not share the same state.
This seems to be a known issue since 2017, that some people in the forum attribute to the different operating modes of the motion dimmer (Occupancy, Vacancy, and Manual mode). No real workaround has been found for this attractive and useful device.
The folks around SmartThings seem to have found a solution to this problem in the form of a custom DTH: http://thingsthataresmart.wiki/index.php?title=GE_Z-Wave_Motion_Sensor_Dimmer_Switch
Their code can be found here: https://raw.githubusercontent.com/MichaelStruck/SmartThingsPublic/master/devicetypes/michaelstruck/ge-motion-dimmer-switch-26933.src/ge-motion-dimmer-switch-26933.groovy
Ideally, HA would only create one entry for the light and sensor components.
Problem-relevant zwavecfg.xml entries:
<Node id="2" name="" location="" basic="4" generic="17" specific="1" roletype="5" devicetype="1536" nodetype="0" type="Multilevel Power Switch" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
<Manufacturer id="63" name="GE">
<Product type="494d" id="3034" name="26933 Smart Motion Dimmer" />
</Manufacturer>
<CommandClasses>
<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="5" mapping="38">
<Instance index="1" />
<Instance index="2" endpoint="1" />
</CommandClass>
<CommandClass id="38" name="COMMAND_CLASS_SWITCH_MULTILEVEL" version="2" request_flags="1" innif="true">
<Instance index="1" />
<Instance index="2" endpoint="1" />
<Value type="byte" genre="user" instance="1" index="0" label="Level" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="1" />
<Value type="button" genre="user" instance="1" index="1" label="Bright" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
<Value type="button" genre="user" instance="1" index="2" label="Dim" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
<Value type="bool" genre="system" instance="1" index="3" label="Ignore Start Level" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="True" />
<Value type="byte" genre="system" instance="1" index="4" label="Start Level" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="2" index="0" label="Level" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="34" />
<Value type="button" genre="user" instance="2" index="1" label="Bright" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
<Value type="button" genre="user" instance="2" index="2" label="Dim" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
<Value type="bool" genre="system" instance="2" index="3" label="Ignore Start Level" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="True" />
<Value type="byte" genre="system" instance="2" index="4" label="Start Level" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="system" instance="2" index="5" label="Dimming Duration" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="255" />
</CommandClass>
<CommandClass id="39" name="COMMAND_CLASS_SWITCH_ALL" version="1" request_flags="5" innif="true">
<Instance index="1" />
<Value type="list" genre="system" instance="1" index="0" label="Switch All" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="3" size="1">
<Item label="Disabled" value="0" />
<Item label="Off Enabled" value="1" />
<Item label="On Enabled" value="2" />
<Item label="On and Off Enabled" value="255" />
</Value>
</CommandClass>
<CommandClass id="43" name="COMMAND_CLASS_SCENE_ACTIVATION" version="1" request_flags="5" innif="true">
<Instance index="1" />
</CommandClass>
<CommandClass id="86" name="COMMAND_CLASS_CRC_16_ENCAP" version="1" request_flags="5" innif="true">
<Instance index="1" />
</CommandClass>
<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="5" innif="true">
<Instance index="1" />
</CommandClass>
<CommandClass id="94" name="COMMAND_CLASS_ZWAVEPLUS_INFO" version="1" request_flags="5" innif="true">
<Instance index="1" />
<Instance index="2" endpoint="1" />
<Instance index="3" endpoint="2" />
<Value type="byte" genre="system" instance="1" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="1" />
<Value type="short" genre="system" instance="1" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="1536" />
<Value type="short" genre="system" instance="1" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="1536" />
<Value type="byte" genre="system" instance="2" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="short" genre="system" instance="2" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
<Value type="short" genre="system" instance="2" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
<Value type="byte" genre="system" instance="3" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="short" genre="system" instance="3" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
<Value type="short" genre="system" instance="3" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
</CommandClass>
<CommandClass id="96" name="COMMAND_CLASS_MULTI_INSTANCE/CHANNEL" version="4" request_flags="1" innif="true">
<Instance index="1" />
</CommandClass>
<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="5" innif="true">
<Instance index="1" />
<Value type="list" genre="config" instance="1" index="1" label="Timeout Duration" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" vindex="2" size="1">
<Help>Amount of time the light stays on after motion stops</Help>
<Item label="5 seconds" value="0" />
<Item label="1 minute" value="1" />
<Item label="5 minutes" value="5" />
<Item label="15 minutes" value="15" />
<Item label="30 minutes" value="30" />
<Item label="Disable timeout" value="255" />
</Value>
<Value type="byte" genre="config" instance="1" index="2" label="Brightness" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="255" value="3">
<Help>Valid values are 0-99 or 255 for last dimming level</Help>
</Value>
<Value type="list" genre="config" instance="1" index="3" label="Operation Mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="3" vindex="2" size="1">
<Help>Motion-sensing mode of operation.</Help>
<Item label="Manual" value="1" />
<Item label="Vacancy" value="2" />
<Item label="Occupancy" value="3" />
</Value>
<Value type="list" genre="config" instance="1" index="5" label="Invert Switch" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
<Help>In a three-way configuration, change the top of the add-on switch to OFF and the bottom of the switch to ON, if the switch was installed upside down.</Help>
<Item label="No" value="0" />
<Item label="Yes" value="1" />
</Value>
<Value type="list" genre="config" instance="1" index="6" label="Enable/Disable Motion Sensor" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="1" size="1">
<Item label="Disabled" value="0" />
<Item label="Enabled" value="1" />
</Value>
<Value type="byte" genre="config" instance="1" index="7" label="Z-Wave Command Dim Step" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="99" value="1">
<Help>Indicates how many levels the dimmer will change for each dimming step.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="8" label="Z-Wave Command Dim Rate" units="x 10 milliseconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="255" value="3">
<Help>This value indicates in 10 millisecond resolution, how often the dim level will change. For example, if you set this parameter to 1, then every 10ms the dim level will change. If you set it to 255, then every 2.55 seconds the dim level will change.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="9" label="Local Control Dim Step" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="99" value="1">
<Help>Indicates how many levels the dimmer will change for each dimming step.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="10" label="Local Control Dim Rate" units="x 10 milliseconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="255" value="3">
<Help>This value indicates in 10 millisecond resolution, how often the dim level will change. For example, if you set this parameter to 1, then every 10ms the dim level will change. If you set it to 255, then every 2.55 seconds the dim level will change.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="11" label="ALL ON/ALL OFF Dim Step" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="99" value="1">
<Help>Indicates how many levels the dimmer will change for each dimming step.</Help>
</Value>
<Value type="byte" genre="config" instance="1" index="12" label="ALL ON/ALL OFF Dim Rate" units="x 10 milliseconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="255" value="3">
<Help>This value indicates in 10 millisecond resolution, how often the dim level will change. For example, if you set this parameter to 1, then every 10ms the dim level will change. If you set it to 255, then every 2.55 seconds the dim level will change.</Help>
</Value>
<Value type="list" genre="config" instance="1" index="13" label="Motion sensing sensitivity" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="3" vindex="2" size="1">
<Item label="High" value="1" />
<Item label="Medium" value="2" />
<Item label="Low" value="3" />
</Value>
<Value type="list" genre="config" instance="1" index="14" label="Enable/Disable Light Sensing" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
<Item label="Disabled" value="0" />
<Item label="Enabled" value="1" />
</Value>
<Value type="int" genre="config" instance="1" index="15" label="Reset cycle" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="110" value="2">
<Help>0 = disable 1 = 10 seconds 2 = 20 seconds 3 = 30 seconds 4 = 45 seconds ... 110 = 27 minutes 15 seconds</Help>
</Value>
<Value type="list" genre="config" instance="1" index="16" label="Switch Mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
<Item label="Disabled" value="0" />
<Item label="Enabled" value="1" />
</Value>
<Value type="byte" genre="config" instance="1" index="17" label="Switch Level" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="99" value="0" />
<Value type="list" genre="config" instance="1" index="18" label="Dim Up Rate" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
<Item label="Slow" value="0" />
<Item label="Fast" value="1" />
</Value>
<Value type="list" genre="config" instance="1" index="19" label="Exclusion Mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
<Item label="Press any button" value="0" />
<Item label="Press X then press ON" value="1" />
</Value>
</CommandClass>
<CommandClass id="113" name="COMMAND_CLASS_ALARM" version="4" request_flags="1" innif="true">
<Instance index="1" />
<Instance index="2" endpoint="2" />
<Value type="byte" genre="user" instance="1" index="0" label="Alarm Type" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="1" index="1" label="Alarm Level" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="1" index="2" label="SourceNodeId" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="1" index="10" label="Burglar" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="2" index="0" label="Alarm Type" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="2" index="1" label="Alarm Level" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="2" index="2" label="SourceNodeId" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="2" index="10" label="Burglar" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="254" />
</CommandClass>
<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="5" innif="true">
<Instance index="1" />
</CommandClass>
<CommandClass id="115" name="COMMAND_CLASS_POWERLEVEL" version="1" request_flags="5" innif="true">
<Instance index="1" />
<Value type="list" genre="system" instance="1" index="0" label="Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
<Item label="Normal" value="0" />
<Item label="-1dB" value="1" />
<Item label="-2dB" value="2" />
<Item label="-3dB" value="3" />
<Item label="-4dB" value="4" />
<Item label="-5dB" value="5" />
<Item label="-6dB" value="6" />
<Item label="-7dB" value="7" />
<Item label="-8dB" value="8" />
<Item label="-9dB" value="9" />
</Value>
<Value type="byte" genre="system" instance="1" index="1" label="Timeout" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="button" genre="system" instance="1" index="2" label="Set Powerlevel" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
<Value type="byte" genre="system" instance="1" index="3" label="Test Node" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="list" genre="system" instance="1" index="4" label="Test Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
<Item label="Normal" value="0" />
<Item label="-1dB" value="1" />
<Item label="-2dB" value="2" />
<Item label="-3dB" value="3" />
<Item label="-4dB" value="4" />
<Item label="-5dB" value="5" />
<Item label="-6dB" value="6" />
<Item label="-7dB" value="7" />
<Item label="-8dB" value="8" />
<Item label="-9dB" value="9" />
</Value>
<Value type="short" genre="system" instance="1" index="5" label="Frame Count" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
<Value type="button" genre="system" instance="1" index="6" label="Test" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
<Value type="button" genre="system" instance="1" index="7" label="Report" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
<Value type="list" genre="system" instance="1" index="8" label="Test Status" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
<Item label="Failed" value="0" />
<Item label="Success" value="1" />
<Item label="In Progress" value="2" />
</Value>
<Value type="short" genre="system" instance="1" index="9" label="Acked Frames" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
</CommandClass>
<CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="5" innif="true">
<Instance index="1" />
<Associations num_groups="3">
<Group index="1" max_associations="5" label="Lifeline" auto="true" multiInstance="true">
<Node id="1" />
</Group>
<Group index="2" max_associations="5" label="Basic Set" auto="false" multiInstance="true" />
<Group index="3" max_associations="5" label="Basic Set" auto="false" multiInstance="true" />
</Associations>
</CommandClass>
<CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="5" innif="true">
<Instance index="1" />
<Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3" />
<Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="4.34" />
<Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="5.32" />
</CommandClass>
<CommandClass id="142" name="COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION" version="1" request_flags="5" innif="true">
<Instance index="1" />
<Associations num_groups="3">
<Group index="1" max_associations="5" label="Lifeline" auto="true" multiInstance="true">
<Node id="1" />
</Group>
<Group index="2" max_associations="5" label="Basic Set" auto="false" multiInstance="true" />
<Group index="3" max_associations="5" label="Basic Set" auto="false" multiInstance="true" />
</Associations>
</CommandClass>
</CommandClasses>
</Node>
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
Traceback (if applicable):
Additional information:
All components are new, Z-Wave stick and dimmer switches bought in January 2019, sourced both from Amazon and Lowe's.
Open Z-Wave config for this device can be found here:
https://github.com/OpenZWave/open-zwave/blob/master/config/ge/26933-motion-dimmer.xml
Issue still exists in 0.86.3.
I'm seeing this in 0.86.4 and have been seeing it since I added these switches. I think this is also causing my issues with my burglar always saying at value 254 (sleep) and them not updating properly as there are multiple entities.
Issue still exists in 0.87.0
I just wanted to +1 this...I have had this issue with GE Z-Wave motion switches and dimmers since the beginning (1.5 years ago or so). This happened on my previous install that included MQTT, and on a new install that does not have MQTT.
+1 Just commenting to say that I am experiencing this issue as well. Would be great if there was a workaround for duplicate switches.
+1 I have the same issue. I would love to have a solution for the duplicate switches/sensors as well as the lack of updates on the switch status. When you use the buttons to turn on/off in HA, the light will turn off but the switches stay on usually at a partial dim setting.
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍
This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
So.....this was closed, and I assume nobody ever figured anything out? I am also having issues with these devices showing up as multiples of the same node in HA. Would really love to resolve the issue.
still happens in 0.97.2
If I recall correctly, this was expected behavior. The second instance of
the switch represents z-wave switch changes, and the primary instance is
_any_ changes. You can use this to determine if a change to the switch
state was initiated by a person or by an automation. I have not
investigated if this works properly.
On Mon, Aug 26, 2019 at 11:17 PM Andrew Lambeth notifications@github.com
wrote:
still happens in 0.97.2
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/issues/20495?email_source=notifications&email_token=ABELXA6YQ5CM5IXMNKJLOBTQGSTDXA5CNFSM4GSSCNBKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5GNPZI#issuecomment-525129701,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABELXAZFL6MKBX2PLEXQ2X3QGSTDXANCNFSM4GSSCNBA
.
That seems...unlikely? I mean....I've got a whole lot of zwave switches, and these are the only ones that do that. All of them are able to tell if they were controlled locally or via RF....why would these particular switches require an entirely different entity for that?
I don't know GE/JASCO's motivations. I have about 15 of these, and about
an equal number of Leviton switches. I agree these work differently than
Leviton switches. Looking at the history for several of these duplicate
switch instances, I can 100% confirm that the histories are NOT identical
between the two instances of the same switch (meaning these are not just a
shadow of some kind). Beyond that, I can confirm that value_instance 2
appears to correlate with automations, and value_instance 1 appears to
correlate with the actual relay state. If there is another explanation of
the purpose or meaning of these that correlates with observed data, I would
definitely be interested.
On Wed, Aug 28, 2019 at 12:53 PM Rocketman69 notifications@github.com
wrote:
That seems...unlikely? I mean....I've got a whole lot of zwave switches,
and these are the only ones that do that. All of them are able to tell if
they were controlled locally or via RF....why would these particular
switches require an entirely different entity for that?—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/issues/20495?email_source=notifications&email_token=ABELXA3UXJ36WFWZCCMQAJLQG23TLA5CNFSM4GSSCNBKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5L6DRI#issuecomment-525853125,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABELXAZGEUVI6DRYF6LQ5CLQG23TLANCNFSM4GSSCNBA
.
This is still an issue with HA 106
I'm even seeing issues where the zwave entity is created but no child entities for GE switches :. I'm unable to remove or repair them either.
Still a issue for me 4/27
This is not an issue. This is what is reported from the device.
Check this: https://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/740
So what happened is when OpenZWave sees endpoint 0, it creates SWITCH_MULTILEVEL instance 1 and NOTIFICATION instance 1. When it sees endpoint 1, it creates SWITCH_MULTILEVEL instance 2 and when it sees endpoint 2, it creates NOTIFICATION instance 2. That's where the duplicates are from.
Now, they should behave the same as the document says. However by openzwave default, only instance 1 is in the association group 1 (Members ["1.0"], if your controller node id is 1). So that's why you only see updates from the first instance but not the second. (If, by any chance, your instance 2 is in the association group 1 ("1.1"), you see the opposite). (Here I'm also not very clear why 1.1 is instance 2 but not endpoint 1 or 2, but that's the basic idea). If you want them both updated, just add "1.0" and "1.1" both to the association group.
So, for me, my solution for the duplication is to simply disable the entities from the second instance (and make sure only "1.0" is in the association group 1)
Most helpful comment
+1 I have the same issue. I would love to have a solution for the duplicate switches/sensors as well as the lack of updates on the switch status. When you use the buttons to turn on/off in HA, the light will turn off but the switches stay on usually at a partial dim setting.