mak-gitdev / HA_enoceanmqtt

Home Assistant wrapper for enocean-mqtt (https://github.com/embyt/enocean-mqtt)
GNU General Public License v3.0
54 stars 14 forks source link

Cannot Integrate Winkhaus FM.V #72

Closed Framstag closed 9 months ago

Framstag commented 1 year ago

The problem

I cannot integrate the Winkaus FM.V. See https://www.manualslib.de/manual/184560/Winkhaus-Funkkontakt-Fm-V.html?page=2#manual for specification details

Steps:

2023-07-08 11:00:59,435 INFO: Device enoceanmqtt/fenster/BadUnten (UID: A51401_059565C9_NONE / EEP: A5-14-01) updated on device database 2023-07-08 11:00:59,506 INFO: Sending packet 2023-07-08 11:00:59,608 INFO: got response packet: OK 2023-07-08 11:01:00,441 INFO: Waiting for device base ID 2023-07-08 11:01:27,842 INFO: learn request not emitted to mqtt 2023-07-08 11:01:27,845 INFO: sending: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x50', '0x8', '0x69', '0xf0', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 11:01:27,943 INFO: Sending packet 2023-07-08 11:01:28,046 INFO: got response packet: OK 2023-07-08 11:01:40,192 WARNING: message not interpretable: enoceanmqtt/fenster/BadUnten 2023-07-08 11:01:40,195 WARNING: sending only default data as answer to enoceanmqtt/fenster/BadUnten 2023-07-08 11:01:40,197 INFO: sending: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 11:01:40,293 INFO: Sending packet 2023-07-08 11:01:40,396 INFO: got response packet: OK 2023-07-08 11:01:41,056 WARNING: message not interpretable: enoceanmqtt/fenster/BadUnten 2023-07-08 11:01:41,058 WARNING: sending only default data as answer to enoceanmqtt/fenster/BadUnten 2023-07-08 11:01:41,064 INFO: sending: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 11:01:41,164 INFO: Sending packet 2023-07-08 11:01:41,266 INFO: got response packet: OK 2023-07-08 11:01:45,134 WARNING: message not interpretable: enoceanmqtt/fenster/BadUnten 2023-07-08 11:01:45,136 WARNING: sending only default data as answer to enoceanmqtt/fenster/BadUnten 2023-07-08 11:01:45,137 INFO: sending: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 11:01:45,235 INFO: Sending packet 2023-07-08 11:01:45,337 INFO: got response packet: OK

If I switch type by pressing learn button longer than 3 seconds on the device (and switching type in config), I just get an error in the log that the incoming message cannot be parsed/understood.

UI shows

image

I'm (of course interested but also) willing to help with getting it to run,e.g. by increasing logs and similar. I'm experience developer but have in deep knowledge of enocean protocol, Home Assistant (Yet ;-)) in-deep configuration of this Add-On. So you would have to give me detailed advice.

Speaking german and english

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

0.1.26

What was the last working version of HA_enoceanmqtt?

No response

What type of Home Assitant installation are you running?

Home Assistant OS

Anything in the logs that might be useful to solve the issue? (Strongly recommended if applicable)

Se above

Additional information

See above

Framstag commented 1 year ago

Btw.: Two Nodeon climate sensors are working flawlessly. So I assume it is not a general setup problem.

mak-gitdev commented 1 year ago

Hi @Framstag,

From the device manual, my understanding is that:

So if you want to use it as a A5-14-01, press the learn button accordingly. Otherwise, you could end up with message like

message not interpretable: enoceanmqtt/fenster/BadUnten

Because both EEPs have different data structures.

Also from your log, it looks like you are only generating learn packets from your device. Try generating normal messages by activating/deactivating the contact. Also do not forget to turn off the learn button after pairing is done.

For me, it seems that everything is working OK when you learn it as A5-14-01 but you are just not generating "normal" messages so the contact and battery level are unknown from HA.

Could you please report the log with both log_packets and debug set to true in the addon configuration ? So I can have better understanding of what is happening and confirm my assumption.

Framstag commented 1 year ago

OK, I removed the entry via UI. Turned on debug and package logging and restarted the add-on.

I switched on learn and pressed the button short (green light flashes). I do miss though the log, that learning mode has started.

I do not see any package in the log though (learn really on?).

I then opened/closed th window a few time (learn still on, grrrr)

