Having trouble by getting enOcean bindings running

Tags: #<Tag:0x00007f616ef040c0> #<Tag:0x00007f616fb43ed0> #<Tag:0x00007f616fb43c78>

Hello everybody,

I am kind of new to openhab although I tried myself at getting openhab 1.x and 2.0 running. Unfortunately both attempts failed. Now I am on a third try and got as far as never before.
But first some word to our current setup:

  • Our house has a fully functional enOcean environment with eltako devices: FSB14, FSR14-4x, PTM215 db, FTR55H
  • The PTM215 switch control light as well as shutters
  • Openhab 2.4 is installed on a Windows 10 Client. At the moment it controls 4 hue lights (including colour temperature and brightness) and monitors some networks devices.
  • For communications with enOcean devices I have an USB 300 Gateway (COM4). It detects the PTM215 switches in discovery mode and shows me whether the light is on or off.

My issues are the following:

  • I cannot control the light via openhub
  • I do not know how to integrate my shutters.
  • Also I do not know how to integrate temperature controller

To solve the issues I tried to adjust the examples from the documentation. But I believe I am lacking something. Maybe it is because my exact setup is not present in the exampels, and I am not capable to adapt from the documentation (at least now).

What I want to achieve:

  • Lights:
    • Controlling the lights via openhab
    • Show the status of the light in openhab
  • Shutters:
    • Control the shutters via openhab
  • Temperature
    • Show the current temperature in openhab
    • Control the temperature via openhab

Currently my files look like this:

default.things

Bridge enocean:bridge:gtwy "EnOcean Gateway" [ path="COM4" ] {
Thing classicDevice cd01 "EZ_Light" @ "Esszimmer" [
senderIdOffset=5,
sendingEEPId="F6_02_01",
broadcastMessages=true,
receivingEEPId="F6_02_01",
suppressRepeating=false
] {
Type virtualSwitchA : virtualSwitchA [duration=300, switchMode="rockerSwitch"]
Type rockerswitchListenerSwitch : Listener1 "Schalter links oben" [enoceanID="fefebedd", channel="channelB", switchMode="toggleButtonDir1"]
Type rockerswitchListenerSwitch : Listener2 "Schalter links unten" [enoceanID="fefebedd", channel="channelB", switchMode="toggleButtonDir2"]
}
}

default.items

Switch Lampe_EG_EZ_Decke "Licht Esszimmer" <lightbulb> (gLicht) { channel="enocean:rockerSwitch:32d52cb8:FEFEBEDD:rockerswitchB" }
Switch EZ_Light "Switch" {
channel="enocean:classicDevice:gtwy:cd01:virtualRockerswitchA",
channel="enocean:classicDevice:gtwy:cd01:Listener1",
channel="enocean:classicDevice:gtwy:cd01:Listener2"
}
Rollershutter Shutter_EG_EZ_li "Rolladen Esszimmer" <blinds> { channel="enocean:rockerSwitch:32d52cb8:FEFEBEDD:rockerswitchA" }

default.sitemap

Frame label="Esszimmer" {
Switch item=Lampe_EG_EZ_Decke label="Licht Esszimmer"
Switch item=EZ_Light label="Licht Esszimmer"
Default item=Shutter_EG_EZ_li label="Rolladen Esszimmer"
}

Maybe someone can help me :slight_smile:
Thanks in advance

Christian

Hi Christian,

your setup is pretty the same as mine. All your Eltako devices will work with the binding. However I would strongly recommend to use the 2.5M4 build as we have fixed a lot of bugs in the binding and support a lot of more EEP.

Most of the Eltako actuators (FSB14, FSR14, FUD14) cannot be automatically discovered, as they do not send a teachin telegram with the necessary information. Instead they have to be set in teach in mode and expect a teach in telegram send from openhab.
For your sensors it is the other way around. In this case you first have to start the discovery mode in openhab and push the teach in or learn button of your FTR55H afterwards. This will send a teach in telegram with all the necessary information to automatically create a thing in openhab. However as they do not really need to be paired, you could also just use a text file configs if you know the EnOceanIds.

So I would first start with the FTR55H

default.things

Bridge enocean:bridge:gtwy "EnOcean Gateway" [ path="COM4" ] {
 Thing roomOperatingPanel Panel01 "FTR55R01" @ "IrgendeinRaum" [ enoceanId="ABCDEF01", receivingEEPId="A5_10_06"]
}

default.items

Number:Temperature Panel01_Temp "Temp 01"  { channel="enocean:roomOperatingPanel:gtwy:Panel01:temperature" }

If this works we can discuss how to pair openhab with your actuators (PM if you like, I speak German).

Best regards
Daniel

I enter this thread because I have similar problems, but I think the solution is too easy to open a new thread. Sorry Christian :wink:

Similar setup, Eltako all the way…
openHAB 2.5.0.M4 Milestone Build

I followed the wiki to teach in a Eltako FSR14-2x to switch a light with Openhab. I used PCT14 in listening mode to teach in the Openhab-Enocean-Thing with the Teach-In channel. Then I dragged the switch to the actuator and changed the channel from teach-in to switch. But how do I have to set up the “ID - Zuordnungsbereich” in PCT14?


I tested several functions, but none of them worked.
Please advise…

Best regards,
Sebastian

