EnOcean with HA_enoceanmqtt

Oke some reading again this is where I stand:
After I send a “on” command the following happens:

So the command (yellow) is recognized, the “on” command (green) is also recognized but the dimm value (blue) 64 = 100% not. I tried al lot of mapping options but cannot filter the EDIM value out.

I installed MQTT Explorer to see what is going on there and it looks like it knows what to expect since it adds al these values in homeassistant.

But also here the EDIM value is not visible. Could someone point me in the right direction to edit the mapping file to get all the values in enoceanmqtt.

Hi @heubie,

Ok. I see what happen.
Could you please share your mapping code for A5-38-08 ?
So that I could better explain what’s going on

Hi @mak-dev,

I found the error I gues. I used “command: CMD” but when I use “command: COM” it works.

 0x38: # start input heubie
     0x08:

     device_config:

        command: "COM"

        channel: "COM"

        log_learn: ""

     entities:

        - component: light

          name: "SW"

          config:

             state_topic: ""

             value_template: "{{ value_json.SW }}"

             value_template: >-

               {% if value_json.OC == 1 %}on{% else %}off{% endif %}

        - component: sendor

          name: "Command ID"

          config:

             state_topic: ""

             value_template: "{{ value_json.COM }}"

        - component: number

          name: "Dimm value"

          config:

             state_topic: "2"

             value_template: "{{ value_json.EDIM }}"

        - component: number

          name: "Timming"

          config:

             state_topic: "1"

             value_template: "{{ value_json.TIM }}"  

             # stop input heubie

The next step is to get a card like the one which is used with a “normal enocean” FUD12 .
Where the slider and light are used as readout but also as setting the FUD12…
I gues some more reading to do…

But first I need to get some Entities with the device, for some reason they don’t show up.
I only have the Delete Button and the RSSI value but nothing else.

Hi @mak-dev,

I did some more playing around (I would to like to know how to code…but this is still playing)
like mentioned yesterday I got it working (sort off).
The values are seen by enoceanmqtt and they do show up in Mosquitto. But when I look at the devices and entities only the button for [delete] and the RSSI value show up. Even tough I have values for EDIM, SW I cannot get Mosquitto to create an entity for a light.

This is my mapping part.
0x38: # start input heubie

  0x08:

     device_config:

        command: "COM"

        channel: "CMD"

        log_learn: ""

     entities:

        - component: light

          name: "State"

          config:

             state_topic: "SW"

             state_value_template: >-

               {% if value_json.SW == 1 %}on{% else %}off{% endif %}

        - component: sensor

          name: "Command ID"

          config:

             state_topic: ""

             value_template: "{{ value_json.COM }}"

        - component: light

          name: "Brightness"

          config:

             state_topic: "2"

             brightness_value_template: "{{ value_json.EDIM }}"

        - component: number

          name: "Timming"

          config:

             state_topic: "1"

             value_template: "{{ value_json.TIM }}"

and these errors show up in Home-assistant.log when I restart EnoceanMQTT.

2023-02-03 16:10:03.924 ERROR (MainThread) [homeassistant.util.logging] Exception in async_discover when dispatching ‘mqtt_discovery_new_number_mqtt’: ({‘state_topic’: ‘enoceanmqtt/light/zitkuil_R/1’, ‘value_template’: ‘{{ value_json.TIM }}’, ‘unique_id’: ‘enocean_A53808_FF8CE884_Timming’, ‘name’: ‘e2m_light_zitkuil_R_Timming’, ‘device’: {‘name’: ‘e2m_light_zitkuil_R’, ‘identifiers’: ‘FF8CE884’, ‘model’: ‘A5-38-08 @FF8CE884’, ‘manufacturer’: ‘EnOcean’}, ‘platform’: ‘mqtt’},)
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py”, line 334, in async_discover
config: DiscoveryInfoType = discovery_schema(discovery_payload)
File “/usr/local/lib/python3.10/site-packages/voluptuous/validators.py”, line 232, in call
return self._exec((Schema(val) for val in self.validators), v)
File “/usr/local/lib/python3.10/site-packages/voluptuous/validators.py”, line 355, in _exec
raise e if self.msg is None else AllInvalid(self.msg, path=path)
File “/usr/local/lib/python3.10/site-packages/voluptuous/validators.py”, line 351, in _exec
v = func(v)
File “/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py”, line 272, in call
return self._compiled([], data)
File “/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py”, line 818, in validate_callable
return schema(data)
File “/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py”, line 272, in call
return self._compiled([], data)
File “/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py”, line 595, in validate_dict
return base_validate(path, iteritems(data), out)
File “/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py”, line 433, in validate_mapping
raise er.MultipleInvalid(errors)
voluptuous.error.MultipleInvalid: required key not provided @ data[‘command_topic’]

Can you (or anybody else) to take that last step?

Dear @heubie did you step forward - I think I am on the same point like, but not able to act my switches…
And even there is the problem that I have to restart the AddOn and the device config everyday new, if not my switches are lost… and I am even so

thanks i will test it

Hi mak-dev,
first of all thanks for developing the HA_enoceanmqtt-addon.

I spent already hours to get it working but I am still struggeling with my window sensors.

The sensors are ELTAKO mTronic Window sensors, which follow the A5-14-0A profile.

I compared the eep file with the data I receive from the sensors (with dolphin view protocol analyzer & USB300 dongle) and in my opinion is the sensor exactly that doing what it should do (according eep).

I checked also the mapping.yaml and could not find any mistake (just about the device_config section I am not really sure).

But, I still get the log entry that the data are not intepretable and so sensors (checked by MQTT Explorer and in home assistant) remains unknown… Can you support me somehow?

Thanks in advance,
BR MO

Eltako mTRONIC (EEP A5-14-0A)

