jheling / freeathome

Free@Home component for Home Assistant
112 stars 41 forks source link

Electronic Door Opener (via Panel) missing #36

Closed tbloth closed 4 years ago

tbloth commented 4 years ago

Good morning!

First of all: thanks for the great implementation. This should become official for HA, in my eyes.

So - I am done with getting almost everything into my HA setup from my Free@Home setup, running v2.4.0. Nevertheless, I am missing the entity for the electronic door opener we have installed at home. Through free@home I can see it is listed as an entity of the 7" panel. Is there any way getting access to it?

Thanks!

jheling commented 4 years ago

You can run the get-master-message.py in a standalone python session. That wil generate an xml with all the devices on your system. The 7 inch panel will probably also appear in this file. Maybe we can figure out what triggers the electronic door opener.

tbloth commented 4 years ago

Thanks. Would love to do so, but the HassOS in my case has no python installed. The install option I was choosing is the classical one via image.

jheling commented 4 years ago

That's no problem. You can install python on a pc and run get-master-message.py. This program has no dependencies on Home Assistant or its environment, only on the free@home library itself.

tbloth commented 4 years ago

Okay, running it on a Mac and I made progress on setting up the environment. Still, in the end it fails with ...

from custom_components.libnacl_patch.version import __version__

ModuleNotFoundError: No module named 'custom_components'

jheling commented 4 years ago

You can remove the libnacl_patch. A while ago it was necessary for a quick fix. Now the new functions have been added to the main branch of libnacl. So this is obsolete. I have also removed the libnacl from the repository.

tbloth commented 4 years ago

Not so much better File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/libnacl/init.py", line 85, in nacl = _get_nacl() File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/libnacl/init.py", line 47, in _get_nacl raise OSError(msg) OSError: Could not locate nacl lib, searched for libsodium

jheling commented 4 years ago

Youre allmost there. Libnacl needs a separate library written in c, which does all the crypto computations. http://macappstore.org/libsodium/

tbloth commented 4 years ago

So, the 7" panel appears at: INFO ABB673953C74 FFF1 Free@Hometouch 7" 1038

tbloth commented 4 years ago

And the script loops (forever) with Traceback (most recent call last): File "/usr/lib/python3/dist-packages/slixmpp/xmlstream/xmlstream.py", line 735, in event handler_callback(data) File "get-master-message.py", line 151, in pub_sub_callback xmessage = self.saslhandler.crypto.decryptPubSub(args[0]) File "/home/parallels/freeathome/freeathome/fah/crypto.py", line 200, in decryptPubSub pubSubMessage = libnacl.crypto_secretbox_open_easy(data_bytes[libnacl.crypto_box_NONCEBYTES:], nonce, AttributeError: module 'libnacl' has no attribute 'crypto_secretbox_open_easy' ERROR module 'libnacl' has no attribute 'crypto_secretbox_open_easy' Traceback (most recent call last):

jheling commented 4 years ago

It looks like you have an older version of libnacl . I think it should be 1.7 or higher. You should find the string 'crypto_secretbox_open_easy' in the init.py of libnacl.

tbloth commented 4 years ago

It is Ubuntu 18.04 (recent updates). And it is 1.6 indeed. Let's see

tbloth commented 4 years ago

So, 1.7 installed. But how does it help? The 7" inch panel entity exists, not so much the door opener. Any good ideas?

jheling commented 4 years ago

Can you only open the door with the 7" inch panel? Or can you also use the free@home app? Is the lock itself wired to something? Or is it wireless?

tbloth commented 4 years ago

Hello! Nope, I can use it also from the App. The lock is not wireless. Could be it is physically connected to the panel only, instead of connected to the bus (as all other devices). Wouldn't make a lot of sense, but who knows. Nevertheless, in the free@home app the lock is located underneath the panel.

miezie commented 4 years ago

Would surprise me that it is installed in the wrong way... it makes more sense that the lock is a seperate device in your sysap. That would also be the way to control it via third parties. it appears in the app so please check the output from the ap and all the devices with the listing script.

jheling commented 4 years ago

When I was looking at the free@home interface of henry spanka for homebridge, i did see that the electronic door opener is possible. https://github.com/henry-spanka/homebridge-buschjaeger

dprauser commented 4 years ago

Hi jheling, I am following your work for quite some time and use the integration with all my F@H lights, covers, thermostats and so far it works great - Thanks a lot for all the effort!!! I actually even replaced the original app on my phone as well as all previously planned automations within F@H and only use HA with some additional sensors and devices hooked up now.

When it comes to the door opener, this is in my case based on the Busch_Jaeger (ABB) Welcome System. Within the App/Web Interface of F@H I can also use them to trigger the door locks. Maybe the reason for not seeing it right now is that it is not directly integrated in F@H but a separate System which only gets hooked in by F@H?

Let me know if I can run some specific tests to help gather the data you need

jheling commented 4 years ago

Your not seeing it because this device id is not used in the code. I'll try to add the new device id 1038 as a doorlock in home assistant.

jheling commented 4 years ago

@dprauser Can you do a run of the get-master-message.py? This wil generate a mastermessage.xml. Also you will see the messages that are generated on the sysap bus, if you unlock and lock you should see these messages appearking. This mastermessage.xml and a unlock message and a lock message will help me for completing this device. You can reach me at helingj at google mail.

jheling commented 4 years ago

With help from dprauser I have added lock functionality. @tbloth; i have updated the repository.

tbloth commented 4 years ago

oh coool! I'm running the update right now! ... and right away it works like a charm! Fantastic!