Coder Social home page Coder Social logo

mak-gitdev / ha_enoceanmqtt Goto Github PK

View Code? Open in Web Editor NEW
55.0 12.0 14.0 435 KB

Home Assistant wrapper for enocean-mqtt (https://github.com/embyt/enocean-mqtt)

License: GNU General Public License v3.0

Python 88.84% Shell 8.62% Dockerfile 2.54%
enocean hassio hassio-addons hassio-repository home-assistant homeassistant home-automation mqtt

ha_enoceanmqtt's Introduction

Home Assistant Overlay for enoceanmqtt

This is a Home Assistant overlay for enoceanmqtt.
It allows to easily have access to EnOcean devices in Home Assistant through MQTT.
It is based on MQTT discovery from the Home Assistant MQTT integration.

Diagram



EnOceanMQTT is the core of HA_enoceanmqtt. It manages the EnOcean protocol through the USB300 dongle thanks to the Python EnOcean library.

The Python EnOcean library is based on an EEP.xml file which contains the definition of the supported EnOcean EEPs.
As for EnOceanMQTT, it needs a configuration file in which are indicated among other things the MQTT parameters as well as the EnOcean devices to manage.
The Home Assistant overlay is in charge of creating automatically and managing MQTT devices in Home Assistant. It maps an EnOcean device to one or more MQTT devices in HA thanks to a mapping file.

Standalone Installation

HA_enoceanmqtt can be installed as a standard python application on a Linux system.

Install Supervised



See Standalone installation for more details.

Docker Installation

HA_enoceanmqtt is also available as a docker image.

Install Docker



This installation will mainly suits users of Home Assistant container.
See Docker Installation for more details.

Home Assistant Addon Installation

HA_enoceanmqtt can also be installed as a Home Assistant addon.

Install Addon



This installation suits all Home Assistant installations with Supervisor.
See Home Assistant Addon Installation for more details.

Usage

Refer to Usage for more details.

Supported Devices

Refer to Supported devices for a list of supported devices.

For devices not yet supported, only the RSSI sensor is created in Home Assistant.

Note: If your device is not supported yet, please feel free to ask me for adding your device through the discussion panel. Or feel free to add it to mapping.yaml and make a pull request (see Contributing for more details).

Additional Information

The Wiki page is filled with useful information.
A discussion panel is also available. Do not hesitate to read it and use it.
You can also take a closer look at the work in progress on this page.

ha_enoceanmqtt's People

Contributors

2m avatar juame avatar mak-gitdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ha_enoceanmqtt's Issues

Issue with A5-20-01 RCU Temperature

The problem

Hi,
I'm currently testing my EnOcean devices with this AddOn. I've got a lot of EnOcean devices (mostly Eltakos) controlled by FHEM. I want to change to HA in the long run but the EnOcean support has been quiet poor until know. With this module the situation seems to improve, great work so far!
Anyway, here is the problem:
I am using Kieback&Peter MD15-FTL-HE actuators for my radiators which supports the EEP A5-20-01. Almost everything works perfectly but there is a problem with an RCU temperature provided to the actuator. This value is scaled twice before sent, resulting in unusable raw values. I analysed the issue and found the problem in the mapping.yaml file (lines 3666 and 3667):
{% elif entity is search('config_t_RCU$',ignorecase=True) %}
{% set ns.TMP = ((states(entity)|int(default=0))*255/40)|int %}

Here the temperature value of the RCU is scaled to the raw value which is supposed to be used by the actuator. However, since this data is used for an outgoing payload, the scaling will be done in the EnOcean library with the help of the EEP.xml file. The library takes the calculated raw value and scales it once again because it expects the temperature value and not the raw value. The correction to the problem is to do no scaling at all in line 3667:
{% set ns.TMP = (states(entity)|float(default=0)) %}

I also changed the type of the entity to "float" because the temperature is a floating point number, otherwise using "int" would truncate it losing some accuracy during a calculation (e.g. 19.75 would be changed into 19, which is a significant difference). The same applies to line 3665, the temperature value type should be "float" and only the result is an "int".

What type of installation are you running?

Standalone

What version of HA_enoceanmqtt has the issue?

0.1.28-1

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)

Here is the debug output and the sent message with the original mapping file. The RCU temperature of 21.0 °C ist scaled to a raw value of 121 (TMP). This value is once again scaled to 252 (i.e. about 0.4 °C) before being sent:

2023-12-26 15:27:58.273 DEBUG (MainThread) [homeassistant.components.mqtt.models] Rendering outgoing payload with variables {'value': 'PRESS', 'entity_id': 'button.e2m_hobbykeller_heizung_set_config', 'name': 'set_config', 'this': <template TemplateStateFromEntityId(button.e2m_hobbykeller_heizung_set_config)>} and Template<template=({% set ns = namespace() %} {% for entity in device_entities(device_id(entity_id)) %}
  {% if entity is search('config_valve_position$',ignorecase=True) %}
    {% set ns.valve_position = (states(entity)|int(default=0)) %}
  {% elif entity is search('config_t_setpoint$',ignorecase=True) %}
    {% set ns.temperature_setpoint = ((states(entity)|int(default=0))*255/40)|int %}
  {% elif entity is search('config_t_RCU$',ignorecase=True) %}
    {% set ns.TMP = ((states(entity)|int(default=0))*255/40)|int %}
  {% elif entity is search('config_RIN$',ignorecase=True) %}
    {% set ns.RIN = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_LFS$',ignorecase=True) %}
    {% set ns.LFS = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_VO$',ignorecase=True) %}
    {% set ns.VO = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_VC$',ignorecase=True) %}
    {% set ns.VC = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_SB$',ignorecase=True) %}
    {% set ns.SB = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_SPS$',ignorecase=True) %}
    {% set ns.SPS = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_SPN$',ignorecase=True) %}
    {% set ns.SPN = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_RCU$',ignorecase=True) %}
    {% set ns.RCU = iif(is_state(entity, "on"), 1, 0) %}
  {% endif %}
{% endfor %} {% set ns.SP = iif((ns.SPS == 1), ns.temperature_setpoint, ns.valve_position) %} {"SP":{{ns.SP}},"TMP":{{ns.TMP}},"RIN":{{ns.RIN}},"LFS":{{ns.LFS}},"VO":{{ns.VO}},"VC":{{ns.VC}},"SB":{{ns.SB}},"SPS":{{ns.SPS}},"SPN":{{ns.SPN}},"RCU":{{ns.RCU}}}) renders=74>
2023-12-26 15:27:58.296 DEBUG (MainThread) [homeassistant.components.mqtt.client] Transmitting message on enoceanmqtt/Hobbykeller/Heizung/req: '{"SP":127,"TMP":121,"RIN":0,"LFS":0,"VO":0,"VC":0,"SB":0,"SPS":1,"SPN":0,"RCU":0}', mid: 157, qos: 0

2023-12-26 15:32:23,423 INFO: sending: FF:A3:39:00->01:85:88:03 (-255 dBm): 
0x01 ['0xa5', '0x7f', '0xfc', '0x4', '0x8', '0xff', '0xa3', '0x39', '0x0', '0x0'] ['0x3', '0x1', '0x85', '0x88', '0x3', '0xff', '0x0'] 
OrderedDict([('SP', {'description': 'Valve Position or Temperature Setpoint', 'unit': '%', 'value': 127.0, 'raw_value': 127}), ('TMP', {'description': 'Temperature from RCU', 'unit': '°C', 'value': 0.47058823529411764, 'raw_value': 252}), ('RIN', {'description': 'Run init sequence', 'unit': '', 'value': 'false', 'raw_value': 0}), ('LFS', {'description': 'Lift set', 'unit': '', 'value': 'false', 'raw_value': 0}), ('VO', {'description': 'Valve open / maintenance', 'unit': '', 'value': 'false', 'raw_value': 0}), ('VC', {'description': 'Valve closed', 'unit': '', 'value': 'false', 'raw_value': 0}), ('SB', {'description': 'Summer bit, Reduction of energy consumption', 'unit': '', 'value': 'false', 'raw_value': 0}), ('SPS', {'description': 'Set point selection', 'unit': '', 'value': 'Temperature set point', 'raw_value': 1}), ('SPN', {'description': 'Set point inverse', 'unit': '', 'value': 'false', 'raw_value': 0}), ('RCU', {'description': 'Select function', 'unit': '', 'value': 'RCU', 'raw_value': 0})])


This is the output with the corrected mapping file, now the temperature is only scaled once, TMP is set to 21.0 (float) and this value is scaled to the correct value of 121 which is sent to the actuator:

2023-12-26 19:02:39.505 DEBUG (MainThread) [homeassistant.components.mqtt.models] Rendering outgoing payload with variables {'value': 'PRESS', 'entity_id': 'button.e2m_hobbykeller_heizung_set_config', 'name': 'set_config', 'this': <template TemplateStateFromEntityId(button.e2m_hobbykeller_heizung_set_config)>} and Template<template=({% set ns = namespace() %} {% for entity in device_entities(device_id(entity_id)) %}
  {% if entity is search('config_valve_position$',ignorecase=True) %}
    {% set ns.valve_position = (states(entity)|int(default=0)) %}
  {% elif entity is search('config_t_setpoint$',ignorecase=True) %}
    {% set ns.temperature_setpoint = ((states(entity)|float(default=0))*255/40)|int %}
  {% elif entity is search('config_t_RCU$',ignorecase=True) %}
    {% set ns.TMP = (states(entity)|float(default=0)) %}
  {% elif entity is search('config_RIN$',ignorecase=True) %}
    {% set ns.RIN = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_LFS$',ignorecase=True) %}
    {% set ns.LFS = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_VO$',ignorecase=True) %}
    {% set ns.VO = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_VC$',ignorecase=True) %}
    {% set ns.VC = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_SB$',ignorecase=True) %}
    {% set ns.SB = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_SPS$',ignorecase=True) %}
    {% set ns.SPS = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_SPN$',ignorecase=True) %}
    {% set ns.SPN = iif(is_state(entity, "on"), 1, 0) %}
  {% elif entity is search('config_RCU$',ignorecase=True) %}
    {% set ns.RCU = iif(is_state(entity, "on"), 1, 0) %}
  {% endif %}
{% endfor %} {% set ns.SP = iif((ns.SPS == 1), ns.temperature_setpoint, ns.valve_position) %} {"SP":{{ns.SP}},"TMP":{{ns.TMP}},"RIN":{{ns.RIN}},"LFS":{{ns.LFS}},"VO":{{ns.VO}},"VC":{{ns.VC}},"SB":{{ns.SB}},"SPS":{{ns.SPS}},"SPN":{{ns.SPN}},"RCU":{{ns.RCU}}}) renders=0>
2023-12-26 19:02:39.523 DEBUG (MainThread) [homeassistant.components.mqtt.client] Transmitting message on enoceanmqtt/Hobbykeller/Heizung/req: '{"SP":129,"TMP":21.0,"RIN":0,"LFS":0,"VO":0,"VC":0,"SB":0,"SPS":1,"SPN":0,"RCU":0}', mid: 6, qos: 0

2023-12-26 19:05:39,365 INFO: sending: FF:A3:39:00->01:85:88:03 (-255 dBm): 0x01 ['0xa5', '0x81', '0x79', '0x4', '0x8', '0xff', '0xa3', '0x39', '0x0', '0x0'] ['0x3', '0x1', '0x85', '0x88', '0x3', '0xff', '0x0'] OrderedDict([('SP', {'description': 'Valve Position or Temperature Setpoint', 'unit': '%', 'value': 129.0, 'raw_value': 129}), ('TMP', {'description': 'Temperature from RCU', 'unit': '°C', 'value': 21.019607843137255, 'raw_value': 121}), ('RIN', {'description': 'Run init sequence', 'unit': '', 'value': 'false', 'raw_value': 0}), ('LFS', {'description': 'Lift set', 'unit': '', 'value': 'false', 'raw_value': 0}), ('VO', {'description': 'Valve open / maintenance', 'unit': '', 'value': 'false', 'raw_value': 0}), ('VC', {'description': 'Valve closed', 'unit': '', 'value': 'false', 'raw_value': 0}), ('SB', {'description': 'Summer bit, Reduction of energy consumption', 'unit': '', 'value': 'false', 'raw_value': 0}), ('SPS', {'description': 'Set point selection', 'unit': '', 'value': 'Temperature set point', 'raw_value': 1}), ('SPN', {'description': 'Set point inverse', 'unit': '', 'value': 'false', 'raw_value': 0}), ('RCU', {'description': 'Select function', 'unit': '', 'value': 'RCU', 'raw_value': 0})])

Additional information

No response

unit 'None' which is not a valid unit for A5-07-01, A5-07-01 and A5-06-01

The problem

Hello @mak-gitdev,
I found in HA log file a warning that some devices use native unit of measurement 'None' which is not a valid unit for the device class ('voltage') it is using; expected one of ['mV', 'V'];
I'm not sure if this is a bug or a configuration issue - can you please support me to fix it?

1

What type of installation are you running?

Standalone

What version of HA_enoceanmqtt has the issue?

Current version: 0.1.28-1

What was the last working version of HA_enoceanmqtt?

No response

What type of Home Assitant installation are you running?

None

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

Logger: homeassistant.components.sensor
Source: components/sensor/__init__.py:714
Integration: Sensor (documentation, issues)
First occurred: 16:07:50 (5 occurrences)
Last logged: 16:07:50

Entity sensor.e2m_tracker_voltage (<class 'homeassistant.components.mqtt.sensor.MqttSensor'>) is using native unit of measurement 'None' which is not a valid unit for the device class ('voltage') it is using; expected one of ['mV', 'V']; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+mqtt%22
Entity sensor.e2m_sw1_helligkeitssensor_voltage (<class 'homeassistant.components.mqtt.sensor.MqttSensor'>) is using native unit of measurement 'None' which is not a valid unit for the device class ('voltage') it is using; expected one of ['mV', 'V']; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+mqtt%22
Entity sensor.e2m_sw2_helligkeitssensor_voltage (<class 'homeassistant.components.mqtt.sensor.MqttSensor'>) is using native unit of measurement 'None' which is not a valid unit for the device class ('voltage') it is using; expected one of ['mV', 'V']; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+mqtt%22
Entity sensor.e2m_w2_helligkeitssensor_voltage (<class 'homeassistant.components.mqtt.sensor.MqttSensor'>) is using native unit of measurement 'None' which is not a valid unit for the device class ('voltage') it is using; expected one of ['mV', 'V']; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+mqtt%22
Entity sensor.e2m_w1_helligkeitssensor_voltage (<class 'homeassistant.components.mqtt.sensor.MqttSensor'>) is using native unit of measurement 'None' which is not a valid unit for the device class ('voltage') it is using; expected one of ['mV', 'V']; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+mqtt%22

Additional information

No response

Installation as HA Addon failed.

The problem

I have installed Home Assistant in an VM via Proxmox. When I tried to install HA-encoceanmqtt via HA Addons it fails:
"The command '/bin/ash -o pipefail -c apk add --no-cache python3 py3-pip git && python3 -m venv /app/venv && . /app/venv/bin/activate && python3 -m pip install --upgrade pip && pip3 install pyyaml && pip3 install tinydb && pip3 install paho-mqtt==1.6.1 && pip3 install git+https://github.com/mak-gitdev/enocean.git && git clone -b master --single-branch --depth 1 https://github.com/embyt/enocean-mqtt.git && cd enocean-mqtt && python3 setup.py develop && cd .. && if [ "${BUILD_VERSION}" = "head" ]; then echo "Installing from repository head" && git clone -b develop --single-branch --depth 1 https://github.com/mak-gitdev/HA_enoceanmqtt.git ; else if [ -z "${BUILD_VERSION##..}" ]; then echo "Installing development version ${BUILD_VERSION%-}" ; else echo "Installing stable version ${BUILD_VERSION%-}" ; fi; wget -nv -O "/app.tar.gz" "https://github.com/mak-gitdev/HA_enoceanmqtt/archive/refs/tags/${BUILD_VERSION%-*}.tar.gz" && echo "Extracting /app.tar.gz" && tar xzf "/app.tar.gz" && rm "/app.tar.gz" && mv -v "HA_enoceanmqtt-${BUILD_VERSION%-}" HA_enoceanmqtt ; fi; cp -rf HA_enoceanmqtt/enoceanmqtt enocean-mqtt && rm -rf HA_enoceanmqtt' returned a non-zero code: 1"

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

0.1.28-2

What was the last working version of HA_enoceanmqtt?

none

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)

No response

Additional information

No response

Cannot use custom EEP.xml

The problem

As depicted here, HA_enoceanmqtt stops working as soon as I edit a custom EEP file into the configuration.

Perhaps it is because of my configuraition setup. I didn´t want to clutter up my config root directory, so I added a directory /config/enoceanmqtt to hold
device file, custom mappin and EEP and the log.

Insights so far:
a) adding a custom EEP.xml will cause E2M to stop right after the start.
There are no log entries.
b) adding a copy of the same custom EEP.xml to the /config directory (without removing the one in the subdirectory or changing the configuration) will cause E2M to run, but it will ignore the custom EEP.
c) the reason for this issue lies in the run.py script of HA_enoceanmqtt-addon.

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

0.1.28-1

What was the last working version of HA_enoceanmqtt?

0.1.28

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)

No response

Additional information

No response

EnOcean MQTT (dev) Addon on Home Assitant is immediately stopping after starting

The problem

The EnOcean MQTT AddOn is used with Moskito Broker 6.4.0 on Raspberry PI 5. After Installation and configuration it starts and stops immediately after starting.

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

0.1.28-2

What was the last working version of HA_enoceanmqtt?

never run, new setup

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)

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
Preparing to start...
Retrieved devices file: /config/enoceanmqtt.devices.sample
Overwrite use_dev_name_in_entity to FALSE
Starting EnOceanMQTT...
/usr/lib/python3.11/html/parser.py:170: XMLParsedAsHTMLWarning: It looks like you're parsing an XML document using an HTML parser. If this really is an HTML document (maybe it's XHTML?), you can ignore or filter this warning. If it's XML, you should know that using an XML parser will be more reliable. To parse this document as XML, make sure you have the lxml package installed, and pass the keyword argument `features="xml"` into the BeautifulSoup constructor.
  k = self.parse_starttag(i)
2024-03-04 22:00:39,889 INFO: Logging to file: /config/enoceanmqtt.log
2024-03-04 22:00:39,889 INFO: Loading config file /data/enoceanmqtt.conf
Traceback (most recent call last):
  File "/app/venv/bin/enoceanmqtt", line 33, in <module>
    sys.exit(load_entry_point('enocean-mqtt', 'console_scripts', 'enoceanmqtt')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/enocean-mqtt/enoceanmqtt/enoceanmqtt.py", line 110, in main
    sensors, global_config = load_config_file(conf['config'])
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/enocean-mqtt/enoceanmqtt/enoceanmqtt.py", line 65, in load_config_file
    new_sens[key] = int(config_parser[section][key], 0)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 0: '<your_device_rorg>'
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

Additional information

Home Assistant Version

Version core-2024.2.5
Installationstyp Home Assistant OS
Entwicklung false
Supervisor true
Docker true
Benutzer root
Virtuelle Umgebung false
Python-Version 3.12.1
Betriebssystemfamilie Linux
Betriebssystem-Version 6.1.73-haos-raspi
CPU-Architektur aarch64
Zeitzone Europe/Berlin
Konfigurationsverzeichnis /config

enoceanmqtt.devices.sample file
[NodON_Sensor_01]
address = 0x0**********
rorg = <your_device_rorg>
func = <your_device_func>
type = <your_device_type>

[NodON_Sensor_02]
address = 0x0***********
rorg = <your_device_rorg>
func = <your_device_func>
type = <your_device_type>

[NodON_Sensor_03]
address = 0x0***********
rorg = <your_device_rorg>
func = <your_device_func>
type = <your_device_type>

[NodON_Sensor_04]
address = 0x0***********
rorg = <your_device_rorg>
func = <your_device_func>
type = <your_device_type>

Can't turn the LEARN switch on

Hi,

When I try to turn the LEARN switch on in HA, I get this log from the addon:

WARNING: Unexpected or erroneous MQTT message: enoceanmqtt/__system/learn/req: b'ON'

And the switch immediately turns off.

Is it just a visual bug or is the learning process not starting at all ? I can't add a specific device (avidsen 970221 with EEP D5-00-01) and I don't know if it's because of the LEARN issue or something else.

My setup:
EnOcean MQTT 0.1.24 dev (HA addon)
MQTT Broker 6.1.3 (HA addon)
HA 2023.2.5

I also have 2 NodOn devices which are working fine with your addon, so, many thanks for that !

Custom mapping.yaml file does not work

Hi there,

I wanted to change a little detail in the mapping.yaml, as my covers do not behave as in the default one (mine are at position 0 when close, 100 when open). To do so, I copied this mapping.yaml file : https://github.com/mak-gitdev/HA_enoceanmqtt/blob/master/enoceanmqtt/overlays/homeassistant/mapping.yaml
And I only changed the following (line 394):

payload_open: >-
    {"CMD":"1","POS":"0","ANG":"127","REPO":"0","LOCK":"0","CHN":"0","send":"clear"}
 payload_close: >-
    {"CMD":"1","POS":"100","ANG":"127","REPO":"0","LOCK":"0","CHN":"0","send":"clear"}

to

payload_open: >-
  {"CMD":"1","POS":"100","ANG":"127","REPO":"0","LOCK":"0","CHN":"0","send":"clear"}
payload_close: >-
  {"CMD":"1","POS":"0","ANG":"127","REPO":"0","LOCK":"0","CHN":"0","send":"clear"}

I added the path to this new file in the config of the add-on :

device_file: /config/enocean/enoceanmqtt.conf
mapping_file: /config/enocean/mapping.yaml
eep_file: ""
[...]

and restarted. In the logs, I can see that everything seems to be correctly read. However, the devices are not synchronized anymore with HA : I cannot access them (see their state, change etc.).
One thing I saw in the log file is an error Caught exception in on_connect: 'date' which does not appear when I don't specify a custom mapping file. But this happens after the 2023-02-25 14:33:50,125 INFO: Mapping file correctly read: /config/enocean/mapping.yaml.
Any idea what could happen?

Here is my logs

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
Preparing to start...
Retrieved devices file: /config/enocean/enoceanmqtt.conf
Starting EnOceanMQTT...
/usr/lib/python3.10/site-packages/beautifulsoup4-4.11.2-py3.10.egg/bs4/builder/__init__.py:545: XMLParsedAsHTMLWarning: It looks like you're parsing an XML document using an HTML parser. If this really is an HTML document (maybe it's XHTML?), you can ignore or filter this warning. If it's XML, you should know that using an XML parser will be more reliable. To parse this document as XML, make sure you have the lxml package installed, and pass the keyword argument `features="xml"` into the BeautifulSoup constructor.
  warnings.warn(
2023-02-25 14:33:49,686 INFO: Logging to file: /config/enocean/enoceanmqtt.log
2023-02-25 14:33:49,688 INFO: Loading config file /data/enoceanmqtt.conf
2023-02-25 14:33:49,696 DEBUG: Created sensor: {'name': 'homeassistant/inter-sup-salon', 'address': xxxxx, 'rorg': xxx, 'func': 2, 'type': 1, 'log_learn': 1, 'publish_rssi': 0}
2023-02-25 14:33:49,697 DEBUG: Created sensor: {'name': 'homeassistant/cover/salon', 'address': xxxxxx, 'rorg': xxx, 'func': 5, 'type': 0, 'log_learn': 1, 'command': 'CMD', 'persistent': 1}
2023-02-25 14:33:49,708 DEBUG: Global config: {'enocean_port': '/dev/ttyUSB0', 'log_packets': 'true', 'overlay': 'HA', 'db_file': '/data/enoceanmqtt_db.json', 'mapping_file': '/config/enocean/mapping.yaml', 'mqtt_discovery_prefix': 'homeassistant/', 'mqtt_host': 'core-mosquitto', 'mqtt_port': '1883', 'mqtt_client_id': 'homeassistant', 'mqtt_keepalive': '60', 'mqtt_prefix': 'homeassistant/', 'mqtt_user': 'addons', 'mqtt_pwd': '*****', 'mqtt_debug': 'true'}
2023-02-25 14:33:49,708 INFO: Selected overlay : Home Assistant
2023-02-25 14:33:50,125 INFO: Mapping file correctly read: /config/enocean/mapping.yaml
2023-02-25 14:33:50,177 INFO: Device database /data/enoceanmqtt_db.json correctly read/created
2023-02-25 14:33:50,178 INFO: Authenticating: addons
2023-02-25 14:33:50,179 DEBUG: Connecting to host core-mosquitto, 
2023-02-25 14:33:50,188 INFO: SerialCommunicator started
2023-02-25 14:33:50,188 INFO: Auto Teach-in is disabled
2023-02-25 14:33:50,189 WARNING: Replacing Packet.optional with default value.
2023-02-25 14:33:50,291 INFO: Sending packet
[...]
2023-02-25 14:33:50,302 INFO: Succesfully connected to MQTT broker.
2023-02-25 14:33:50,303 DEBUG: Sending SUBSCRIBE (d0, m1) [...]
2023-02-25 14:33:50,321 ERROR: Caught exception in on_connect: 'date'
Exception in thread Thread-1 (_thread_main):
Traceback (most recent call last):
  File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 3591, in _thread_main
    self.loop_forever(retry_first_connection=True)
  File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 1756, in loop_forever
    rc = self._loop(timeout)
  File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 1164, in _loop
    rc = self.loop_read()
  File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 1556, in loop_read
    rc = self._packet_read()
  File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 2439, in _packet_read
    rc = self._packet_handle()
  File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 3039, in _packet_handle
2023-02-25 14:33:50,397 DEBUG: 0x02 ['0x0', '0xff', '0xd2', '0x7c', '0x80'] ['0xa'] OrderedDict()
2023-02-25 14:33:50,398 INFO: got response packet: OK
    return self._handle_connack()
  File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 3138, in _handle_connack
    on_connect(
  File "/app/enocean-mqtt/enoceanmqtt/overlays/homeassistant/ha_communicator.py", line 107, in _on_connect
    self._mqtt_discovery_sensor(cur_sensor, cfgtopics)
  File "/app/enocean-mqtt/enoceanmqtt/overlays/homeassistant/ha_communicator.py", line 236, in _mqtt_discovery_sensor
    device_map += copy.deepcopy(self._ha_mapping['common']['date'])
KeyError: 'date'
2023-02-25 14:33:57,398 DEBUG: FF:E7:B3:81->FF:FF:FF:FF (-56 dBm):
2023-02-25 14:33:57,408 INFO: unknown sensor: FF:E7:B3:82
[...]

Thanks for your help !

strange thing with multiple virtual buttons all using the same senderid whatever I tried

followed the Wiki.
2 virtual buttons
stick or the base or whatever you'd call is:
Virtual @FFB62B00
image

my 2 virtual buttons are defined
[virt_4way_1]
address = 0xFFFFFFFF
rorg = 0xF6
func = 0x02
type = 0x01
sender = 0xFFB62B10
virtual = 1

[virt_4way_2]
address = 0xFFFFFFFF
rorg = 0xF6
func = 0x02
type = 0x01
sender = 0xFFB62B11
virtual = 1
image

Result: whichever button I do press (AI AO BI BO or released do come from 0xFFB62B11 when looking Eltako PCT14

image

tried with settings>addon>Encean>rebuild .. fixed nothing

And I would have removed the devices if on this delete button per device would be there as it was begore 0.1.24 .. now I can't remove the devices any more.

Perhaps a differnt of 1 isn't enough for the senderid ?

Support Eltako GVFS telegrams

Hello,

first i wanna thank you very much for your effort into the EnOcean stuff! It seems that i can finally move away from another product to HASS.

I want to use Eltako GVFS telegrams. There is documentation from Eltako about the telegram data. But i need some jump start.

Let's say i want to switch an FSR14-2X (Page T-14 @ Eltako documentation), which is an actor to put light on/off. In the PCT14 software i can configure it like this:
image

Maybe i missunderstand the documentation. But it seems i have to make a new mapping for this? Please give me a hint.

Thank you in advance!

regards
Kai

Leider keine automatische Installation des Add on

The problem

Hallo, leider bekomme ich immer bei der Installation des Add on folgenden Fehler: Was kann ich machen?

The command '/bin/ash -o pipefail -c apk add --no-cache python3 py3-pip git && python3 -m pip install --upgrade pip && pip3 install pyyaml && pip3 install tinydb && pip3 install git+https://github.com/mak-gitdev/enocean.git && git clone https://github.com/embyt/enocean-mqtt.git && cd enocean-mqtt && python3 setup.py develop && cd .. && if [ "${BUILD_VERSION}" = "head" ]; then echo "Installing from repository head" && git clone -b develop --single-branch --depth 1 https://github.com/mak-gitdev/HA_enoceanmqtt.git ; else if [ -z "${BUILD_VERSION##..}" ]; then echo "Installing development version ${BUILD_VERSION%-}" ; else echo "Installing stable version ${BUILD_VERSION%-}" ; fi; wget -nv -O "/app.tar.gz" "https://github.com/mak-gitdev/HA_enoceanmqtt/archive/refs/tags/${BUILD_VERSION%-*}.tar.gz" && echo "Extracting /app.tar.gz" && tar xzf "/app.tar.gz" && rm "/app.tar.gz" && mv -v "HA_enoceanmqtt-${BUILD_VERSION%-}" HA_enoceanmqtt ; fi; cp -rf HA_enoceanmqtt/enoceanmqtt enocean-mqtt && rm -rf HA_enoceanmqtt' returned a non-zero code: 1

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

0.1.28

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)

No response

Additional information

No response

Add On dont work with Core higher 2024.4

The problem

Add On crashes with higher Core Version. I think because of new Python version in Homeassistant.

Python 3.11 support has been removed
Python 3.11 support has previously been deprecated and has now been removed. Home Assistant now requires Python 3.12 to run.

You don’t have to do anything if you are using the Home Assistant Operating System, Home Assistant Container, or Home Assistant Supervised installation method. In those cases, we handle all of this for you. Your system has been using Python 3.12 for quite some time already.

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

2024.4.1

What was the last working version of HA_enoceanmqtt?

2024.3

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)

No response

Additional information

No response

using an external broker

did as suggested, added
host: 192.168.1.xxx
port: 1883
user: username
pwd: password

and do get a
Failed to save add-on configuration, not a valid value. Got ...... and so on......

any idea what's wrong? If it does matter .. dev channel version

could not install new version

installation stuck on error:

The command '/bin/ash -o pipefail -c apk add --no-cache python3 py3-pip git && python3 -m pip install --upgrade pip && pip3 install pyyaml && pip3 install tinydb && git clone https://github.com/embyt/enocean-mqtt.git && cd enocean-mqtt && python3 setup.py develop && cd .. && if [ -z "${BUILD_VERSION##..}" ]; then echo "Installing development version ${BUILD_VERSION%-}" && git clone -b develop --single-branch --depth 1 https://github.com/mak-gitdev/HA_enoceanmqtt.git ; else echo "Installing Stable version ${BUILD_VERSION%-*}" && git clone -b master --single-branch --depth 1 https://github.com/mak-gitdev/HA_enoceanmqtt.git ; fi; cp -rf HA_enoceanmqtt/enoceanmqtt enocean-mqtt && cp -rf HA_enoceanmqtt/enocean/protocol/EEP.xml $(find / -path ./HA_enoceanmqtt -prune -o -name "EEP.xml" -print -quit 2>/dev/null) && rm -rf HA_enoceanmqtt' returned a non-zero code: 1

Update

Hi, I tried to update from 0.1.21 via the offered update function (See screenshot). Unfortunately nothing happens. Can you please help to update?
CFDBFEEA-75C6-4253-9E36-C53049DC32F3

Issue with D2-05-00 cover position

Discussed in #93

Originally posted by didi31 November 13, 2023
I would like to move from Domoticz to Home assistant.
I have 3 covers module EVOLOGY (Leroy merlin) which are provided by Nodon and Nodon told me that they are exactly the same than the Nodon ones.
I got the identity of each module from the enocean hardware of Domoticz.
Contact switch are working perfectly.
I did the following for the cover.

  • Set the conf:
    [Volet/chambre]
    address = 0x05A21EE5
    rorg = 0xD2
    func = 0x05
    type = 0x00
  • Switch the learn button to On
  • Follow the procedure for pairing.

The module does not react as written In the EVOLOGY procedure but I can move the cover up with HA.
However as soon as the cover is open, the arrow to move the cover down is greyed and I cannot close it.
Is there something wrong in what I did?

Can't change fan mode for D2-50-01

The problem

I'm using a fan with the enocean profile D2-50-01 which I was controlling in the past using openhab (I am currently trying to migrate to HA) - thus I know that changing the fan mode is possible.

The issue is:
I can only receive data from the fan (current mode updates, temperature sensors, ..) but I can't change the fan mode.

Happy to get feedback if this is a bug or how I can help resolve the issue!

What type of installation are you running?

Docker

What version of HA_enoceanmqtt has the issue?

0.128

What was the last working version of HA_enoceanmqtt?

No response

What type of Home Assitant installation are you running?

Home Assistant Container

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

Change mode via HA:

ha_enoceanmqtt_dev  | 2024-07-30 16:26:37,411 INFO: sending: FF:EF:3F:80->05:0A:DC:06 (-255 dBm): 0x01 ['0xd2', '0x22', '0x0', '0x7f', '0x7f', '0x7f', '0x0', '0xff', '0xef', '0x3f', '0x80', '0x0'] ['0x3', '0x5', '0xa', '0xdc', '0x6', '0xff', '0x0'] OrderedDict([('MT', {'description': 'Message Type', 'unit': '', 'value': 'Message Type 1', 'raw_value': 1}), ('DOMC', {'description': 'Direct Operation Mode Control', 'unit': '', 'value': 'Level 2', 'raw_value': 2}), ('OMC', {'description': 'Operation Mode Control', 'unit': '', 'value': 'No action', 'raw_value': 0}), ('TOMC', {'description': 'Timer Operation Mode Control', 'unit': '', 'value': 'No action', 'raw_value': 0}), ('COT', {'description': 'CO2 Threshold', 'unit': '', 'value': 'Default (use threshold configured in device)', 'raw_value': 127}), ('HT', {'description': 'Humidity Threshold', 'unit': '', 'value': 'Default (use threshold configured in device)', 'raw_value': 127}), ('AQT', {'description': 'Air Quality Threshold', 'unit': '', 'value': 'Default (use threshold configured in device)', 'raw_value': 127})])
ha_enoceanmqtt_dev  | 2024-07-30 16:26:37,411 DEBUG: Clearing data buffer.
ha_enoceanmqtt_dev  | 2024-07-30 16:26:37,473 INFO: Sending packet
ha_enoceanmqtt_dev  | 2024-07-30 16:26:37,473 DEBUG: FF:EF:3F:80->05:0A:DC:06 (-255 dBm): 0x01 ['0xd2', '0x22', '0x0', '0x7f', '0x7f', '0x7f', '0x0', '0xff', '0xef', '0x3f', '0x80', '0x0'] ['0x3', '0x5', '0xa', '0xdc', '0x6', '0xff', '0x0'] OrderedDict([('MT', {'description': 'Message Type', 'unit': '', 'value': 'Message Type 1', 'raw_value': 1}), ('DOMC', {'description': 'Direct Operation Mode Control', 'unit': '', 'value': 'Level 2', 'raw_value': 2}), ('OMC', {'description': 'Operation Mode Control', 'unit': '', 'value': 'No action', 'raw_value': 0}), ('TOMC', {'description': 'Timer Operation Mode Control', 'unit': '', 'value': 'No action', 'raw_value': 0}), ('COT', {'description': 'CO2 Threshold', 'unit': '', 'value': 'Default (use threshold configured in device)', 'raw_value': 127}), ('HT', {'description': 'Humidity Threshold', 'unit': '', 'value': 'Default (use threshold configured in device)', 'raw_value': 127}), ('AQT', {'description': 'Air Quality Threshold', 'unit': '', 'value': 'Default (use threshold configured in device)', 'raw_value': 127})])
ha_enoceanmqtt_dev  | 2024-07-30 16:26:37,574 DEBUG: 0x02 ['0x0'] [] OrderedDict()
ha_enoceanmqtt_dev  | 2024-07-30 16:26:37,574 INFO: got response packet: OK
------------

Response when changing mode manually on the device:


ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,496 DEBUG: 05:0A:DC:06->FF:FF:FF:FF (-58 dBm): 0x01 ['0xd2', '0x43', '0x3', '0x0', '0xf', '0x0', '0xd1', '0x74', '0x0', '0x0', '0xb4', '0x2d', '0x6a', '0xe5', '0xc4', '0x5', '0xa', '0xdc', '0x6', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x3a', '0x0'] OrderedDict()
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,496 INFO: received: 05:0A:DC:06->FF:FF:FF:FF (-58 dBm): 0x01 ['0xd2', '0x43', '0x3', '0x0', '0xf', '0x0', '0xd1', '0x74', '0x0', '0x0', '0xb4', '0x2d', '0x6a', '0xe5', '0xc4', '0x5', '0xa', '0xdc', '0x6', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x3a', '0x0'] OrderedDict()
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,497 DEBUG: Retrieved command id from packet: 0x2
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,499 DEBUG: enoceanmqtt/fan_bath: MT (Message Type)=Message Type 2
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,499 DEBUG: enoceanmqtt/fan_bath: OMS (Operation Mode Status)=Level 3
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,499 DEBUG: enoceanmqtt/fan_bath: SFP (Supply Air Flap Position)=Supply air flap opened
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,499 DEBUG: enoceanmqtt/fan_bath: EFP (Exhaust Air Flap Position)=Exhaust air flap opened
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,499 DEBUG: enoceanmqtt/fan_bath: DMS (Defrost Mode Status)=Defrost mode inactive
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,499 DEBUG: enoceanmqtt/fan_bath: CPS (Cooling Protection Status)=Cooling protection mode inactive
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,500 DEBUG: enoceanmqtt/fan_bath: OHS (Outdoor Air Heater Status)=Inactive
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,500 DEBUG: enoceanmqtt/fan_bath: DHS (Drain Heater Status)=Inactive
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,500 DEBUG: enoceanmqtt/fan_bath: TOMS (Timer Operation Mode Status)=timer operation mode inactive
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,500 DEBUG: enoceanmqtt/fan_bath: FMS (Filter Maintenance Status)=Maintenance not required
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,500 DEBUG: enoceanmqtt/fan_bath: AQS1 (Air Quality Sensor 1)=15 %
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,501 DEBUG: enoceanmqtt/fan_bath: MSS (Master/Slave Configuration Status)=Master
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,501 DEBUG: enoceanmqtt/fan_bath: OUTT (Outdoor Air Temperature)=40.0 °C
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,501 DEBUG: enoceanmqtt/fan_bath: SPLYT (Supply Air Temperature)=29.0 °C
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,501 DEBUG: enoceanmqtt/fan_bath: SPLYFF (Supply Air Fan Air Flow Rate)=45.0 m3/h
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,501 DEBUG: enoceanmqtt/fan_bath: EXHFF (Exhaust Air Fan Air Flow Rate)=45.0 m3/h
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,501 DEBUG: enoceanmqtt/fan_bath: SPLYFS (Supply Fan Speed)=1710.0 1/min
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,502 DEBUG: enoceanmqtt/fan_bath: EXHFS (Exhaust Fan Speed)=1476.0 1/min
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,502 DEBUG: Sending PUBLISH (d0, q0, r1, m42), 'b'enoceanmqtt/fan_bath'', ... (55 bytes)
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,502 DEBUG: enoceanmqtt/fan_bath/MT2: Sent MQTT: {"_DATE_": "2024-07-30T16:27:52.496011", "OMS": 3, "SFP": 1, "EFP": 1, "DMS": 0, "CPS": 0, "OHS": 0, "DHS": 0, "TOMS": 0, "FMS": 0, "AQS1": 15, "MSS": 0, "OUTT": 40.0, "SPLYT": 29.0, "SPLYFF": 45.0, "EXHFF": 45.0, "SPLYFS": 1710.0, "EXHFS": 1476.0}
ha_enoceanmqtt_dev  | 2024-07-30 16:27:52,503 DEBUG: Sending PUBLISH (d0, q0, r1, m43), 'b'enoceanmqtt/fan_bath/MT2'', ... (248 bytes)


### Additional information

_No response_

EnoceanMQTT successfully vonnects to MQTT broker, bit broker doesn't receive any messages

Hi,

since my old config broke, I had to reinstall Node-Red, Mosquitto MQTT and also EnoceanMQTT. Node-Red and Mosquitto work, but they don't find any devices or receive messages from EnoceanMQTT, despite the log saying connection to broker successful.

Can this error message during start of the add-on may have to do something with the issue?

2023-03-03 08:27:39,034 ERROR: Caught exception in on_connect: 'date'
Exception in thread Thread-1 (_thread_main):
Traceback (most recent call last):
File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/usr/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 3591, in _thread_main
self.loop_forever(retry_first_connection=True)
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 1756, in loop_forever
rc = self._loop(timeout)
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 1164, in _loop
rc = self.loop_read()
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 1556, in loop_read
rc = self._packet_read()
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 2439, in _packet_read
rc = self._packet_handle()
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 3039, in _packet_handle
return self._handle_connack()
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 3138, in _handle_connack
on_connect(
File "/app/enocean-mqtt/enoceanmqtt/overlays/homeassistant/ha_communicator.py", line 107, in _on_connect
self._mqtt_discovery_sensor(cur_sensor, cfgtopics)
File "/app/enocean-mqtt/enoceanmqtt/overlays/homeassistant/ha_communicator.py", line 236, in _mqtt_discovery_sensor
device_map += copy.deepcopy(self._ha_mapping['common']['date'])
KeyError: 'date'

Error in device selection when sending data

Discussed in #70

Originally posted by vbreit June 27, 2023

Hello all,

I have 3 modules Nodon SIN-2-RS-01

Two of them work 100% (old modules firmware 1.3 and 1.2)

The 3rd and newest module does not work (firmware 1.5.1)
in my configuration it is [shutter_wz_terrasse1].

What is the reason ? Can you help me please ?

###shutters###

[shutter_wz_terrasse]
address         = 0x050E7E6E
rorg            = 0xD2
func            = 0x05
type            = 0x00

[shutter_küche_terrasse]
address         = 0x0587A2F7
rorg            = 0xD2
func            = 0x05
type            = 0x00

[shutter_wz_terrasse1]
address         = 0x059EEC27
rorg            = 0xD2
func            = 0x05
type            = 0x00

###lights###

[light_haustür_outside]
address         = 0x059E2EEB
rorg            = 0xD2
func            = 0x01
type            = 0x12

[light_terrasse_outside]
address         = 0x0590ECEE
rorg            = 0xD2
func            = 0x01
type            = 0x0F

[light_terasse1_outside]
address         = 0x05A084CF
rorg            = 0xD2
func            = 0x01
type            = 0x12
2023-06-27 13:10:42,448 INFO: Authenticating: addons
2023-06-27 13:10:42,449 DEBUG: Connecting to host core-mosquitto, port 1883, keepalive 60
2023-06-27 13:10:42,461 DEBUG: Sending CONNECT (u1, p1, wr0, wq0, wf0, c1, k60) client_id=b'enocean_gateway'
2023-06-27 13:10:42,463 INFO: SerialCommunicator started
2023-06-27 13:10:42,464 INFO: Auto Teach-in is disabled
2023-06-27 13:10:42,467 WARNING: Replacing Packet.optional with default value.
2023-06-27 13:10:42,565 INFO: Sending packet
2023-06-27 13:10:42,566 DEBUG: 0x05 ['0x8'] [] OrderedDict()
2023-06-27 13:10:42,667 DEBUG: 0x02 ['0x0', '0xff', '0xc9', '0xc0', '0x80'] ['0xa'] OrderedDict()
2023-06-27 13:10:42,669 INFO: got response packet: OK
2023-06-27 13:10:42,964 DEBUG: Received CONNACK (0, 0)
2023-06-27 13:10:42,965 INFO: Succesfully connected to MQTT broker.
2023-06-27 13:10:42,966 DEBUG: Sending SUBSCRIBE (d0, m1) [(b'enoceanmqtt/shutter_wz_terrasse/req/#', 0)]
2023-06-27 13:10:42,967 DEBUG: Sending SUBSCRIBE (d0, m2) [(b'enoceanmqtt/shutter_k\xc3\xbcche_terrasse/req/#', 0)]
2023-06-27 13:10:42,967 DEBUG: Sending SUBSCRIBE (d0, m3) [(b'enoceanmqtt/shutter_wz_terrasse1/req/#', 0)]
2023-06-27 13:10:42,968 DEBUG: Sending SUBSCRIBE (d0, m4) [(b'enoceanmqtt/light_haust\xc3\xbcr_outside/req/#', 0)]
2023-06-27 13:10:42,969 DEBUG: Sending SUBSCRIBE (d0, m5) [(b'enoceanmqtt/light_terrasse_outside/req/#', 0)]
2023-06-27 13:10:42,970 DEBUG: Sending SUBSCRIBE (d0, m6) [(b'enoceanmqtt/light_terasse1_outside/req/#', 0)]
2023-06-27 13:10:42,972 DEBUG: Sending PUBLISH (d0, q0, r1, m7), 'b'homeassistant/cover/enocean_D20500_050E7E6E_NONE_cover/config'', ... (1345 bytes)
2023-06-27 13:10:42,973 DEBUG: Sending PUBLISH (d0, q0, r1, m8), 'b'homeassistant/sensor/enocean_D20500_050E7E6E_NONE_rssi/config'', ... (514 bytes)
2023-06-27 13:10:42,974 DEBUG: Sending PUBLISH (d0, q0, r1, m9), 'b'homeassistant/sensor/enocean_D20500_050E7E6E_NONE_last_seen/config'', ... (554 bytes)
2023-06-27 13:10:42,975 DEBUG: Sending SUBSCRIBE (d0, m10) [(b'homeassistant/cover/enocean_D20500_050E7E6E_NONE_cover/config/#', 0)]
2023-06-27 13:10:42,976 DEBUG: Sending SUBSCRIBE (d0, m11) [(b'enoceanmqtt/shutter_wz_terrasse/__system/#', 0)]
2023-06-27 13:10:42,990 INFO: Device enoceanmqtt/shutter_wz_terrasse (UID: D20500_050E7E6E_NONE / EEP: D2-05-00) updated on device database
2023-06-27 13:10:42,993 DEBUG: Sending PUBLISH (d0, q0, r1, m12), 'b'homeassistant/cover/enocean_D20500_0587A2F7_NONE_cover/config'', ... (1401 bytes)
2023-06-27 13:10:42,995 DEBUG: Sending PUBLISH (d0, q0, r1, m13), 'b'homeassistant/sensor/enocean_D20500_0587A2F7_NONE_rssi/config'', ... (538 bytes)
2023-06-27 13:10:42,996 DEBUG: Sending PUBLISH (d0, q0, r1, m14), 'b'homeassistant/sensor/enocean_D20500_0587A2F7_NONE_last_seen/config'', ... (578 bytes)
2023-06-27 13:10:42,997 DEBUG: Sending SUBSCRIBE (d0, m15) [(b'homeassistant/cover/enocean_D20500_0587A2F7_NONE_cover/config/#', 0)]
2023-06-27 13:10:42,998 DEBUG: Sending SUBSCRIBE (d0, m16) [(b'enoceanmqtt/shutter_k\xc3\xbcche_terrasse/__system/#', 0)]
2023-06-27 13:10:43,004 INFO: Device enoceanmqtt/shutter_küche_terrasse (UID: D20500_0587A2F7_NONE / EEP: D2-05-00) updated on device database
2023-06-27 13:10:43,006 DEBUG: Sending PUBLISH (d0, q0, r1, m17), 'b'homeassistant/cover/enocean_D20500_059EEC27_NONE_cover/config'', ... (1352 bytes)
2023-06-27 13:10:43,007 DEBUG: Sending PUBLISH (d0, q0, r1, m18), 'b'homeassistant/sensor/enocean_D20500_059EEC27_NONE_rssi/config'', ... (517 bytes)
2023-06-27 13:10:43,008 DEBUG: Sending PUBLISH (d0, q0, r1, m19), 'b'homeassistant/sensor/enocean_D20500_059EEC27_NONE_last_seen/config'', ... (557 bytes)
2023-06-27 13:10:43,009 DEBUG: Sending SUBSCRIBE (d0, m20) [(b'homeassistant/cover/enocean_D20500_059EEC27_NONE_cover/config/#', 0)]
2023-06-27 13:10:43,010 DEBUG: Sending SUBSCRIBE (d0, m21) [(b'enoceanmqtt/shutter_wz_terrasse1/__system/#', 0)]
2023-06-27 13:10:43,016 INFO: Device enoceanmqtt/shutter_wz_terrasse1 (UID: D20500_059EEC27_NONE / EEP: D2-05-00) updated on device database
2023-06-27 13:10:43,018 DEBUG: Sending PUBLISH (d0, q0, r1, m22), 'b'homeassistant/light/enocean_D20112_059E2EEB_NONE_IO0/config'', ... (762 bytes)
2023-06-27 13:10:43,019 DEBUG: Sending PUBLISH (d0, q0, r1, m23), 'b'homeassistant/button/enocean_D20112_059E2EEB_NONE_query_status_IO0/config'', ... (490 bytes)
2023-06-27 13:10:43,020 DEBUG: Sending PUBLISH (d0, q0, r1, m24), 'b'homeassistant/binary_sensor/enocean_D20112_059E2EEB_NONE_IO0_LC/config'', ... (522 bytes)
2023-06-27 13:10:43,020 DEBUG: Sending PUBLISH (d0, q0, r1, m25), 'b'homeassistant/light/enocean_D20112_059E2EEB_NONE_IO1/config'', ... (762 bytes)
2023-06-27 13:10:43,021 DEBUG: Sending PUBLISH (d0, q0, r1, m26), 'b'homeassistant/button/enocean_D20112_059E2EEB_NONE_query_status_IO1/config'', ... (490 bytes)
2023-06-27 13:10:43,022 DEBUG: Sending PUBLISH (d0, q0, r1, m27), 'b'homeassistant/binary_sensor/enocean_D20112_059E2EEB_NONE_IO1_LC/config'', ... (522 bytes)
2023-06-27 13:10:43,023 DEBUG: Sending PUBLISH (d0, q0, r1, m28), 'b'homeassistant/button/enocean_D20112_059E2EEB_NONE_query_status_all/config'', ... (491 bytes)
2023-06-27 13:10:43,024 DEBUG: Sending PUBLISH (d0, q0, r1, m29), 'b'homeassistant/sensor/enocean_D20112_059E2EEB_NONE_rssi/config'', ... (535 bytes)
2023-06-27 13:10:43,025 DEBUG: Sending PUBLISH (d0, q0, r1, m30), 'b'homeassistant/sensor/enocean_D20112_059E2EEB_NONE_last_seen/config'', ... (575 bytes)
2023-06-27 13:10:43,026 DEBUG: Sending SUBSCRIBE (d0, m31) [(b'homeassistant/light/enocean_D20112_059E2EEB_NONE_IO0/config/#', 0)]
2023-06-27 13:10:43,026 DEBUG: Sending SUBSCRIBE (d0, m32) [(b'enoceanmqtt/light_haust\xc3\xbcr_outside/__system/#', 0)]
2023-06-27 13:10:43,032 INFO: Device enoceanmqtt/light_haustür_outside (UID: D20112_059E2EEB_NONE / EEP: D2-01-12) updated on device database
2023-06-27 13:10:43,034 DEBUG: Sending PUBLISH (d0, q0, r1, m33), 'b'homeassistant/switch/enocean_D2010F_0590ECEE_NONE_switch/config'', ... (741 bytes)
2023-06-27 13:10:43,034 DEBUG: Sending PUBLISH (d0, q0, r1, m34), 'b'homeassistant/button/enocean_D2010F_0590ECEE_NONE_query_status/config'', ... (471 bytes)
2023-06-27 13:10:43,035 DEBUG: Sending PUBLISH (d0, q0, r1, m35), 'b'homeassistant/binary_sensor/enocean_D2010F_0590ECEE_NONE_LC/config'', ... (498 bytes)
2023-06-27 13:10:43,035 DEBUG: Sending PUBLISH (d0, q0, r1, m36), 'b'homeassistant/sensor/enocean_D2010F_0590ECEE_NONE_rssi/config'', ... (523 bytes)
2023-06-27 13:10:43,036 DEBUG: Sending PUBLISH (d0, q0, r1, m37), 'b'homeassistant/sensor/enocean_D2010F_0590ECEE_NONE_last_seen/config'', ... (563 bytes)
2023-06-27 13:10:43,036 DEBUG: Sending SUBSCRIBE (d0, m38) [(b'homeassistant/switch/enocean_D2010F_0590ECEE_NONE_switch/config/#', 0)]
2023-06-27 13:10:43,036 DEBUG: Sending SUBSCRIBE (d0, m39) [(b'enoceanmqtt/light_terrasse_outside/__system/#', 0)]
2023-06-27 13:10:43,042 INFO: Device enoceanmqtt/light_terrasse_outside (UID: D2010F_0590ECEE_NONE / EEP: D2-01-0F) updated on device database
2023-06-27 13:10:43,044 DEBUG: Sending PUBLISH (d0, q0, r1, m40), 'b'homeassistant/light/enocean_D20112_05A084CF_NONE_IO0/config'', ... (746 bytes)
2023-06-27 13:10:43,045 DEBUG: Sending PUBLISH (d0, q0, r1, m41), 'b'homeassistant/button/enocean_D20112_05A084CF_NONE_query_status_IO0/config'', ... (478 bytes)
2023-06-27 13:10:43,045 DEBUG: Sending PUBLISH (d0, q0, r1, m42), 'b'homeassistant/binary_sensor/enocean_D20112_05A084CF_NONE_IO0_LC/config'', ... (510 bytes)
2023-06-27 13:10:43,046 DEBUG: Sending PUBLISH (d0, q0, r1, m43), 'b'homeassistant/light/enocean_D20112_05A084CF_NONE_IO1/config'', ... (746 bytes)
2023-06-27 13:10:43,046 DEBUG: Sending PUBLISH (d0, q0, r1, m44), 'b'homeassistant/button/enocean_D20112_05A084CF_NONE_query_status_IO1/config'', ... (478 bytes)
2023-06-27 13:10:43,047 DEBUG: Sending PUBLISH (d0, q0, r1, m45), 'b'homeassistant/binary_sensor/enocean_D20112_05A084CF_NONE_IO1_LC/config'', ... (510 bytes)
2023-06-27 13:10:43,047 DEBUG: Sending PUBLISH (d0, q0, r1, m46), 'b'homeassistant/button/enocean_D20112_05A084CF_NONE_query_status_all/config'', ... (479 bytes)
2023-06-27 13:10:43,048 DEBUG: Sending PUBLISH (d0, q0, r1, m47), 'b'homeassistant/sensor/enocean_D20112_05A084CF_NONE_rssi/config'', ... (523 bytes)
2023-06-27 13:10:43,049 DEBUG: Sending PUBLISH (d0, q0, r1, m48), 'b'homeassistant/sensor/enocean_D20112_05A084CF_NONE_last_seen/config'', ... (563 bytes)
2023-06-27 13:10:43,049 DEBUG: Sending SUBSCRIBE (d0, m49) [(b'homeassistant/light/enocean_D20112_05A084CF_NONE_IO0/config/#', 0)]
2023-06-27 13:10:43,050 DEBUG: Sending SUBSCRIBE (d0, m50) [(b'enoceanmqtt/light_terasse1_outside/__system/#', 0)]
2023-06-27 13:10:43,055 INFO: Device enoceanmqtt/light_terasse1_outside (UID: D20112_05A084CF_NONE / EEP: D2-01-12) updated on device database
2023-06-27 13:10:43,056 DEBUG: List of remaining UIDS: []
2023-06-27 13:10:43,056 DEBUG: Sending PUBLISH (d0, q0, r1, m51), 'b'homeassistant/switch/enoceanmqtt_learn_FFC9C080/config'', ... (374 bytes)
2023-06-27 13:10:43,057 DEBUG: Sending SUBSCRIBE (d0, m52) [(b'enoceanmqtt/__system/learn/req/#', 0)]
2023-06-27 13:10:43,057 DEBUG: Sending PUBLISH (d0, q0, r1, m53), 'b'enoceanmqtt/__system/learn'', ... (3 bytes)
2023-06-27 13:10:43,064 DEBUG: Received SUBACK
2023-06-27 13:10:43,065 DEBUG: Received SUBACK
2023-06-27 13:10:43,066 DEBUG: Received SUBACK
2023-06-27 13:10:43,067 DEBUG: Received SUBACK
2023-06-27 13:10:43,084 DEBUG: Received SUBACK
2023-06-27 13:10:43,085 DEBUG: Received SUBACK
2023-06-27 13:10:43,086 DEBUG: Received SUBACK
2023-06-27 13:10:43,086 DEBUG: Received PUBLISH (d0, q0, r1, m0), 'homeassistant/cover/enocean_D20500_050E7E6E_NONE_cover/config', ...  (1345 bytes)
2023-06-27 13:10:43,087 DEBUG: Received SUBACK
2023-06-27 13:10:43,088 DEBUG: Received SUBACK
2023-06-27 13:10:43,088 DEBUG: Received PUBLISH (d0, q0, r1, m0), 'homeassistant/cover/enocean_D20500_0587A2F7_NONE_cover/config', ...  (1401 bytes)
2023-06-27 13:10:43,117 DEBUG: Received SUBACK
2023-06-27 13:10:43,118 DEBUG: Received SUBACK
2023-06-27 13:10:43,119 DEBUG: Received PUBLISH (d0, q0, r1, m0), 'homeassistant/cover/enocean_D20500_059EEC27_NONE_cover/config', ...  (1352 bytes)
2023-06-27 13:10:43,119 DEBUG: Received SUBACK
2023-06-27 13:10:43,120 DEBUG: Received SUBACK
2023-06-27 13:10:43,120 DEBUG: Received PUBLISH (d0, q0, r1, m0), 'homeassistant/light/enocean_D20112_059E2EEB_NONE_IO0/config', ...  (762 bytes)
2023-06-27 13:10:43,152 DEBUG: Received SUBACK
2023-06-27 13:10:43,152 DEBUG: Received SUBACK
2023-06-27 13:10:43,153 DEBUG: Received PUBLISH (d0, q0, r1, m0), 'homeassistant/switch/enocean_D2010F_0590ECEE_NONE_switch/config', ...  (741 bytes)
2023-06-27 13:10:43,154 DEBUG: Received SUBACK
2023-06-27 13:10:43,154 DEBUG: Received SUBACK
2023-06-27 13:10:43,155 DEBUG: Received PUBLISH (d0, q0, r1, m0), 'homeassistant/light/enocean_D20112_05A084CF_NONE_IO0/config', ...  (746 bytes)
2023-06-27 13:10:43,194 DEBUG: Received SUBACK
2023-06-27 13:10:43,195 DEBUG: Received SUBACK
2023-06-27 13:11:30,971 DEBUG: Received PUBLISH (d0, q0, r0, m0), 'enoceanmqtt/shutter_wz_terrasse1/req', ...  (81 bytes)
2023-06-27 13:11:30,972 DEBUG: Got MQTT message: enoceanmqtt/shutter_wz_terrasse1/req
2023-06-27 13:11:30,973 WARNING: Unexpected or erroneous MQTT message: enoceanmqtt/shutter_wz_terrasse1/req: b'{"CMD":"1","POS":"19","ANG":"127","REPO":"0","LOCK":"0","CHN":"0","send":"clear"}'
Originally posted by mak-gitdev July 9, 2023

Ok this is a bug at enocean-mqtt level.
And as previously explained, this is not related to the firmware.

When a send request is received, we have to determine which sensor is targeted.
To select the correct sensor, a name comparison is done between the MQTT topic and the list of sensors.
At the moment, this name comparison checks whether a sensor name is IN the MQTT topic.
Thus, when a request targeting shutterwz/terrasse1 is received, as shutterwz/terrasse appears first in the list of sensors and as "shutterwz/terrasse" is also in "shutterwz/terrasse1", it will pass the current name comparison and it will be selected as the targeted device.
Then as the wrong device is selected, you end up with this message indicating that the MQTT message is unexpected or erroneous.

Fortunately, fixing this is simple.
While waiting for the fix to be applied, you can just choose a different name for shutterwz/terrasse1 very different from shutterwz/terrasse.

Thanks for discovering this one 👍

Update of Add-on Failed

Updating the addon via HA standard frontend failed.
image
Please let me know, if you need any additional information.

Missing files after Standalone Installation

Hi Mark, i am new in HA ( migration from Jeedom) and i have some ENOCEAN equipment ( AVIDSEN 0D-01-0C ). My HA installation is fully new and by this way i have jumped the migration step. When i start the module ( after completed the configuration forms) i have error messages ( see attached file)

I am verified the HA tree and i don't find any directory data or app , ... and by this way the requested files.
Could you inform me if my installation process is wrong? How i could solve it?
Thanks

This HA installation is done on a VM located on a freebox Delta

enoceanmqtt.log
error-message.txt

enocean mqtt not starting

The problem

I can try to start enoceanmqtt addon but it fails. See logs

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

0.1.28-2

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)

2024-03-13 14:13:04.187 ERROR (MainThread) [homeassistant.components.hassio.handler] /addons/ec247e54_ha_enoceanmqtt_dev/stats return code 400
2024-03-13 14:13:04.187 ERROR (MainThread) [homeassistant.components.hassio] Failed to to call /addons/ec247e54_ha_enoceanmqtt_dev/stats -


s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
Preparing to start...
Retrieved devices file: /config/enoceanmqtt.devices
Overwrite use_dev_name_in_entity to FALSE
Starting EnOceanMQTT...
/usr/lib/python3.11/html/parser.py:170: XMLParsedAsHTMLWarning: It looks like you're parsing an XML document using an HTML parser. If this really is an HTML document (maybe it's XHTML?), you can ignore or filter this warning. If it's XML, you should know that using an XML parser will be more reliable. To parse this document as XML, make sure you have the lxml package installed, and pass the keyword argument `features="xml"` into the BeautifulSoup constructor.
  k = self.parse_starttag(i)
2024-03-13 14:17:14,298 INFO: Logging to file: /config/enoceanmqtt.log
2024-03-13 14:17:14,299 INFO: Loading config file /data/enoceanmqtt.conf
Traceback (most recent call last):
  File "/app/venv/bin/enoceanmqtt", line 33, in <module>
    sys.exit(load_entry_point('enocean-mqtt', 'console_scripts', 'enoceanmqtt')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/enocean-mqtt/enoceanmqtt/enoceanmqtt.py", line 110, in main
    sensors, global_config = load_config_file(conf['config'])
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/enocean-mqtt/enoceanmqtt/enoceanmqtt.py", line 65, in load_config_file
    new_sens[key] = int(config_parser[section][key], 0)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 0: 'eltako/FSB61NP'
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

Additional information

No response

D2-01-01 does not report switch, only states

The problem

Hi, thank you for the last update on this nice project.

You added support for D2-01-01 but on home assistant, the switch seems not available, one just sees the 'last_seen' state and cannot act on the switch nor see the switch state.

On HA, here is the description i get (with xxxxx on my ids):

state_topic: enoceanmqtt/light
value_template: '{{ value_json.RSSI }}'
unit_of_measurement: dBm
device_class: signal_strength
entity_category: diagnostic
unique_id: enocean_D20101_xxxxxxxxx_xxxxxxxxx_rssi
name: e2m_light_rssi
device:
name: e2m_light
identifiers: xxxxxxxxxx
model: D2-01-01 @XXXXXXXXXXX
manufacturer: EnOcean
configuration_url: http://tools.enocean-alliance.org/EEPViewer/profiles/D2/01/01/D2-01-01.pdf
platform: mqtt

I am open for testing, thanks.

What type of installation are you running?

Docker

What version of HA_enoceanmqtt has the issue?

ha_enoceanmqtt_dev-aarch64

What was the last working version of HA_enoceanmqtt?

none for D2-01-01, this is a new feature

What type of Home Assitant installation are you running?

Home Assistant Container

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

Home assistant log actually only find the last_seen and rssi sensors:

2023-11-17 14:34:15.572 INFO (MainThread) [homeassistant.components.mqtt.discovery] Found new component: sensor enocean_D20101_xxxxxx_yyyyy_rssi
2023-11-17 14:34:15.608 INFO (MainThread) [homeassistant.components.mqtt.discovery] Found new component: sensor enocean_D20101_xxxxxx_yyyyy_last_seen

Additional information

No response

Bug in D2-03-0A (NodOn Soft Button)

The problem

Only the first single tap registers.
A second single tap won't, because the "single" state doesn't revert to "off".

Same with double tap.

Long press/release doesn't show the issue because there's two separate sensors for this.

The long_released sensor remains "on", though, until something else happens.

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

No response

What was the last working version of HA_enoceanmqtt?

No response

What type of Home Assitant installation are you running?

None

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

Example: 3 single taps

E2M log:
2024-01-13 17:06:32,206 INFO: received: 81:00:CE:F3->FF:FF:FF:FF (-82 dBm): 0x01 ['0xd2', '0xc', '0x1', '0x81', '0x0', '0xce', '0xf3', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x52', '0x0'] OrderedDict()
2024-01-13 17:06:57,389 INFO: received: 81:00:CE:F3->FF:FF:FF:FF (-88 dBm): 0x01 ['0xd2', '0xc', '0x1', '0x81', '0x0', '0xce', '0xf3', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x58', '0x0'] OrderedDict()
2024-01-13 17:07:52,054 INFO: received: 81:00:CE:F3->FF:FF:FF:FF (-80 dBm): 0x01 ['0xd2', '0xc', '0x1', '0x81', '0x0', '0xce', '0xf3', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x50', '0x0'] OrderedDict()

HA log shows
17:06:32 - 'single' switched on
17:06:57 - 'last seen' updated
17:07:52 - 'last seen' updated
and the "single" sensor remains active.

Additional information

No response

Nodon SIN-2-RS-01 EEP D2-05-00 not working

The problem

Hi Guys,

i use an Nodon SIN-2-RS-01 with the EEP Profile D2-05-00.
With FHEM i have no issues to controle the shutter but with HA_EnOceanMQTT addon it is not working.

Here the debug with sending from the addon:

024-04-30 20:54:07,469 DEBUG: Received PINGRESP
2024-04-30 20:55:02,129 DEBUG: Received PUBLISH (d0, q0, r0, m0), 'enoceanmqtt/shutter/req', ... (82 bytes)
2024-04-30 20:55:02,130 DEBUG: Got MQTT message: enoceanmqtt/shutter/req
2024-04-30 20:55:02,130 DEBUG: enoceanmqtt/shutter: req={'CMD': 1, 'POS': 100, 'ANG': 127, 'REPO': 0, 'LOCK': 0, 'CHN': 0}
2024-04-30 20:55:02,130 DEBUG: Trigger message to: enoceanmqtt/shutter
2024-04-30 20:55:02,130 DEBUG: Retrieved command id from MQTT message: 0x1
2024-04-30 20:55:02,131 DEBUG: sensor data: {'CMD': 1, 'POS': 100, 'ANG': 127, 'REPO': 0, 'LOCK': 0, 'CHN': 0}
2024-04-30 20:55:02,132 INFO: sending: FF:C3:71:00->05:0E:D3:52 (-255 dBm): 0x01 ['0xd2', '0x64', '0x7f', '0x0', '0x1', '0xff', '0xc3', '0x71', '0x0', '0x0'] ['0x3', '0x5', '0xe', '0xd3', '0x52', '0xff', '0x0'] OrderedDict([('POS', {'description': 'Vertical position', 'unit': '', 'value': 'Output position 100%', 'raw_value': 100}), ('ANG', {'description': 'Rotation angle', 'unit': '', 'value': 'Do not change', 'raw_value': 127}), ('REPO', {'description': 'Repositioning', 'unit': '', 'value': 'Go directly to POS/ANG', 'raw_value': 0}), ('LOCK', {'description': 'Locking modes', 'unit': '', 'value': 'Do not change', 'raw_value': 0}), ('CHN', {'description': 'Channel', 'unit': '', 'value': 'Channel 1', 'raw_value': 0}), ('CMD', {'description': 'Command Id', 'unit': '', 'value': 'Command ID 1', 'raw_value': 1})])
2024-04-30 20:55:02,132 DEBUG: Clearing data buffer.
2024-04-30 20:55:02,191 INFO: Sending packet
2024-04-30 20:55:02,191 DEBUG: FF:C3:71:00->05:0E:D3:52 (-255 dBm): 0x01 ['0xd2', '0x64', '0x7f', '0x0', '0x1', '0xff', '0xc3', '0x71', '0x0', '0x0'] ['0x3', '0x5', '0xe', '0xd3', '0x52', '0xff', '0x0'] OrderedDict([('POS', {'description': 'Vertical position', 'unit': '', 'value': 'Output position 100%', 'raw_value': 100}), ('ANG', {'description': 'Rotation angle', 'unit': '', 'value': 'Do not change', 'raw_value': 127}), ('REPO', {'description': 'Repositioning', 'unit': '', 'value': 'Go directly to POS/ANG', 'raw_value': 0}), ('LOCK', {'description': 'Locking modes', 'unit': '', 'value': 'Do not change', 'raw_value': 0}), ('CHN', {'description': 'Channel', 'unit': '', 'value': 'Channel 1', 'raw_value': 0}), ('CMD', {'description': 'Command Id', 'unit': '', 'value': 'Command ID 1', 'raw_value': 1})])
2024-04-30 20:55:02,236 DEBUG: 0x02 ['0x0'] [] OrderedDict()
2024-04-30 20:55:02,236 INFO: got response packet: OK
2024-04-30 20:55:02,236 DEBUG: 0x04 ['0x8'] [] OrderedDict()
2024-04-30 20:55:02,236 INFO: got non-RF packet: 0x04 ['0x8'] [] OrderedDict()

and here is the debug when FHEM sends the signal:

2024-04-30 20:56:55,078 DEBUG: FF:FA:41:82->05:0E:D3:52 (-37 dBm): 0x01 ['0xd2', '0x64', '0x7f', '0x0', '0xf1', '0xff', '0xfa', '0x41', '0x82', '0x80'] ['0x1', '0x5', '0xe', '0xd3', '0x52', '0x25', '0x0'] OrderedDict()
2024-04-30 20:56:55,079 INFO: unknown sensor: FF:FA:41:82
2024-04-30 20:56:55,195 DEBUG: 05:0E:D3:52->FF:FF:FF:FF (-56 dBm): 0x01 ['0xd2', '0x0', '0x0', '0x0', '0x4', '0x5', '0xe', '0xd3', '0x52', '0x0'] ['0x1', '0xff', '0xff', '0xff', '0xff', '0x38', '0x0'] OrderedDict()
2024-04-30 20:56:55,196 DEBUG: Retrieved command id from packet: 0x4
2024-04-30 20:56:55,196 DEBUG: enoceanmqtt/shutter: POS (Current vertical position)=Output position 0%
2024-04-30 20:56:55,196 DEBUG: enoceanmqtt/shutter: ANG (Current rotation angle)=Output angle 0%
2024-04-30 20:56:55,196 DEBUG: enoceanmqtt/shutter: LOCK (Current locking mode)=Normal (no lock)
2024-04-30 20:56:55,197 DEBUG: enoceanmqtt/shutter: CHN (Channel)=Channel 1
2024-04-30 20:56:55,197 DEBUG: enoceanmqtt/shutter: CMD (Command Id)=Command ID 4
2024-04-30 20:56:55,197 DEBUG: Sending PUBLISH (d0, q0, r1, m21), 'b'enoceanmqtt/shutter'', ... (55 bytes)
2024-04-30 20:56:55,197 DEBUG: enoceanmqtt/shutter/CMD4: Sent MQTT: {"DATE": "2024-04-30T20:56:55.195799", "POS": 0, "ANG": 0, "LOCK": 0, "CHN": 0}
2024-04-30 20:56:55,197 DEBUG: Sending PUBLISH (d0, q0, r1, m22), 'b'enoceanmqtt/shutter/CMD4'', ... (81 bytes)

i want change from FHEM to HA

Best Regards
Thomas

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

12.2

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)

024-04-30 20:54:07,469 DEBUG: Received PINGRESP
2024-04-30 20:55:02,129 DEBUG: Received PUBLISH (d0, q0, r0, m0), 'enoceanmqtt/shutter/req', ...  (82 bytes)
2024-04-30 20:55:02,130 DEBUG: Got MQTT message: enoceanmqtt/shutter/req
2024-04-30 20:55:02,130 DEBUG: enoceanmqtt/shutter: req={'CMD': 1, 'POS': 100, 'ANG': 127, 'REPO': 0, 'LOCK': 0, 'CHN': 0}
2024-04-30 20:55:02,130 DEBUG: Trigger message to: enoceanmqtt/shutter
2024-04-30 20:55:02,130 DEBUG: Retrieved command id from MQTT message: 0x1
2024-04-30 20:55:02,131 DEBUG: sensor data: {'CMD': 1, 'POS': 100, 'ANG': 127, 'REPO': 0, 'LOCK': 0, 'CHN': 0}
2024-04-30 20:55:02,132 INFO: sending: FF:C3:71:00->05:0E:D3:52 (-255 dBm): 0x01 ['0xd2', '0x64', '0x7f', '0x0', '0x1', '0xff', '0xc3', '0x71', '0x0', '0x0'] ['0x3', '0x5', '0xe', '0xd3', '0x52', '0xff', '0x0'] OrderedDict([('POS', {'description': 'Vertical position', 'unit': '', 'value': 'Output position 100%', 'raw_value': 100}), ('ANG', {'description': 'Rotation angle', 'unit': '', 'value': 'Do not change', 'raw_value': 127}), ('REPO', {'description': 'Repositioning', 'unit': '', 'value': 'Go directly to POS/ANG', 'raw_value': 0}), ('LOCK', {'description': 'Locking modes', 'unit': '', 'value': 'Do not change', 'raw_value': 0}), ('CHN', {'description': 'Channel', 'unit': '', 'value': 'Channel 1', 'raw_value': 0}), ('CMD', {'description': 'Command Id', 'unit': '', 'value': 'Command ID 1', 'raw_value': 1})])
2024-04-30 20:55:02,132 DEBUG: Clearing data buffer.
2024-04-30 20:55:02,191 INFO: Sending packet
2024-04-30 20:55:02,191 DEBUG: FF:C3:71:00->05:0E:D3:52 (-255 dBm): 0x01 ['0xd2', '0x64', '0x7f', '0x0', '0x1', '0xff', '0xc3', '0x71', '0x0', '0x0'] ['0x3', '0x5', '0xe', '0xd3', '0x52', '0xff', '0x0'] OrderedDict([('POS', {'description': 'Vertical position', 'unit': '', 'value': 'Output position 100%', 'raw_value': 100}), ('ANG', {'description': 'Rotation angle', 'unit': '', 'value': 'Do not change', 'raw_value': 127}), ('REPO', {'description': 'Repositioning', 'unit': '', 'value': 'Go directly to POS/ANG', 'raw_value': 0}), ('LOCK', {'description': 'Locking modes', 'unit': '', 'value': 'Do not change', 'raw_value': 0}), ('CHN', {'description': 'Channel', 'unit': '', 'value': 'Channel 1', 'raw_value': 0}), ('CMD', {'description': 'Command Id', 'unit': '', 'value': 'Command ID 1', 'raw_value': 1})])
2024-04-30 20:55:02,236 DEBUG: 0x02 ['0x0'] [] OrderedDict()
2024-04-30 20:55:02,236 INFO: got response packet: OK
2024-04-30 20:55:02,236 DEBUG: 0x04 ['0x8'] [] OrderedDict()
2024-04-30 20:55:02,236 INFO: got non-RF packet: 0x04 ['0x8'] [] OrderedDict()

Additional information

FHEM signal:

2024-04-30 20:56:55,078 DEBUG: FF:FA:41:82->05:0E:D3:52 (-37 dBm): 0x01 ['0xd2', '0x64', '0x7f', '0x0', '0xf1', '0xff', '0xfa', '0x41', '0x82', '0x80'] ['0x1', '0x5', '0xe', '0xd3', '0x52', '0x25', '0x0'] OrderedDict()
2024-04-30 20:56:55,079 INFO: unknown sensor: FF:FA:41:82
2024-04-30 20:56:55,195 DEBUG: 05:0E:D3:52->FF:FF:FF:FF (-56 dBm): 0x01 ['0xd2', '0x0', '0x0', '0x0', '0x4', '0x5', '0xe', '0xd3', '0x52', '0x0'] ['0x1', '0xff', '0xff', '0xff', '0xff', '0x38', '0x0'] OrderedDict()
2024-04-30 20:56:55,196 DEBUG: Retrieved command id from packet: 0x4
2024-04-30 20:56:55,196 DEBUG: enoceanmqtt/shutter: POS (Current vertical position)=Output position 0%
2024-04-30 20:56:55,196 DEBUG: enoceanmqtt/shutter: ANG (Current rotation angle)=Output angle 0%
2024-04-30 20:56:55,196 DEBUG: enoceanmqtt/shutter: LOCK (Current locking mode)=Normal (no lock)
2024-04-30 20:56:55,197 DEBUG: enoceanmqtt/shutter: CHN (Channel)=Channel 1
2024-04-30 20:56:55,197 DEBUG: enoceanmqtt/shutter: CMD (Command Id)=Command ID 4
2024-04-30 20:56:55,197 DEBUG: Sending PUBLISH (d0, q0, r1, m21), 'b'enoceanmqtt/shutter'', ... (55 bytes)
2024-04-30 20:56:55,197 DEBUG: enoceanmqtt/shutter/CMD4: Sent MQTT: {"DATE": "2024-04-30T20:56:55.195799", "POS": 0, "ANG": 0, "LOCK": 0, "CHN": 0}
2024-04-30 20:56:55,197 DEBUG: Sending PUBLISH (d0, q0, r1, m22), 'b'enoceanmqtt/shutter/CMD4'', ... (81 bytes)

Missing device_file, mapping_file and eep_file after Installation

The problem

Hi,

I installed the addon and there are the above mentioned Files Missing, so I can't configurate the Addon. Iam not able to start the Addon without these Files.

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)

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
[12:32:29] FATAL: 
[12:32:29] FATAL: A required add-on configuration option is missing!
[12:32:29] FATAL: 
[12:32:29] FATAL: Please set a value for the 'device_file' option.
[12:32:29] FATAL: 
[12:32:29] FATAL: If unsure, check the add-on manual for more information.
[12:32:29] FATAL: 
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

Additional information

No response

Bug ou Non

Hello

alors pour commence , super boulot @mak-gitdev

Je teste enocean , avec des nodon fil pilote

Par contre j'ai deux lignes qui reste sur inconnu
LC et OC

Et serais t(il possible de savoir a quoi sert les ligne qui parle de query , car la je suis largué !!
merci

1
2

HA_enoceanmqtt_addon Version 0.1.25 does not work

Hello, because i can´t create an issue in repository HA_enoceanmqtt_addon(dev) i am reporting the problem here.
With the version 0.1.23 all devices are updating in the dashboard, but with the new version not. But you can see that there are messages in the logs.

Installation fails "The command '/bin/ash -o pipefail........returned a non-zero code: 1"

The problem

After clicking on "Install" in Home Assistant Add-On store, attached error message is showing.
image

What type of installation are you running?

Standalone

What version of HA_enoceanmqtt has the issue?

0.1.28-1

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)

No response

Additional information

No response

Getting the following in the logfile every second: "INFO: Waiting for device base ID"

The problem

See title: enoceanmqtt not working, devices not beeing generated. Is this a communicaton problem with the serial connection?
I'm using the enoceanpi HAT. config.txt has been edided: enable_uart=1 dtoverlay=disable-bt

What type of installation are you running?

Standalone

What version of HA_enoceanmqtt has the issue?

Current version: 0.1.28-2

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)

No response

Additional information

No response

Configuring of docker version

I'm trying to use enoceanmqtt's docker image.
Since some things don't work as expected, I tried to use logging and custom mappings. Is there a way to set the paths to these files in the config?

I have already tried the following:

mapping_file = /config/mapping.yaml
log_file        = /config/enoceanmqtt.log

The problem I'm trying to figure out is a misrepresented cover.
Although it reports position 0, it is represented as closed in HA. Is this a problem of enoceanmqtt or of HA?

Cannot Integrate Winkhaus FM.V

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:

  • Create configuration entry with A5-14-01
  • Activate pairing
  • Press button
  • Get errors in log

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

A5-13-02 telegrams are interpreted as A5-13-01 telegrams

Hello,

I'm using a FWS61 in combination with a multisensor MS.
The EEP profiles a5-13-01 and a5-13-02 are supported on the same address. The identifier can be used to distinguish.
Currently, A5-13-02 telegrams are interpreted as A5-13-01 telegrams (see log).
Is it possible to get the data published as SNW, SNS, SNE... for identifier 2?

I tried as suggested to set command = ID, but this didn't work, see:

DEBUG: Created sensor: {'name': 'enocean2mqtt/Wetterstation', 'address': 94295962, 'rorg': 165, 'func': 19, 'type': 1, 'command': 'ID'}
...
DEBUG: 05:9E:D7:9A->FF:FF:FF:FF (-70 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x28', '0x5', '0x9e', '0xd7', '0x9a', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x46', '0x0'] OrderedDict()
INFO: received: 05:9E:D7:9A->FF:FF:FF:FF (-70 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x28', '0x5', '0x9e', '0xd7', '0x9a', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x46', '0x0'] OrderedDict()
DEBUG: enocean2mqtt/Wetterstation: DWS (Dawn sensor)=0.0 lx
DEBUG: enocean2mqtt/Wetterstation: TMP (Temperature)=-40.0 °C
DEBUG: enocean2mqtt/Wetterstation: WND (Wind speed)=0.0 m/s
DEBUG: enocean2mqtt/Wetterstation: ID (Identifier)=Identifier 2 
DEBUG: enocean2mqtt/Wetterstation: DN (Day / Night)=Day 
DEBUG: enocean2mqtt/Wetterstation: RAN (Rain Indication)=No Rain 
DEBUG: enocean2mqtt/Wetterstation: Sent MQTT: {"RSSI": -70, "DWS": 0.0, "TMP": -40.0, "WND": 0.0, "ID": 2, "DN": 0, "RAN": 0}
DEBUG: Sending PUBLISH (d0, q0, r1, m285), 'b'enocean2mqtt/Wetterstation'', ... (79 bytes)

Further, I tried also command = CMD, see:

Created sensor: {'name': 'enocean2mqtt/Wetterstation', 'address': 94295962, 'rorg': 165, 'func': 19, 'type': 1, 'command': 'CMD'}
...
DEBUG: 05:9E:D7:9A->FF:FF:FF:FF (-70 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x28', '0x5', '0x9e', '0xd7', '0x9a', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x46', '0x0'] OrderedDict()
INFO: received: 05:9E:D7:9A->FF:FF:FF:FF (-70 dBm): 0x01 ['0xa5', '0x0', '0x0', '0x0', '0x28', '0x5', '0x9e', '0xd7', '0x9a', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x46', '0x0'] OrderedDict()
DEBUG: enocean2mqtt/Wetterstation: DWS (Dawn sensor)=0.0 lx
DEBUG: enocean2mqtt/Wetterstation: TMP (Temperature)=-40.0 °C
DEBUG: enocean2mqtt/Wetterstation: WND (Wind speed)=0.0 m/s
DEBUG: enocean2mqtt/Wetterstation: ID (Identifier)=Identifier 2 
DEBUG: enocean2mqtt/Wetterstation: DN (Day / Night)=Day 
DEBUG: enocean2mqtt/Wetterstation: RAN (Rain Indication)=No Rain 
DEBUG: enocean2mqtt/Wetterstation: Sent MQTT: {"RSSI": -70, "DWS": 0.0, "TMP": -40.0, "WND": 0.0, "ID": 2, "DN": 0, "RAN": 0}
DEBUG: Sending PUBLISH (d0, q0, r1, m288), 'b'enocean2mqtt/Wetterstation'', ... (79 bytes)

No sensors on HA with Nodon SIN-2-1-01

The problem

First one, thnks for this great project that make EnOcean usable ;-)
I've an issue with this Nodon module who has Enocean protocol D2-01-0F (https://nodon.fr/support/module-multifonction/)
Identification and paring was fine but I cannot find in HA the two sensors of this module.
I have only the swith sensor visible to get feedback of the firt contat of the module but not access to the second contact in anyway.
As I ues for monitoring stage on my electrical pannel I miss one info per module (I've three of them)
A bug or native Enocean issue?

What type of installation are you running?

Standalone

What version of HA_enoceanmqtt has the issue?

0.1.27 (dev)

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)

2023-11-05 13:21:58,481 DEBUG: 05:98:07:FE->FF:FF:FF:FF (-61 dBm): 0x01 ['0xf6', '0x10', '0x5', '0x98', '0x7', '0xfe', '0x30'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x3d', '0x0'] OrderedDict()
2023-11-05 13:21:58,481 WARNING: message not interpretable: enoceanmqtt/supervisor/borne/sauna
2023-11-05 13:21:58,585 DEBUG: 05:98:07:FE->FF:FF:FF:FF (-64 dBm): 0x01 ['0xf6', '0x0', '0x5', '0x98', '0x7', '0xfe', '0x20'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x40', '0x0'] OrderedDict()
2023-11-05 13:21:58,586 WARNING: message not interpretable: enoceanmqtt/supervisor/borne/sauna
2023-11-05 13:21:59,173 DEBUG: 05:98:07:FE->FF:FF:FF:FF (-64 dBm): 0x01 ['0xd2', '0x4', '0x60', '0xe4', '0x5', '0x98', '0x7', '0xfe', '0x0'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x40', '0x0'] OrderedDict()
2023-11-05 13:21:59,174 DEBUG: Retrieved command id from packet: 0x4
2023-11-05 13:21:59,179 DEBUG: enoceanmqtt/supervisor/borne/sauna: PF (Power Failure)=Power Failure Detection disabled/not supported 
2023-11-05 13:21:59,180 DEBUG: enoceanmqtt/supervisor/borne/sauna: PFD (Power Failure Detection)=Power Failure Detection not detected/not supported/disabled 
2023-11-05 13:21:59,181 DEBUG: enoceanmqtt/supervisor/borne/sauna: CMD (Command identifier)=Command ID 4 
2023-11-05 13:21:59,181 DEBUG: enoceanmqtt/supervisor/borne/sauna: OC (Over current switch off)=Over current switch off: ready / not supported 
2023-11-05 13:21:59,182 DEBUG: enoceanmqtt/supervisor/borne/sauna: EL (Error level)=Error level not supported 
2023-11-05 13:21:59,182 DEBUG: enoceanmqtt/supervisor/borne/sauna: IO (I/O channel)=Output channel 0 (to load) 
2023-11-05 13:21:59,183 DEBUG: enoceanmqtt/supervisor/borne/sauna: LC (Local control)=Local control enabled 
2023-11-05 13:21:59,184 DEBUG: enoceanmqtt/supervisor/borne/sauna: OV (Output value)=Output value 100% or ON 
2023-11-05 13:21:59,184 DEBUG: Sending PUBLISH (d0, q0, r1, m80), 'b'enoceanmqtt/supervisor/borne/sauna'', ... (55 bytes)
2023-11-05 13:21:59,185 DEBUG: enoceanmqtt/supervisor/borne/sauna/CMD4: Sent MQTT: {"_DATE_": "2023-11-05T13:21:59.172981", "PF": 0, "PFD": 0, "OC": 0, "EL": 3, "IO": 0, "LC": 1, "OV": 100}
2023-11-05 13:21:59,186 DEBUG: Sending PUBLISH (d0, q0, r1, m81), 'b'enoceanmqtt/supervisor/borne/sauna/CMD4'', ... (106 bytes)

Additional information

Extract of debug level log when one contact is activated on the module.

Can't use % character in MQTT password (edited from Start the Addon)

When I try to start this Addon, I get this error:

Preparing to start... Retrieved devices file: /config/enoceanmqtt.devices.sample Starting EnOceanMQTT... /usr/lib/python3.10/site-packages/beautifulsoup4-4.11.2-py3.10.egg/bs4/builder/__init__.py:545: XMLParsedAsHTMLWarning: It looks like you're parsing an XML document using an HTML parser. If this really is an HTML document (maybe it's XHTML?), you can ignore or filter this warning. If it's XML, you should know that using an XML parser will be more reliable. To parse this document as XML, make sure you have the lxml package installed, and pass the keyword argument features="xml" into the BeautifulSoup constructor. warnings.warn( 2023-02-03 22:25:24,539 INFO: Logging to file: /config/enoceanmqtt.log 2023-02-03 22:25:24,540 INFO: Loading config file /data/enoceanmqtt.conf Traceback (most recent call last): File "/usr/bin/enoceanmqtt", line 33, in <module> sys.exit(load_entry_point('enocean-mqtt', 'console_scripts', 'enoceanmqtt')()) File "/app/enocean-mqtt/enoceanmqtt/enoceanmqtt.py", line 111, in main sensors, global_config = load_config_file(conf['config']) File "/app/enocean-mqtt/enoceanmqtt/enoceanmqtt.py", line 56, in load_config_file global_config[key] = config_parser[section][key] File "/usr/lib/python3.10/configparser.py", line 1259, in __getitem__ return self._parser.get(self._name, key) File "/usr/lib/python3.10/configparser.py", line 800, in get return self._interpolation.before_get(self, section, option, value, File "/usr/lib/python3.10/configparser.py", line 395, in before_get self._interpolate_some(parser, option, L, value, section, defaults, 1) File "/usr/lib/python3.10/configparser.py", line 442, in _interpolate_some raise InterpolationSyntaxError( configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: '%h&^3F9oM*RoM' s6-rc: info: service legacy-services: stopping s6-rc: info: service legacy-services successfully stopped s6-rc: info: service legacy-cont-init: stopping s6-rc: info: service legacy-cont-init successfully stopped s6-rc: info: service fix-attrs: stopping s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service s6rc-oneshot-runner successfully stopped

Addon installed fine but cannot run

The problem

https://community.home-assistant.io/t/enocean-with-ha-enoceanmqtt/491606/46

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

0.1.28-1

What was the last working version of HA_enoceanmqtt?

No response

What type of Home Assitant installation are you running?

None

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

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
Preparing to start…
Retrieved devices file: /config/enoceanmqtt.devices
use_dev_name_in_entity is USER-DEFINED (false)
Starting EnOceanMQTT…
/usr/lib/python3.11/html/parser.py:170: XMLParsedAsHTMLWarning: It looks like you’re parsing an XML document using an HTML parser. If this really is an HTML document (maybe it’s XHTML?), you can ignore or filter this warning. If it’s XML, you should know that using an XML parser will be more reliable. To parse this document as XML, make sure you have the lxml package installed, and pass the keyword argument features="xml" into the BeautifulSoup constructor.
k = self.parse_starttag(i)
2024-01-26 15:33:16,388 INFO: Logging to file: /config/enoceanmqtt.log
2024-01-26 15:33:16,389 INFO: Loading config file /data/enoceanmqtt.conf
2024-01-26 15:33:16,391 DEBUG: Global config: {‘enocean_port’: ‘/dev/ttyUSB0’, ‘log_packets’: ‘true’, ‘overlay’: ‘HA’, ‘db_file’: ‘/data/enoceanmqtt_db.json’, ‘mapping_file’: ‘’, ‘ha_dev_name_in_entity’: ‘false’, ‘mqtt_discovery_prefix’: ‘homeassistant/’, ‘mqtt_host’: ‘192.168.1.211’, ‘mqtt_port’: ‘1883’, ‘mqtt_client_id’: ‘enocean_gateway’, ‘mqtt_keepalive’: ‘60’, ‘mqtt_prefix’: ‘enoceanmqtt/’, ‘mqtt_user’: ‘XXX-XX’, ‘mqtt_pwd’: ‘*****’, ‘mqtt_debug’: ‘true’}
2024-01-26 15:33:16,469 INFO: Selected overlay : Home Assistant
2024-01-26 15:33:17,573 INFO: Mapping file correctly read: /app/enocean-mqtt/enoceanmqtt/overlays/homeassistant/mapping.yaml
2024-01-26 15:33:17,574 INFO: Device database /data/enoceanmqtt_db.json correctly read/created
Exception ignored in: <function Client.del at 0x7f7d982e80>
Traceback (most recent call last):
File “/app/venv/lib/python3.11/site-packages/paho_mqtt-2.0.0rc2-py3.11.egg/paho/mqtt/client.py”, line 850, in del
self._reset_sockets()
File “/app/venv/lib/python3.11/site-packages/paho_mqtt-2.0.0rc2-py3.11.egg/paho/mqtt/client.py”, line 1083, in _reset_sockets
self._sock_close()
File “/app/venv/lib/python3.11/site-packages/paho_mqtt-2.0.0rc2-py3.11.egg/paho/mqtt/client.py”, line 1069, in _sock_close
if not self._sock:
^^^^^^^^^^
AttributeError: ‘Client’ object has no attribute ‘_sock’
Traceback (most recent call last):
File “/app/venv/bin/enoceanmqtt”, line 33, in
sys.exit(load_entry_point(‘enocean-mqtt’, ‘console_scripts’, ‘enoceanmqtt’)())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/app/enocean-mqtt/enoceanmqtt/enoceanmqtt.py”, line 121, in main
com = HACommunicator(conf, sensors)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/app/enocean-mqtt/enoceanmqtt/overlays/homeassistant/ha_communicator.py”, line 74, in init
super().init(config, sensors)
File “/app/enocean-mqtt/enoceanmqtt/communicator.py”, line 43, in init
self.mqtt = mqtt.Client(client_id=client_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Client.init() missing 1 required positional argument: ‘callback_api_version’
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped


### Additional information

_No response_

0.1.24 dev no way to get it running

Hi Marc as already informed ... 0.1.24 simply does nothing at all. Not a single device.
Should I have uninstalled the existing dev version first? The updated did run through without errors.
But I do miss an updated mappings and some information for the devices on how to use multiple virutal buttons.

I'm actually thinking if I should downgrade since 2 days without this addon is a real pain.
apart from my nodon plus sending energy reading none of all my buttons works since I upgraded.

Hora Smartdrive MX (A5-20-04) problem / typos in mapping

The problem

Hi, I'm trying to use my Hora Smartdrive MX with EEP A5-20-04 properly using this addon. I wasn't able to send anything to the valve, I only could read the sensors.

After some time of getting used to the scripting of mapping.yaml and home assistant templating itself I found a few issues in the mapping.yaml. In line 3608 and line 3611 are typos, which prevented it to send any of those settings.

3608 (top is with typo):
{% elif entity is search('config_BLCS',ignorecase=True) %}
{% elif entity is search('config_BLC',ignorecase=True) %}

3611:
{% set ns.SER = states(entity).split("-")[0]|int(default=0) %} %}
{% set ns.SER = states(entity).split("-")[0]|int(default=0) %}

And thank you for this great addon! I really like the Enocean protocol and it's awesome that you're actively maintaining it for home assistant.

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

2024.1.3

What was the last working version of HA_enoceanmqtt?

2024.1.3

What type of Home Assitant installation are you running?

Home Assistant Core

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

No response

Additional information

No response

Log full of Waiting for device base ID

The problem

I have recently gotten a USB30 and I'm trying to use it to control my EnOcean lights and blinds. The setup consists of Eltako FSB12-12vdc controllers/recievers which are connected to switches all around the house. Now, I have connected the USB300 to an HAOS Virtualbox VM and followed the install guide for this Plugin along with this post to the step where the virtual switches should be learned in. However, none show up in the "devices" tab. I have also noticed the log getting flooded with "Waiting for device base ID", which itself is only displayed as INFO, but I suspect it has something to do with the issue.

(I have noticed another issue with the same problem which got closed as "Hardware Issue". However, it doesn't contain any solution so I don't know what caused the problem or whether that is even related to my problem)

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

0.1.28-2

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)

Full Startup Sequence
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
Preparing to start...
Retrieved devices file: /config/enoceanmqtt.devices
Overwrite use_dev_name_in_entity to FALSE
Starting EnOceanMQTT...
/usr/lib/python3.11/html/parser.py:170: XMLParsedAsHTMLWarning: It looks like you're parsing an XML document using an HTML parser. If this really is an HTML document (maybe it's XHTML?), you can ignore or filter this warning. If it's XML, you should know that using an XML parser will be more reliable. To parse this document as XML, make sure you have the lxml package installed, and pass the keyword argument `features="xml"` into the BeautifulSoup constructor.
  k = self.parse_starttag(i)
2024-05-09 14:18:24,399 INFO: Logging to file: /config/enoceanmqtt.log
2024-05-09 14:18:24,399 INFO: Loading config file /data/enoceanmqtt.conf
2024-05-09 14:18:24,414 INFO: Selected overlay : Home Assistant
2024-05-09 14:18:24,609 INFO: Mapping file correctly read: /app/enocean-mqtt/enoceanmqtt/overlays/homeassistant/mapping.yaml
2024-05-09 14:18:24,609 INFO: Device database /data/enoceanmqtt_db.json correctly read/created
2024-05-09 14:18:24,610 INFO: Authenticating: addons
2024-05-09 14:18:24,613 INFO: Succesfully connected to MQTT broker.
2024-05-09 14:18:24,615 INFO: SerialCommunicator started
2024-05-09 14:18:24,615 INFO: Auto Teach-in is disabled
2024-05-09 14:18:24,616 WARNING: Replacing Packet.optional with default value.
2024-05-09 14:18:24,629 INFO: Device enoceanmqtt/oben/timon/zimmer (UID: F60201_FFFFFFFF_FFA6E480 / EEP: F6-02-01) updated on device database
2024-05-09 14:18:24,634 INFO: Device enoceanmqtt/oben/hannah/zimmer (UID: F60201_FFFFFFFF_FFA6E481 / EEP: F6-02-01) updated on device database
2024-05-09 14:18:24,638 INFO: Device enoceanmqtt/oben/schlafzimmer/zimmer (UID: F60201_FFFFFFFF_FFA6E482 / EEP: F6-02-01) updated on device database
2024-05-09 14:18:24,642 INFO: Device enoceanmqtt/oben/bad/zimmer (UID: F60201_FFFFFFFF_FFA6E483 / EEP: F6-02-01) updated on device database
2024-05-09 14:18:24,646 INFO: Device enoceanmqtt/oben/flur/licht (UID: F60201_FFFFFFFF_FFA6E484 / EEP: F6-02-01) updated on device database
2024-05-09 14:18:24,650 INFO: Device enoceanmqtt/oben/kammer/licht (UID: F60201_FFFFFFFF_FFA6E485 / EEP: F6-02-01) updated on device database
2024-05-09 14:18:24,717 INFO: Sending packet
2024-05-09 14:18:25,650 INFO: Waiting for device base ID
2024-05-09 14:18:26,651 INFO: Waiting for device base ID
2024-05-09 14:18:27,652 INFO: Waiting for device base ID
2024-05-09 14:18:28,652 INFO: Waiting for device base ID
2024-05-09 14:18:29,653 INFO: Waiting for device base ID´´´

"Waiting for device base ID" repeats every second until the addon is stopped

Additional information

New Information

After trying out some stuff, I found out that when I delete MQTT, Restart and then reinstall MQTT i can press "Send" and have the LED light up. However, after another restart this breaks again.

Setpoint of A5-10-03 is sent unscaled

The problem

I have several devices of the same manufacturer and type A5-10-03 (temperature and set point control). The temperature is shown correctly, but the set point it shown in a range of 0..255, afaik. For example, In Homeassistant it‘s shown as ~100°C when I‘ve set the set point on the device to about 20°C.

Afaik the interpretation of the 0..255 range is manufacturer specific. http://tools.enocean-alliance.org/EEPViewer/profiles/A5/10/03/A5-10-03_ip.pdf

Is there perhaps a way to tell the software what it should do with the value to let me see the correct values in HA?

Unscaled value:

What type of installation are you running?

Standalone

What version of HA_enoceanmqtt has the issue?

Latest

What was the last working version of HA_enoceanmqtt?

No response

What type of Home Assitant installation are you running?

Home Assistant Core

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

No response

Additional information

No response

Problem with Standalone-Installation

The problem

Hello,

I have a problem with the Standalone-Installation of HA_enoceanmqtt.
I run it in a LXC-Container in Proxmox with Ubuntu 23.04.
Its a privileged Container, otherwise USB will not work correctly.

The Installation with the Script runs smoothly i think:
https://pastebin.com/RBAZ4Y6z

The Script is in "/etc/enoceanmqtt", so the Installation-Path is "/etc/enoceanmqtt/enocean-mqtt".
I also put the "enoceanmqtt.conf"-File in "/etc" and changed it for my desires:
https://pastebin.com/PnWvsgS7

Now if i want to run "enoceanmqtt" in the console i get the error "Command not found"

Did i do something wrong?
Im not that familiar with the terminal yet.

Thanks in advance!

What type of installation are you running?

Standalone

What version of HA_enoceanmqtt has the issue?

No response

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)

No response

Additional information

No response

Missing `state_class: measurement` prevents plotting

The problem

I have a sensor providing temperature and setpoint:

[my room]
address = 0x123456
rorg = 0xA5
func = 0x10
type = 0x03

In HA, the sensor doesn't have a state_class attached. Plotting the temperature in a statistics tile is only possible with a state_class value.
I added a custom mapping.yaml with a state_class: measurement for the device type above. After the change it was possible to plot the temperature (and setpoint).

I could certainly provide a PR for this change, but I'll probably won't be able to create a large one updating all temperature sensors, for example.

What type of installation are you running?

Docker

What version of HA_enoceanmqtt has the issue?

No response

What was the last working version of HA_enoceanmqtt?

No response

What type of Home Assitant installation are you running?

None

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

No response

Additional information

No response

Can't starting HA_enoceanmqtt addon

The problem

Hello, i have a problem to start the add on in Home Assistant with the last version of the addon (EnOcean MQTT (dev) 0.1.28-1)

I create the device file "enoceanmqtt.devices" in /config/

image

Can you help me please ?
Thanks

Eric

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

0.1.28-1

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)

Preparing to start...
Retrieved devices file: /config/enoceanmqtt.devices
use_dev_name_in_entity is USER-DEFINED (false)
cat: can't open '/config/enoceanmqtt.devices': No such file or directory

Additional information

No response

1 day later ... everything stopped working after 24hrs

Log snipped from the EnOcean MQTT Log from within Home Assistant
---cut---cut---cut---
INFO: Auto Teach-in is disabled
2022-11-20 14:05:01,474 WARNING: Replacing Packet.optional with default value.
2022-11-20 14:05:01,477 INFO: Succesfully connected to MQTT broker.
2022-11-20 14:05:01,477 WARNING: Replacing Packet.optional with default value.
2022-11-20 14:05:01,575 INFO: Sending packet
2022-11-20 14:05:01,575 INFO: Sending packet
Exception in thread Thread-1 (_thread_main):
Traceback (most recent call last):
File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/usr/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 3591, in _thread_main
self.loop_forever(retry_first_connection=True)
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 1756, in loop_forever
rc = self._loop(timeout)
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 1164, in _loop
rc = self.loop_read()
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 1556, in loop_read
rc = self._packet_read()
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 2439, in _packet_read
rc = self._packet_handle()
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 3039, in _packet_handle
return self._handle_connack()
File "/usr/lib/python3.10/site-packages/paho_mqtt-1.6.1-py3.10.egg/paho/mqtt/client.py", line 3138, in _handle_connack
on_connect(
File "/app/enocean-mqtt/enoceanmqtt/overlays/homeassistant/ha_communicator.py", line 87, in _on_connect
self._mqtt_discovery_system('learn')
File "/app/enocean-mqtt/enoceanmqtt/overlays/homeassistant/ha_communicator.py", line 149, in _mqtt_discovery_system
sender = enocean.utils.combine_hex(self.enocean_sender)
File "/usr/lib/python3.10/site-packages/enocean-0.60.1-py3.10.egg/enocean/utils.py", line 13, in combine_hex
for i, value in enumerate(reversed(data)):
TypeError: 'NoneType' object is not reversible
---cut---cut---

any idea what happened?
by now none of the 2 rockers work. better said one of them is now permanently on? (taster kein schalter if you know what I mean)
snap3

happend while I was in the process to add another rocker ... same model, same tpye.
I added it to the enoceanmqtt.devices file like this
[gira_4way_1]
address = 0xFEE50F9C
rorg = 0xF6
func = 0x02
type = 0x01
[gira_4way_2]
address = 0xFEE3448D
rorg = 0xF6
func = 0x02
type = 0x01
second one is the new one. And before having rebooted HA I was even able to see the "unknown device : FE E3 44 8D ... but then everything stopped and I found the log from above.

MQTT discovery not working?

Hi all! I'm trying this great "overlay" to finally be able to activate some lights through enocean.

However no MQTT devices appear. I'm using a local mosquitto without password.

Here's my log (using docker-compose):

sudo docker logs ha_enoceanmqtt_dev                                                                                                          < ~homeassistant/.homeassistant (:|✔)[15:28:13]
/usr/local/lib/python3.11/site-packages/beautifulsoup4-4.11.2-py3.11.egg/bs4/builder/__init__.py:545: XMLParsedAsHTMLWarning: It looks like you're parsing an XML document using an HTML parser. If this really is an HTML document (maybe it's XHTML?), you can ignore or filter this warning. If it's XML, you should know that using an XML parser will be more reliable. To parse this document as XML, make sure you have the lxml package installed, and pass the keyword argument `features="xml"` into the BeautifulSoup constructor.
  warnings.warn(
2023-03-31 13:27:58,369 INFO: Logging to file: /app/enocean-mqtt/enoceanmqtt/../enoceanmqtt.log
2023-03-31 13:27:58,370 INFO: Loading config file /config/enoceanmqtt.conf
2023-03-31 13:27:58,372 INFO: Loading config file /config/enoceanmqtt.conf
2023-03-31 13:27:58,374 INFO: Selected overlay : Home Assistant
2023-03-31 13:27:59,354 INFO: Mapping file correctly read: /app/enocean-mqtt/enoceanmqtt/overlays/homeassistant/mapping.yaml
2023-03-31 13:27:59,355 INFO: Device database /app/enocean-mqtt/enoceanmqtt/overlays/homeassistant/device_db.json correctly read/created

Here's my config file:

## the general section defines parameter for the mqtt broker and the enocean interface
[CONFIG]
enocean_port    = /dev/enocean
log_packets     = 1
overlay         = HA

## the discovery prefix is used by MQTT discovery in Home Assistant
mqtt_discovery_prefix = homeassistant/

mqtt_host       = localhost
mqtt_port       = 1883
mqtt_client_id  = enocean_gateway   # ensure that this is unique if you use multiple clients

## setting mqtt_keepalive = 0 sets the timeout to infinitive but does not work reliably
## due to an upstream issue https://github.com/eclipse/paho.mqtt.python/issues/473
mqtt_keepalive  = 60

## the prefix is used for the mqtt value names; this is extended by the sensor name
mqtt_prefix     = enoceanmqtt/

# Set mqtt_user and mqtt_pwd (don't use quotes).
#mqtt_user       =
#mqtt_pwd        =

## enable SSL on MQTT connection
## Ensure that mqtt_host matches one of the hostnames contained in the broker's
## certificate, otherwise the client will refuse to connect.
##
## mqtt_ssl_ca_certs: CA certificates to be treated as trusted. Required if
##     the MQTT broker is configured with a self-signed certificate.
## mqtt_ssl_certfile, mqtt_ssl_keyfile: Client certificate and private key.
##     Only required if the broker requires clients to present a certificate.
## mqtt_ssl_insecure: Disable verification of the broker's certificate.
##     WARNING: do NOT use on production systems as this is insecure!
##
# mqtt_ssl          = true
# mqtt_ssl_ca_certs = /path/CA_files_merged.pem
# mqtt_ssl_certfile = /path/client_cert.pem
# mqtt_ssl_keyfile  = /path/client_key.pem
# mqtt_ssl_insecure = true

## Enable/Disable MQTT debugging. Requires --debug on the command line.
mqtt_debug      = false


## all other sections define the sensors to monitor

[virtualButton1]
address = 0xFFFFFFFF
rorg    = 0xF6
func    = 0x02
type    = 0x01
sender  = 0xFFDA5580
virtual = 1

I've got no devices inside HA. Probably a noob problem :)
image

Any idea what is going wrong? :) Thanks!

hmmm works similar to all my previous attempts with enocean in total by 0%

got some buttons .......
the EnOcan MQTT says
unknown sensor: FE:E5:0F:0C and since that's 4 items against all your documentation I've seen I don't have the slighest idea about what to do.
Any idea?
Once I manged to get them work somehow inside node-red using an Enocean integtration but I never came close to the point where even this worked reliable. Enocean is still the biggest miracle I ever across in my life. It's the opposite of WiFi .... which simply always works no matter if one's 100% noob. Enocean in return is something where you could invest weeks without gettting the smallest step further. That's my experience so far, while I still like the idea behind Enocean.

nevertheless the EnOcean MQTT HA integration makes things lots easier.

Unable to install standalone on bookworm

The problem

After launching the installation, I have the following error for each python install:
`Install pyyaml==6.0.1

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.

If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.

For more information visit http://rptl.io/venv

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.`

I saw that the message talk about virtual environment but I don't konw how to use it and if it will solve the problem.

What type of installation are you running?

Standalone

What version of HA_enoceanmqtt has the issue?

No response

What was the last working version of HA_enoceanmqtt?

No response

What type of Home Assitant installation are you running?

None

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

Install on a Raspberry pi 3 B+ with bookworm

Additional information

No response

enoceanmqtt.service: Main process exited, status=200/CHDIR

The problem

I am trying to set up HA_enoceanmqtt as standalone version in a proxmox LXC container.

When trying to start the enoceanmqtt.service, it exits with a status=200/CHDIR message. I am not really sure what to make with that error.

andi@enocean2mqtt:~/enocean-mqtt$ sudo systemctl status enoceanmqtt
* enoceanmqtt.service - EnOcean MQTT Forwarder
     Loaded: loaded (/etc/systemd/system/enoceanmqtt.service; enabled; preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Fri 2024-06-21 22:11:39 CEST; 8s ago
    Process: 864 ExecStart=/usr/local/bin/enoceanmqtt (code=exited, status=200/CHDIR)
   Main PID: 864 (code=exited, status=200/CHDIR)
        CPU: 799us

Jun 21 22:11:39 enocean2mqtt systemd[1]: enoceanmqtt.service: Main process exited, code=exited, status=200/CHDIR
Jun 21 22:11:39 enocean2mqtt systemd[1]: enoceanmqtt.service: Failed with result 'exit-code'.

What type of installation are you running?

Standalone

What version of HA_enoceanmqtt has the issue?

0.1.28

What was the last working version of HA_enoceanmqtt?

No response

What type of Home Assitant installation are you running?

None

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

No response

Additional information

No response

HA warning: "Discovered entities with a name that starts with the device name"

The problem

Currently Home Assisant warns:

Discovered entities with a name that starts with the device name

Some MQTT entities have an entity name that starts with the device name. This is not expected. To avoid a duplicate name the device name prefix is stripped of the entity name as a work-a-round. Please inform the maintainer of the software application that supplies the affected entities to fix this issue.

List of affected entities:

[...List of all EnOcean devices.]

ha_warning

What support, information or help can I provide to help fix this before the release of 2024.2.0.?

What type of installation are you running?

Addon

What version of HA_enoceanmqtt has the issue?

0.1.26

What type of Home Assitant installation are you running?

Home Assistant OS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.