2023-07-08 20:13:38,505 DEBUG: 05:95:65:C9->FF:FF:FF:FF (-80 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x8', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x50', '0x0'] OrderedDict() 2023-07-08 20:13:38,506 INFO: received: 05:95:65:C9->FF:FF:FF:FF (-80 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x8', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x50', '0x0'] OrderedDict() 2023-07-08 20:13:38,509 WARNING: message not interpretable: enoceanmqtt/fenster/BadUnten 2023-07-08 20:13:38,511 WARNING: sending only default data as answer to enoceanmqtt/fenster/BadUnten 2023-07-08 20:13:38,512 INFO: sending: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:13:38,608 INFO: Sending packet 2023-07-08 20:13:38,608 DEBUG: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:13:38,710 DEBUG: 0x02 ['0x0'] [] OrderedDict() 2023-07-08 20:13:38,710 INFO: got response packet: OK 2023-07-08 20:13:42,609 DEBUG: 05:95:65:C9->FF:FF:FF:FF (-83 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x8', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x53', '0x0'] OrderedDict() 2023-07-08 20:13:42,611 INFO: received: 05:95:65:C9->FF:FF:FF:FF (-83 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x8', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x53', '0x0'] OrderedDict() 2023-07-08 20:13:42,613 WARNING: message not interpretable: enoceanmqtt/fenster/BadUnten 2023-07-08 20:13:42,616 WARNING: sending only default data as answer to enoceanmqtt/fenster/BadUnten 2023-07-08 20:13:42,616 INFO: sending: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:13:42,713 INFO: Sending packet 2023-07-08 20:13:42,713 DEBUG: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:13:42,816 DEBUG: 0x02 ['0x0'] [] OrderedDict() 2023-07-08 20:13:42,817 INFO: got response packet: OK 2023-07-08 20:13:46,385 DEBUG: 05:95:65:C9->FF:FF:FF:FF (-82 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x8', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x52', '0x0'] OrderedDict() 2023-07-08 20:13:46,386 INFO: received: 05:95:65:C9->FF:FF:FF:FF (-82 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x8', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x52', '0x0'] OrderedDict() 2023-07-08 20:13:46,388 WARNING: message not interpretable: enoceanmqtt/fenster/BadUnten 2023-07-08 20:13:46,390 WARNING: sending only default data as answer to enoceanmqtt/fenster/BadUnten 2023-07-08 20:13:46,391 INFO: sending: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:13:46,488 INFO: Sending packet 2023-07-08 20:13:46,489 DEBUG: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:13:46,591 DEBUG: 0x02 ['0x0'] [] OrderedDict() 2023-07-08 20:13:46,591 INFO: got response packet: OK 2023-07-08 20:13:47,760 DEBUG: 05:95:65:C9->FF:FF:FF:FF (-80 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x9', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x50', '0x0'] OrderedDict() 2023-07-08 20:13:47,761 INFO: received: 05:95:65:C9->FF:FF:FF:FF (-80 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x9', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x50', '0x0'] OrderedDict() 2023-07-08 20:13:47,763 WARNING: message not interpretable: enoceanmqtt/fenster/BadUnten 2023-07-08 20:13:47,764 WARNING: sending only default data as answer to enoceanmqtt/fenster/BadUnten 2023-07-08 20:13:47,765 INFO: sending: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:13:47,863 INFO: Sending packet 2023-07-08 20:13:47,863 DEBUG: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:13:47,964 DEBUG: 0x02 ['0x0'] [] OrderedDict() 2023-07-08 20:13:47,965 INFO: got response packet: OK 2023-07-08 20:13:50,672 DEBUG: 05:95:65:C9->FF:FF:FF:FF (-80 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x8', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x50', '0x0'] OrderedDict() 2023-07-08 20:13:50,673 INFO: received: 05:95:65:C9->FF:FF:FF:FF (-80 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x8', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x50', '0x0'] OrderedDict() 2023-07-08 20:13:50,676 WARNING: message not interpretable: enoceanmqtt/fenster/BadUnten 2023-07-08 20:13:50,677 WARNING: sending only default data as answer to enoceanmqtt/fenster/BadUnten 2023-07-08 20:13:50,678 INFO: sending: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:13:50,775 INFO: Sending packet 2023-07-08 20:13:50,776 DEBUG: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:13:50,878 DEBUG: 0x02 ['0x0'] [] OrderedDict() 2023-07-08 20:13:50,878 INFO: got response packet: OK

(some logs in beetween regarding PING...)

After that I switched off "learn" and opened/closed the window again:

2023-07-08 20:15:19,572 DEBUG: Received PUBLISH (d0, q0, r0, m0), 'enoceanmqtt/system/learn/req', ... (3 bytes) 2023-07-08 20:15:19,573 DEBUG: Sending PUBLISH (d0, q0, r1, m33), 'b'enoceanmqtt/system/learn'', ... (3 bytes) 2023-07-08 20:15:45,388 DEBUG: 05:95:65:C9->FF:FF:FF:FF (-82 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x9', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x52', '0x0'] OrderedDict() 2023-07-08 20:15:45,389 INFO: received: 05:95:65:C9->FF:FF:FF:FF (-82 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x9', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x52', '0x0'] OrderedDict() 2023-07-08 20:15:45,391 WARNING: message not interpretable: enoceanmqtt/fenster/BadUnten 2023-07-08 20:15:45,393 WARNING: sending only default data as answer to enoceanmqtt/fenster/BadUnten 2023-07-08 20:15:45,394 INFO: sending: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:15:45,491 INFO: Sending packet 2023-07-08 20:15:45,492 DEBUG: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:15:45,593 DEBUG: 0x02 ['0x0'] [] OrderedDict() 2023-07-08 20:15:45,594 INFO: got response packet: OK 2023-07-08 20:15:49,147 DEBUG: 05:95:65:C9->FF:FF:FF:FF (-83 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x8', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x53', '0x0'] OrderedDict() 2023-07-08 20:15:49,148 INFO: received: 05:95:65:C9->FF:FF:FF:FF (-83 dBm): 0x01 ['0xa5', '0x96', '0x0', '0x0', '0x8', '0x5', '0x95', '0x65', '0xc9', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x53', '0x0'] OrderedDict() 2023-07-08 20:15:49,151 WARNING: message not interpretable: enoceanmqtt/fenster/BadUnten 2023-07-08 20:15:49,153 WARNING: sending only default data as answer to enoceanmqtt/fenster/BadUnten 2023-07-08 20:15:49,153 INFO: sending: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:15:49,250 INFO: Sending packet 2023-07-08 20:15:49,251 DEBUG: FF:82:4D:80->05:95:65:C9 (-255 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x8', '0xff', '0x82', '0x4d', '0x80', '0x0'] ['0x3', '0x5', '0x95', '0x65', '0xc9', '0xff', '0x0'] OrderedDict() 2023-07-08 20:15:49,353 DEBUG: 0x02 ['0x0'] [] OrderedDict() 2023-07-08 20:15:49,354 INFO: got response packet: OK 2023-07-08 20:15:52,612 DEBUG: Sending PINGREQ 2023-07-08 20:15:52,616 DEBUG: Received PINGRESP

mak-gitdev commented 1 year ago

Could you share your device configuration please ?

I also think that it is not required to learn this device before using it with HA. I mean you don't have to activate the learn switch in HA. You just have to press the device learn button to select which EEP you want to use and it should work.

Framstag commented 1 year ago

enocean.devices:

[klimasensor/Bruno] address = 0x05193B36 rorg = 0xA5 func = 0x04 type = 0x03

[klimasensor/Carla] address = 0x051947BE rorg = 0xA5 func = 0x04 type = 0x03

[fenster/BadUnten] address = 0x059565C9 rorg = 0xA5 func = 0x14 type = 0x01

The last one is the one we are talking about

image

Framstag commented 1 year ago

image

mak-gitdev commented 1 year ago

Ok,

There is a mistake in the default mapping.yaml file for A5-14-01 and A5-14-0A (Bad copy/paste :sweat_smile:) You can wait for the "official" fix or simply use a custom mapping.yaml file. For the custom mapping.yaml file, simply replace at lines [2532-2533] and [2560-2561]:

            direction: "1"
            answer: "1"

By

            direction: ""
            answer: ""

See this wiki for details on how to use a custom mapping.yaml file.

Framstag commented 1 year ago

Did it :-)

image

Looks good. now (though voltage sounds like battery status, how would 3.0 be helpful. for this..). Nevertheless status is now fine. Thank you very much, this was smooth, easy and helpful. Good job! You can close the issue.

mak-gitdev commented 1 year ago

Perfect ! Thanks for your help.

Voltage is the battery voltage. The unit should be Volt.

I will let the issue open for the moment. I will close it once the official fix is pushed.

mak-gitdev commented 11 months ago

https://github.com/users/mak-gitdev/projects/1?pane=issue&itemId=35565955

mak-gitdev commented 9 months ago

Fixed by commit 0d0a4cd