4 Byte Data

  • Offset 0, Length 8: voltage 0…5V (0…250)
  • Offset 28, Length 1: Data/ TeachIn - Telegram (0d = TeachIn Telegram, 1d = Data Telegram)
  • Offset 29, Length 2: Window status (0d = closed, 1d = tilt, 2d = reserved, 3d = open)
  • Offset 31, Length 1: Vibration/ Tamper Alarm (0d = no Alarm, 1d = Alarm)

→ Following EEP seems to be fine:

  <profile type="0x0A" description="Window/Door-Sensor with States Open/Closed/Tilt, Supply voltage monitor and Vibration detection">
    <data>
      <value description="Supply voltage / super cap. (linear)" shortcut="SVC" offset="0" size="8" unit="V">
        <range>
          <min>0</min>
          <max>250</max>
        </range>
        <scale>
          <min>0</min>
          <max>5.0</max>
        </scale>
      </value>
      <enum description="Contact" shortcut="CT" offset="29" size="2">
        <item description="Closed" value="0" />
        <item description="Tilt" value="1" />
        <item description="Reserved" value="2" />
        <item description="Open" value="3" />
      </enum>
      <enum description="Contact" shortcut="VIB" offset="31" size="1">
        <item description="Vibration detected" value="1" />
        <item description="No vibration detected" value="0" />
      </enum>
    </data>
  </profile>

→ Following Mapping seems to fine (but I am not sure about the device config).

  0x0A:
     device_config:
        command: ""
        channel: ""
        log_learn: ""
        direction: "1"
        answer: "1"
     entities:
        - component: "sensor"
          name: "v_raw"
          config:
             state_topic: ""
             value_template: "{{ value_json.SVC }}"
             device_class: "voltage"
             enabled_by_default: "false"
        - component: "sensor"
          name: "voltage"
          config:
             state_topic: ""
             value_template: "{{ value_json.SVC | round(2) }}"
             device_class: "voltage"
        - component: binary_sensor
          name: "state_2p"
          config:
             state_topic: ""
             value_template: >-
               {% if value_json.CT == 0 %}OFF{% else %}ON{% endif %}
             device_class: "window"
        - component: sensor
          name: "state_3p"
          config:
             state_topic: ""
             value_template: >-
               {% if value_json.CT == 0 %}off{% elif value_json.CT == 1 %}tilt{% elif value_json.CT == 3 %}open{% else %}reserved{% endif %}
        - component: binary_sensor
          name: "vib"
          config:
             state_topic: ""
             value_template: >-
               {% if value_json.VIB == 1 %}ON{% else %}OFF{% endif %}
             device_class: "vibration"

Hi @TheMO,

Please have a look at this discussion, especially this answer.

1 Like

Hi @mak-dev, thank you so much, that was the reason. It works fine now.

Best regards,
TheMO

1 Like

Hi mak-dev,
after struggeling with some problems my integration runs well and all light can be switched and also correlated to the actual status.
My problem now is to integrate the FSB covers with their status. The problem is, that I found that there is a EEP G5-3F-7F and A5-3F-7F used to transmit the status. But it is not so easy for me to implement that in the EEP.xml - could you make any suggestion to that - found out some others would be also interested for that.
Thanks in advance.

Hi @SteffenS27,

I replied on github but will do it here as well with more details.

The real issue is not on the support of these EEP in the EEP file (A5-3F-7F is now available in the latest version) but in the fact that the current version supports only one EEP per address.
FSB covers require 2 EEP per address, one to send open/closed status similar to F6-02-01 and a more detailed one using A5-3F-7F to indicate the running time when the device is stopped while the cover is not fully open/closed.

The good news is that I am working on it and support should be available in 2-3 weeks.
With the modifications I am doing, you will only have to add in the device configuration:

[FSB61NP]
address = 0xDEADBEEF
model   = eltako/FSB61NP (syntax may change)

And you will have in HA something like:
image

  • One button to send the pairing telegram to pair the EnOcean transceiver to the Eltako device.
  • The cover entity.
  • A number entry to configure the time needed to close/open the cover as it is needed to calculate the position.

No more need to use a virtual rocker.

2 Likes

From now on, I will report here whenever a new version is available.

Release 0.1.28 available.
Supported devices.

Hello @mak-dev
any news on A5-38-08? I can see it is still not on the supported device list. I have FUD61 dimmer and would like to integrate itt.
Thanks. br tom

Hi @tluethi71,

As previously said, the support for Eltako devices will be available very soon :wink:

2 Likes

hi @mak-dev
another question. I am pretty new on HA. I like it a lot. At the moment I am migrating 37 enocean devices from my former FHEM installation to HA. Step by step. I now have successfully integrated 2 motion detector (nodon, A5-07-03) and 1 switch (nodon, D2-01-12) and 2 rocker switch (F6-02-01). I am now monitoring if everything works fine before i will configure new ones. Looking at the Logfile I noticed a lot of the following messages:

“MQTT entity name starts with the device name in your config”

I have changed the device names couple of times, nothing changed.I read (in a zigbee2mqtt post) that those messages can be ignored. But they are bulking the log file… Is this problem known and how can I avoid those messages?

thanks
Br tom

Hi @tluethi71,

I have changed the device names couple of times, nothing changed

You don’t need to do anything. This is handled on my side.

What is your current version of HA ?
How did you install HA_enoceanmqtt (addon, docker, standalone) and which version are you using ?

Hi @mak-dev
I have 2023.12.0 HAOS. I installed HA_enoceanmqtt as an addon. 0.1.28.
Does this help?
Br Tom

@tluethi71,

On the configuration tab, you should have an option named use_dev_name_in_entity.
Make sure this is disabled.

@mak-dev Thanks for the quick reply. It is already deactivated…