home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.64k stars 30.79k forks source link

POPP 012501 Strike Lock Control device - Switch or lock entity missing #11938

Closed gcosta74 closed 6 years ago

gcosta74 commented 6 years ago

Home Assistant release (hass --version): 0.61.1

Python release (python3 --version): 3.6

Component/platform: z-wave

Description of problem: As shown in the following link the POP 012501 Strike Lock Control device will not be detected correctly inside python-openzwave:

https://community.home-assistant.io/t/need-help-fibaro-fgpb101-button-popp-012501-strike/7312

What is missing in the on/off-switch or door-lock/unlock-entity. screenshot

At the moment I don't know whether it is a python-openzwave or a home-assistant issue, as it seems that with open-wave and ozwcp the device functions correctly (see also screenshot inside the above mentioned link)

a343f1358afb95d7b75c39da4ca9769e6bf151a6

a41c92a03f62af962bdddeb0d3328753b8cc84f4_1_690x359

I have attached the log-file after adding/pairing the node to open-zwave via home-assistant

install_popp_lock.txt

gcosta74 commented 6 years ago

Just wanted to add the zwcfg.xml entry from open-wave. I shows two missing entities that should normally be in HA:

  1. COMMAND_CLASS_SENSOR_BINARY

    • This is the sensor inside the device for dry input configuration
  2. COMMAND_CLASS_DOOR_LOCK

    • This should be the door_lock entity to trigger the strike lock

zwcfg.xml.txt

jolaca01 commented 6 years ago

Same problem here, just set it up on HA and everything seemed fine BUT the switch entity is not appearing.

jolaca01 commented 6 years ago

What I've checked so far is that you can change from the zwave menus, parameters 1 and 2 but not parameter 0: "Automatically switch OFF after (0 to 127)" if you try to change it, it goes back to its last value ¿?. Just saying, in case this could be related or useful to solve our issue. Thanks.

jolaca01 commented 6 years ago

This is from Popp tech support. They have told me:

Have you tried to “switch” the device via the DoorLock CC? This class must be supported by the gateway. You can only control the StrikeLock via this CC.

So, it seems that they have confirmed that the COMMAND CLASS DOOR LOCK is the IMPORTANT ONE to get it to work.

gcosta74 commented 6 years ago

Attached zwcfg-file shows that the COMMAND CLASS DOOR LOCK is already recognized by open-zwave. Nevertheless it does not show up in HA. Other Home-Automation-Solutions like OpenHAB or FHEM which relies also on open-zwave do not have that problem. It must be an HA or a python-openzwave issue.

jolaca01 commented 6 years ago

I can't see your file. However I've checked mine and I don't have inside it that command class¿?

gcosta74 commented 6 years ago

zwcfg.xml.txt

<CommandClass id="98" name="COMMAND_CLASS_DOOR_LOCK" version="1" request_flags="4" issecured="true" innif="true" m_timeoutsupported="2" m_insidehandlemode="0" m_outsidehandlemode="0" m_timeoutmins="254" m_timeoutsecs="3">
                <Instance index="1" />
                <Value type="bool" genre="user" instance="1" index="0" label="Locked" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
                <Value type="list" genre="user" instance="1" index="1" label="Locked (Advanced)" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
                    <Item label="Unsecure" value="0" />
                    <Item label="Unsecured with Timeout" value="1" />
                    <Item label="Inside Handle Unsecured" value="2" />
                    <Item label="Inside Handle Unsecured with Timeout" value="3" />
                    <Item label="Outside Handle Unsecured" value="4" />
                    <Item label="Outside Handle Unsecured with Timeout" value="5" />
                    <Item label="Secured" value="255" />
                    <Item label="Invalid" value="255" />
                </Value>
                <Value type="list" genre="system" instance="1" index="2" label="Timeout Mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
                    <Item label="No Timeout" value="1" />
                    <Item label="Secure Lock after Timeout" value="2" />
                </Value>
                <Value type="int" genre="system" instance="1" index="3" label="Timeout Minutes" units="Mins" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="254" />
                <Value type="int" genre="system" instance="1" index="4" label="Timeout Seconds" units="Secs" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="3" />
                <Value type="byte" genre="system" instance="1" index="5" label="Outside Handle Control" 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="1" index="6" label="Inside Handle Control" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
            </CommandClass>
gcosta74 commented 6 years ago

I can't see you file. However I've checked mine and I don't have inside it that command class¿?

Did you restart HA ? The zwcfg-file will be written/actualized on restart or stop of HA

jolaca01 commented 6 years ago

You are right. I do have it . I was checking an older zwcfg-file. This is mine:

<CommandClass id="98" name="COMMAND_CLASS_DOOR_LOCK" version="1" request_flags="4" issecured="true" innif="true" m_timeoutsupported="2" m_insidehandlemode="0" m_outsidehandlemode="0" m_timeoutmins="0" m_timeoutsecs="3">
                <Instance index="1" />
                <Value type="bool" genre="user" instance="1" index="0" label="Locked" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="True" />
                <Value type="list" genre="user" instance="1" index="1" label="Locked (Advanced)" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
                    <Item label="Unsecure" value="0" />
                    <Item label="Unsecured with Timeout" value="1" />
                    <Item label="Inside Handle Unsecured" value="2" />
                    <Item label="Inside Handle Unsecured with Timeout" value="3" />
                    <Item label="Outside Handle Unsecured" value="4" />
                    <Item label="Outside Handle Unsecured with Timeout" value="5" />
                    <Item label="Secured" value="255" />
                    <Item label="Invalid" value="255" />
                </Value>
                <Value type="list" genre="system" instance="1" index="2" label="Timeout Mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
                    <Item label="No Timeout" value="1" />
                    <Item label="Secure Lock after Timeout" value="2" />
                </Value>
                <Value type="int" genre="system" instance="1" index="3" label="Timeout Minutes" units="Mins" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
                <Value type="int" genre="system" instance="1" index="4" label="Timeout Seconds" units="Secs" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="3" />
                <Value type="byte" genre="system" instance="1" index="5" label="Outside Handle Control" 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="1" index="6" label="Inside Handle Control" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
            </CommandClass>
jolaca01 commented 6 years ago

Even if this cannot be solved now, I would appreciate if any dev could orientate us on how difficult can this be to get solved and give us an aprox. time frame for solving it. Thus, we would know if we'd better return the item and look for an alternative zwave switch or if it's easy (as the crucial command_class already exists in open z-wave) wait for it to be released. Although there are several open github issues with the Popp strike lock zwave, it doesn't seem to get much interest, maybe this is because it's a european zwave module and less bought in the States, I don't know but, as the user plonka2000 stated, he's been more than a year following HA community and github threads without getting the issue solved in HA, despite it works flawlessly with other hubs. Thanks for your answer!

jolaca01 commented 6 years ago

We have had confirmed by Python_openzwave devs that this is not a problem of it as they have checked and verified that the command class COMMAND_CLASS_DOOR_LOCK for our case is properly recognized in python_openzwave.

They have told us to ask Home Assistant developers to solve the problem. So please, we would appreciate if you could take a look at it, thank you. Here is the link to the above confirmation of python_openzwave not being the problem: https://github.com/OpenZWave/python-openzwave/issues/113

gcosta74 commented 6 years ago

I can only agree with jolaca01 and advice the HA-Developers to look and the information that the python open-zwave developers gave on the opened issue on github https://github.com/OpenZWave/python-openzwave/issues/113

It looks like the problem is in HA. I’m having also other problems with HA in combination of ZWAVE components (Zipato-lights, Fibaro-relay switch) so would appreciate if some efforts could be taken to stabilize the ZWave component in HA.

frosenb commented 6 years ago

Having the same problem, hopefully someone can have a look at this soon,

turbokongen commented 6 years ago

I do not own this device myself, but I think I might have a fix for this. Could someone try the following: https://github.com/home-assistant/home-assistant/compare/dev...turbokongen:zwave-lock?expand=1 It is adding const.SPECIFIC_TYPE_SECURE_LOCKBOX to the list of devices discovered by the lock component.

frosenb commented 6 years ago

@turbokongen tried copying discovery_schemas.py and const.py into /config/custom_components/zwave/, but not sure what to expect or i this even works.. No new switch etc. showing i hass.io..

turbokongen commented 6 years ago

I'm not sure if that will work. I think you might have to copy the whole content of that directory, and modify that file. But I'm not sure how the custom_components directory works. The result should be a lock entity appearing.

frosenb commented 6 years ago

will try and report.

gcosta74 commented 6 years ago

Just tested it.. Works like a charm. Lock Entity appears correctly and can be triggered as configured by the device.

The only thing that is missing is the binary sensor. The device has a binary sensor where it can be used to monitor if the door is open or not.

If you close the binary sensor you can see in the zwave-log that is working correctly

2018-03-05 23:25:29.919 Info, Node024, Received SensorBinary report: Sensor:10 State=On 2018-03-05 23:25:29.919 Detail, Node024, Refreshed Value: old value=false, new value=true, type=bool 2018-03-05 23:25:29.919 Detail, Node024, Changes to this value are not verified 2018-03-05 23:25:29.920 Detail, Node024, Notification: ValueChanged

Any ideas on that ?

turbokongen commented 6 years ago

@gcosta74 If you use the same link as provided before, I made an additional change for the binary sensor. It is adding Entry control devices to be discovered with binary_sensor platform.

gcosta74 commented 6 years ago

Perfect, works great many thanx.

For me the issue can be marked as closed once the modification are pulled.

frosenb commented 6 years ago

Updated to 0.65.2 but still see no Lock Entity, but the sensor is showing.