Hi Sebastian @eskorte ,

if you do the setup with PCT14, you do not need to switch the teach in channel of the openHAB things. PCT14 does the teach in for you.

You just have to look up the base id of your enocean gateway. It is a hexadecimal number which ends on 00 or 80. Each gateway supports up to 127 unique enocean ids, which can be build by adding a number between 1 and 127 (called sender id) to the base id. To make things easy I recommend to choose the same sender id in openhab which is given to the actuator by your FAM14. You find this sender id in PCT14 in the tree view of your actuators (called “Adresse” or Adr). Furthermore each FSR14 output channel owns an unique Adr.

ADR

So if the base id of your gateway is FF-AD-13-80 and you want to controll a FSR14 channel with Adr 2, you have to enter the ID FF-AD-13-82, choose function 51 “Schaltzustand von GFVS” and select the appropriate channel.

In openHAB you have to create a " Switching/Dimming Actuator" thing.
EnOcean Id => Id of your FRS14 (base id of FAM14 + Adr)
Sender Id => 2
EEP for sending => gateway command switching
EEP for receiving => PTM200

Text file config

Thing centralCommand ID "Name" @ "Ort" [ enoceanId="ID of FRS14 channel", senderIdOffset=2, sendingEEPId="A5_38_08_01", receivingEEPId="F6_00_00", broadcastMessages=true, suppressRepeating=false ]

I hope this helps.

Best regards
Daniel

Hello Daniel @fruggy83,

thank you very much for the explanation. It worked, but after an hour searching. Maybe there is a bug somewhere:

I configured it as suggested, but with Openhab switch senderID 22 (Adr of the FSR14-2x) the binding calculated an enoceanID of FFAD1396. With this ID entered in PCT14 it worked.

You made a nerd happy :wink:

Best regards,
Sebastian

grafik

Hi Sebastian (@eskorte),

glad that it works now. Id is calculated correctly. Forgot to mention that the senderId (Adr of the FSR14-2x) is given in decimal and BaseId in hex. So FFAD1380 (hex baseid) + 22 (decimal => 16 hex) = FFAD1396.

Have a nerdy weekend :wink:

Best regards
Daniel

Ah, you are right. Somehow I thought they were hex values. Thanks again!

Hello or Hallo Daniel,
first: Thanks for your great work on this binding! I’m hanging on this point. Do you mean to set the Eltako FSB14 to LRN mode? How can I send a tech-in telegram from openHAB with the EnOCean binding?
Thank you!

Hi Jackson,

sorry for the poor documentation, I will update it soon. But for now follow these steps:

  • Add your Thing manually in paperui (FSB = rollershutter, sending EEP: Eltako FSB, receiving EEP: Eltako FSB AND PTM200)
  • EnOceanId of your Thing can be found in the Log or by calculation (BaseId of your FAM + FSB Channel number)
  • Link a switch Item to the teach in channel of your Thing, you find this Channel after pressing the “more” Button (this is will be changed in feature as most users just do not find this Channel)
  • Now go to your FSB, there you first have to switch to the correct channel which you want to teach in (1 or 2), then switch to lrn
  • Open paperui and switch your teach in switch
  • Your FAM and/or FSB should blink and you should be able to control it from openhab

Good luck
Daniel

Hey Daniel,

thank you very much for the quick answer!

This settings was already set corretly by me, except I don’t see some entry with PTM200 but I think that would be no problem?

I tried to get the EnOceanIds from PCT14 software, but on my side it often issue some error messages. I’ve tried a lot: For example FAM14 BA mode 1 and set actor by actor a new adress or try to set adresses via PCT14, but nothing works so that I can read all actor adresses.

But all physical sensor switches (wireless or wired) work well as expected and found by EnOcean Binding (the wireless ones), so I don’t think there is any RS485 bus problem.

Eltako devices: https://community.athom.com/t/raffstores-mit-homey-steuern-eltako-fam14-enocean-ptm215-db-868-mhz-funkschalter/21456/3?u=dominik

Can you specify for me which log you mean? Perhaps this is another way to get the EnOceanIds of the actors.

Thanks for your time!

Hi Jackson
Did you managed to add your enocen device manually? And how did you get the enocean ID?

BR Raphael

Hey, I’ve finally found a few hours to work on.

I have fixed the problem with error message and duplicate device addresses after making a factory reset and clear sensor list of all actors yesterday. It was a lot of work to re-teach all the switches.

BaseId: FF940300
FF940301
FF940302
FF940303
FF940304
FF940305
FF940306
FF940307
FF940308

Thing config example:


Items overview:

Control view Paper UI:

If I set the upper switch on the FSB14 to 60 (central switch) and LRN, then unfortunately nothing happens when the switch is switched in OpenHab.

The LEDs of FSB14 continue to flash. Is it not possible to include a central switch in the teach-in mode?

Thank you very much and have a nice Sunday!

I found a working solution:

I have a non wired connection so I must select ESP3 - simple: Use default settings.
In PCT14 I’ve configured the wrong sender IDs.
My USB Dongle Base ID is FFAC4100.
My FAM14 Base ID is FF940300.

In thing configuration I entered FAM14 BaseID + Adr. as EnOceanID.
In PCT14 I entered USB Dongle ID + SenderID in ID Zuordnungsbereich.

So now all works fine.