Sorry for my late response.
You can start with no device configured in your device list.
Just start the addon with debug and log_packets enabled.
Then just generate some EnOcean traffic.
Then your log should be filled with lines like unknown sensor XX:XX:XX:XX and packet information.
From your log, it seems that the EEP you set in your device file is not correct.
As you can see, the first byte of the packet is 0xA5 which means that your device have rorg = 0xA5 instead of rorg = 0xD5. Hence I am sure that func and type are also different.
What is the reference of your device ? I can help you find your EEP.
Ok so either the specs are wrong or you may have used a wrong device address.
Because for sure, the devices with addresses 0xFFBD7480 and 0xFFE41B00 have their RORG equal to 0xA5.
How did you generate the log ? How did you find the device addresses ?
Also, if these devices have a learn button, please press it and report the log. You should have something like âlearn message not emitted to MQTTâ in the log.
I got two questions and would appreciate any help:
Can anyone please tell me how I can figure out the base ID of my EnOcean USB300 stick? This is needed to transmit any signals. Receiving works fine, but so far I cant transmit anything.
I am currently trying to figure our how to switch an individual (virtual) button. For example, I try to mimik my 2 rocker switches, EEP F6-02-01. They have two rockers with two states each: âonâ or âoffâ. Since they only show up as binary_senors in MQTT, I canât set them individually. If I trigger an event: âbutton_pressedâ, it will change the state on all 4 binary sensors simultaneously. I need to set them individually to turn the lights âonâ or âoffâ
1- EnOcean Base ID is reported in the MQTT integration on ENOCEANMQTT device. Look at the Whatâs new discussion on github for more details (on 2022/11/25).
2- If I correctly understood, you want HA to generate F6-02-01 telegrams ? This is not yet available but can be achieved with a kind of a hack of the existing code. See this github discussion for more details.
Iâve been running an Eltako setup for more then 10 years now on a FHEM system. But since we installed a SMA solar installation and Heliotherm heatpump FHEM is not up to the task of running my domotica. So I switched to Home assistant.
Everything is running except⌠you guest Enocean.
I do have a good understanding on how everything works on FHEM and I bought a USB300 and cloned the starting adress of my tcm120 (which is the interface on my old system)
This gives me the oportunitie to keep the old system running and migrate step by step to HA.
I have seen in the logging that the USB300 is working and the packages do show.
Next step is to see if I can get some of my FUD12 (dimmer) and FSR12 (relay) showing up in MQTT and here where it gets dificult. I did copy the âenoceanmqtt.devices.samplâ and changed the address of rocker 1 to one of my FSRâs but how do I switch this device.
Iâm running Generic X86 on a NUC and EnOcean MQTT (dev) as an addon.
Could someone explain me how to control one of the two devices so I can build my knowledge from there.
I implemented 3 switches and added them to a dashboard to do some testing. If I press this is visible in the dashboard. So al is good.
If I intergrade the USB300 as a ânormal intergrationâ and add a light in configuration.yaml iâm able to add this light (controlled by a FUD12) to the same dashboard.
code:
I can control it On, Off and Dim. But of coarse the USB300 is now controlled by the ânormal intergrationâ and the MQTT part does not work anymore.
So my question is, how do add a device in (I guess in mapping.yaml) to act as if is does when using the light.py from the ânormal Enocean Intergrationâ
Sorry, I donât understand your question. What do you mean by add a device ?
Depending on that, the answer can be either enoceanmqtt.devices or mapping.yaml.
In general, Eltako devices have some particularities and are not well supported yet.
But some of them are supported out of the box.
As it seems FUD12 works with the EnOcean integration, then there is a high probability that it is controllable by A5-38-08 telegrams.
A5-38-08 is in the To-Do list.
If I understand how it works⌠and that is a BIG IF of course⌠I hope I did the right thing by:
I made a copy of the mapping.yaml and placed it in /config and made sure in de config to use this one.
I copied the light D2-01-12 and made a D2-01-13 to do some testing.
In devices I made the following device:
[eltako/test light]
address = 0xFF8CE888 â is id learned in FHEM (base +8)
rorg = 0xD2
func = 0x01
type = 0x013
sender_id = 0xFF8CE888 â used as above since this works in the ânormal enoceanâ
I looked up in light.py from enocean what they send
command = [0xA5, 0x02, bval, 0x01, 0x09]
command.extend(self._sender_id)
command.extend([0x00])
self.send_command(command, , 0x01) #bval is dimm value between 0 an 64 (0 to 100%)
So to start of I want to edit the mapping file to get two buttons:
one who sends A5 02 64 01 09 sender_id 00 ?? 01 â for on because 64 = 100%
one who sends A5 02 00 01 09 sender_id 00 ?? 01 â for off 0%
?? for the which I donât understand.
In a later stage I would like to be able to send also a value which is determined by a slider to dim the light.
I hope this makes sense since I new to Home Assistant.
I think you are right with the telegram since I looked up the FUD12 EEP (G5-38-08)
Hi mak-dev ⌠spent some more time on the D2-01-0E and tried to understand what you do in the mappings against comparing the eep-viewer documents.
Learning from your feedback I think and got what the changed payloads are doing in the âswitchâ section of the mappings file.
Perhaps not reporting power/energy got to do with CMD5 missing? And a question, would it be that easy to simply add such buttons to the mappings or does is need more code from your side under the hood?
Like justone Iâm trying to work out how the mapping file works.
I added the 0x38 0x08 to the mapping file and adjusted the device file.
I do get the switch(SW) to work and come back with âonâ and âoffâ
but when I send a dim value of 50 the I cannot get this value(EDIM) to show up.
2023-02-01 22:07:14,631 DEBUG: FF:8C:E8:88->FF:FF:FF:FF (-57 dBm): 0x01 [â0xa5â, â0x2â, â0x32â, â0x1â, â0x9â, â0xffâ, â0x8câ, â0xe8â, â0x88â, â0x0â] [â0x0â, â0xffâ, â0xffâ, â0xffâ, â0xffâ, â0x39â, â0x0â] OrderedDict()
2023-02-01 22:07:14,632 INFO: received: FF:8C:E8:88->FF:FF:FF:FF (-57 dBm): 0x01 [â0xa5â, â0x2â, â0x32â, â0x1â, â0x9â, â0xffâ, â0x8câ, â0xe8â, â0x88â, â0x0â] [â0x0â, â0xffâ, â0xffâ, â0xffâ, â0xffâ, â0x39â, â0x0â] OrderedDict()
2023-02-01 22:07:14,636 DEBUG: enoceanmqtt/lights/waseiland: COM (Command ID)=Command ID 2
2023-02-01 22:07:14,637 DEBUG: enoceanmqtt/lights/waseiland: TIM (Time in 1/10 seconds. 0 = no time specifed)=1280.1 s
2023-02-01 22:07:14,637 DEBUG: enoceanmqtt/lights/waseiland: LCK (Lock for duration time if time >0, unlimited time of no time specified. Locking may be cleared with âunlockâ. During lock phase no other commands will be accepted or executed)=Unlock
2023-02-01 22:07:14,638 DEBUG: enoceanmqtt/lights/waseiland: DEL (Delay or duration (if Time > 0); 0 = Duration (Execute switching command immediately and switch back after duration) 1 = Delay (Execute switching command after delay))=Duration
2023-02-01 22:07:14,638 DEBUG: enoceanmqtt/lights/waseiland: SW (Switching command ON/OFF)=On
2023-02-01 22:07:14,639 DEBUG: enoceanmqtt/lights/waseiland: Sent MQTT: {âRSSIâ: -57, âCOMâ: 2, âTIMâ: 1280.1, âLCKâ: 0, âDELâ: 0, âSWâ: 1}
2023-02-01 22:07:14,640 DEBUG: Sending PUBLISH (d0, q0, r1, m58), âbâenoceanmqtt/lights/waseilandâ', ⌠(67 bytes)
So is there somewhere were I can read how the mapping of actuator (like relayâs dimmers and switches) works. On the part where the readout is sensors there are a lot of examples.
It is not that difficult I think
Did you have a look at the Contributing section of the wiki ?
The mapping.yaml file is used to map EEPs to HA entities thanks to MQTT discovery.
It is used as a link between enocean-mqtt and Home Assistant as shown on the wiki.
For a device to be supported, it has to be supported both by the Python EnOcean library through the EEP.xml file and by the mapping.yaml file.
The most important things are the EEP documentation and the MQTT discovery documentation. Both links are available on the wiki in the contributing section.
The EEP documentation details the content of the telegram(s) sent by the EEP. Each field of the telegram(s) are sent to MQTT thanks to enocean-mqtt.
The mapping job is then to see which MQTT discovery supported entities are best suited to map the content of the telegram. These entities are declared as EEP components in the mapping.yaml file.
The MQTT configuration is then reported in the config section of the component.
The device_config section is used to set parameters for enocean-mqtt to correctly handle the EEP.