Busch-Jaeger Free@Home

binding
busch-jaeger
Tags: #<Tag:0x00007fe052312c18> #<Tag:0x00007fe052312a88>

(Fichte07) #21

Thats sounds great. Please keep us posted. I am currently also trying to get my openhab2 and Free@Home API running. I followed the installation instructions from Stefan Stadlberger (https://github.com/sstadlberger/home).
I am running node home.js with PM2. I also can read out all the values of my thermostat e.g.
http://MYIP:MYPORT/info/ABB70xxxxx

But now I am trying to use the values in openhab, e.g. on my HABPanel. In detail i want to read out the actual temperature, and also want to set a new temp. Can someone help me on getting this to work? Also I am missing a documentation of the Free@Home API, is there one around?

Thanks so far…


(Ruebox) #22

Dear all,

I uploaded my latest B+J freeathome binding to github:

https://github.com/ruebox/openhab2-addons

on a branch feature_binding_freeathome.

This binding currently supports:

  • Gateway connection
  • Scene activation
  • Raffstore/Shutter control: stepwise and complete

The binding currently does not support (yet):

  • Discovery
  • Switch
  • Light
  • Heating

as I do not have it running at home.

It would be great if you out there support me in implementing the missing features. I am happy to support.

Looking forward to your feedback.

Best,
Rüdiger


(Fichte07) #23

also some code snippets or Examples would help me a lot…Anyone out who can support?


(Andreas) #24

i am very new to openhab.
how can i install this binding?
Thanks a lot


(Fichte07) #25

@Kurtus Thanks for your offer. May i come back to that and ask you to help me. Especially I am interested in reading the temp of my thermostats. I have the stadlberger API running on my openhabian and I am able to connect to the thermostats via http://MyIP:myPort/info/ABBxxxxxx. Now i want to now which value i need to read out to get the actual temp and how to implement that within Openhab2 (http-binding?). Thanks a lot!


(Ruebox) #26

Hi,
I have not yet uploaded the binding as a jar. Thus, it would be necessary to build it manually.
Perhaps I will make it to upload a binary version the next days.
Best


(Thomas) #27

Hi there,

after some days of fiddling around I got some results.
For those who are interested, here’s how I got the connection between my Busch-Jäger free@home and openHAB up and running:

My Items File looks like this:

Group zuhause "Home"   <house>
    Group Keller "Keller" <cellar> (zuhause)
    Group EG "EG" <groundfloor> (zuhause)
    Group OG "OG" <attic> (zuhause)

Group Keller_Vorkeller "Vorkeller" <cellar> (zuhause, Keller)
    Switch ABB1xxxxxxxx_ch0002
    "Vorkeller [%s]" <light> (Keller_Vorkeller, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB1xxxxxxxx/ch0002/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB1xxxxxxxx/ch0002/off]"}

Group Keller_Office "Büro" <office> (zuhause, Keller)
    Switch ABB1xxxxxxxx_ch0000
    "Tische [%s]" <light> (Keller_Office, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB1xxxxxxxx/ch0000/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB1xxxxxxxx/ch0000/off]"}
    
    Switch ABB1xxxxxxxx_ch0001
    "Mitte [%s]" <light> (Keller_Office, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB1xxxxxxxx/ch0001/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB1xxxxxxxx/ch0001/off]"}

    Rollershutter ABBx1xxxxxxx_ch0001
    "Büro Jalousie" <rollershutter> (Keller_Office, Shutters)
    { http=">[UP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx1xxxxxxx/ch0001/up] >[DOWN:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx1xxxxxxx/ch0001/down] >[STOP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx1xxxxxxx/ch0001/stop]"}

    Rollershutter ABBx1xxxxxxx_ch0002
    "Keller Jalousie" <rollershutter> (Keller_Office, Shutters)
    { http=">[UP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx1xxxxxxx/ch0002/up] >[DOWN:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx1xxxxxxx/ch0002/down] >[STOP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx1xxxxxxx/ch0002/stop]"}

Group EG_Garderobe "Garderobe" <wardrobe> (zuhause, EG)
    Switch ABB2xxxxxxxx_ch0001
    "Garderobe [%s]" <light> (EG_Garderobe, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB2xxxxxxxx/ch0001/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB2xxxxxxxx/ch0001/off]"}

    Rollershutter ABBx2xxxxxxx_ch0000
    "Garderobe Jalousie" <rollershutter> (EG_Garderobe, Shutters)
    { http=">[UP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx2xxxxxxx/ch0000/up] >[DOWN:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx2xxxxxxx/ch0000/down] >[STOP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx2xxxxxxx/ch0000/stop]"}

Group EG_Gast "Gast" <guest> (zuhause, EG)
    Switch ABB2xxxxxxxx_ch0003
    "Gästezimmer [%s]" <light> (EG_Gast, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB2xxxxxxxx/ch0003/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB2xxxxxxxx/ch0003/off]"}

    Rollershutter ABBx3xxxxxxx_ch0003
    "Gast Jalousie" <rollershutter> (EG_Gast, Shutters)
    { http=">[UP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx3xxxxxxx/ch0003/up] >[DOWN:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx3xxxxxxx/ch0003/down] >[STOP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx3xxxxxxx/ch0003/stop]"}

Group EG_Essen "Essen"  (zuhause, EG)
    Switch ABB7xxxxxxxx_ch0003
    "Essen [%s]" <light> (EG_Essen, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB7xxxxxxxx/ch0003/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB7xxxxxxxx/ch0003/off]"}

    Rollershutter ABBx2xxxxxxx_ch0003
    "Essen Jalousie" <rollershutter> (EG_Essen, Shutters)
    { http=">[UP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx2xxxxxxx/ch0003/up] >[DOWN:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx2xxxxxxx/ch0003/down] >[STOP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx2xxxxxxx/ch0003/stop]"}

Group EG_Flur "Flur EG" <frontdoor> (zuhause, EG)
    Switch ABB7xxxxxxxx_ch0000
    "Flur EG [%s]" <light> (EG_Entrance, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB7xxxxxxxx/ch0000/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB7xxxxxxxx/ch0000/off]"}

    Switch ABB1xxxxxxxx_ch0003
    "Fensterlichter EG [%s]" <light> (EG_Entrance, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB1xxxxxxxx/ch0003/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB1xxxxxxxx/ch0003/off]"}

    Rollershutter ABBx1xxxxxxx_ch0000
    "Flur EG Jalousie" <rollershutter> (EG_Entrance, Shutters)
    { http=">[UP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx1xxxxxxx/ch0000/up] >[DOWN:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx1xxxxxxx/ch0000/down] >[STOP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx1xxxxxxx/ch0000/stop]"}

Group EG_Kueche "Küche" <kitchen> (zuhause, EG)
    Switch ABB2xxxxxxxx_ch0002
    "Küche [%s]" <light> (EG_Kueche, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB2xxxxxxxx/ch0002/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB2xxxxxxxx/ch0002/off]"}

    Switch ABB7xxxxxxxx_ch0001
    "Kochen [%s]" <light> (EG_Kueche, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB7xxxxxxxx/ch0001/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB7xxxxxxxx/ch0001/off]"}

    Switch ABB4xxxxxxxx_ch0002
    "Hängeschrankleuchten [%s]" <light> (EG_Kueche, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB4xxxxxxxx/ch0002/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB4xxxxxxxx/ch0002/off]"}

    Rollershutter ABBx2xxxxxxx_ch0001
    "Küche Fenster Jalousie" <rollershutter> (EG_Kitchen, Shutters)
    { http=">[UP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx2xxxxxxx/ch0001/up] >[DOWN:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx2xxxxxxx/ch0001/down] >[STOP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx2xxxxxxx/ch0001/stop]"}

    Rollershutter ABBx2xxxxxxx_ch0002
    "Küche Tür Jalousie" <rollershutter> (EG_Kitchen, Shutters)
    { http=">[UP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx2xxxxxxx/ch0002/up] >[DOWN:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx2xxxxxxx/ch0002/down] >[STOP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx2xxxxxxx/ch0002/stop]"}

Group EG_Wohnen "Wohnen" <sofa> (zuhause, EG)
    Switch ABB7xxxxxxxx_ch0002
    "Wohnen [%s]" <light> (EG_Wohnen, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB7xxxxxxxx/ch0002/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB7xxxxxxxx/ch0002/off]"}

    Switch ABB4xxxxxxxx_ch0000
    "Anbauwand [%s]" <light> (EG_Wohnen, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB4xxxxxxxx/ch0000/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB4xxxxxxxx/ch0000/off]"}

    Switch ABB4xxxxxxxx_ch0001
    "Subwoofer [%s]" <poweroutlet> (EG_Wohnen, Power)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB4xxxxxxxx/ch0001/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/dimmer/ABB4xxxxxxxx/ch0001/off]"}

    Rollershutter ABBx3xxxxxxx_ch0001
    "Wohnen Jalousie West" <rollershutter> (EG_Wohnen, Shutters)
    { http=">[UP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx3xxxxxxx/ch0001/up] >[DOWN:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx3xxxxxxx/ch0001/down] >[STOP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx3xxxxxxx/ch0001/stop]"}

    Rollershutter ABBx3xxxxxxx_ch0002
    "Wohnen Jalousie Nord" <rollershutter> (EG_Wohnen, Shutters)
    { http=">[UP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx3xxxxxxx/ch0002/up] >[DOWN:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx3xxxxxxx/ch0002/down] >[STOP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx3xxxxxxx/ch0002/stop]"}

Group EG_Terrasse "Terrasse" <terrace> (zuhause, EG)
    Switch ABB6xxxxxxxx_ch0000
    "Terrasse Licht [%s]" <light> (EG_Terrasse, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB6xxxxxxxx/ch0000/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB6xxxxxxxx/ch0000/off]"}

    Switch ABB6xxxxxxxx_ch0003
    "Außen Licht [%s]" <light> (EG_Terrasse, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB6xxxxxxxx/ch0003/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB6xxxxxxxx/ch0003/off]"}

    Switch ABB6xxxxxxxx_ch0001
    "Terrasse Steckdose [%s]" <poweroutlet> (EG_Terrasse, Power)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB6xxxxxxxx/ch0001/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB6xxxxxxxx/ch0001/off]"}

    Switch ABB6xxxxxxxx_ch0002
    "Strom außen [%s]" <poweroutlet> (EG_Terrasse, Power)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB6xxxxxxxx/ch0002/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB6xxxxxxxx/ch0002/off]"}

    Rollershutter ABBx3xxxxxxx_ch0000
    "Terrasse Jalousie" <rollershutter> (EG_Terrasse, Shutters)
    { http=">[UP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx3xxxxxxx/ch0000/up] >[DOWN:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx3xxxxxxx/ch0000/down] >[STOP:GET:http://xxx.xxx.xxx.52:8080/set/shutter/ABBx3xxxxxxx/ch0000/stop]"}

Group OG_Flur "Flur OG" <corridor> (zuhause, OG)
    Switch ABB3xxxxxxxx_ch0001
    "Flur OG [%s]" <light> (OG_Flur, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB3xxxxxxxx/ch0001/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB3xxxxxxxx/ch0001/off]"}

    Switch ABB3xxxxxxxx_ch0000
    "Wandspots [%s]" <light> (OG_Flur, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB3xxxxxxxx/ch0000/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB3xxxxxxxx/ch0000/off]"}

    Switch ABB5xxxxxxxx_ch0003
    "Fensterlichter OG [%s]" <light> (OG_Flur, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB5xxxxxxxx/ch0003/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB5xxxxxxxx/ch0003/off]"}

Group OG_Kinder "Kinderzimmer"  (zuhause, OG)
    Switch ABB3xxxxxxxx_ch0002
    "Kinderzimmer 1 [%s]" <light> (OG_Kinder, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB3xxxxxxxx/ch0002/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB3xxxxxxxx/ch0002/off]"}

    Switch ABB3xxxxxxxx_ch0003
    "Kinderzimmer 2 [%s]" <light> (OG_Kinder, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB3xxxxxxxx/ch0003/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB3xxxxxxxx/ch0003/off]"}

Group OG_Bad "Bad"  (zuhause, OG)
    Switch ABB5xxxxxxxx_ch0001
    "Bad Licht [%s]" <light> (OG_Bad, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB5xxxxxxxx/ch0001/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB5xxxxxxxx/ch0001/off]"}

    Switch ABB5xxxxxxxx_ch0002
    "Heizkörper Steckdose [%s]" <poweroutlet> (OG_Bad, Power)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB5xxxxxxxx/ch0002/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB5xxxxxxxx/ch0002/off]"}

Group OG_Schlafen "Schlafzimmer" <bedroom_red> (zuhause, OG)
    Switch ABB5xxxxxxxx_ch0000
    "Schlafzimmer [%s]" <light> (OG_Schlafen, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB5xxxxxxxx/ch0000/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB5xxxxxxxx/ch0000/off]"}

Group OG_Dach "Dach" <roof> (zuhause, OG)
    Switch ABB2xxxxxxxx_ch0000
    "Dach [%s]" <light> (EG_Dach, Lights)
    [ "Lighting"]
    { http=">[ON:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB2xxxxxxxx/ch0000/on] >[OFF:GET:http://xxx.xxx.xxx.52:8080/set/switch/ABB2xxxxxxxx/ch0000/off]"}


Group:Switch:OR(ON, OFF) Lights "Lights" <light> (zuhause)
Group:Rollershutter:OR(UP, DOWN) Shutters "Rollershutters" <rollershutter> (zuhause)
Group:Switch:OR(ON, OFF) Power "Power outlets" <poweroutlet> (zuhause)

I named the items “actor-id_channel-number” for easier addressing in the later used rule file.

For some reason I did not get it running to switch AND get the state at the same time. Sometimes you change the state of a lam by physical switch an the the state was wrong. So I coded this rules file:

rule "GetStates"
when
    Time cron "0 0/1 * 1/1 * ? *"
then
  var String state
  var String url
  var String item
  var String actor
  var String channel

  var switchActors = newArrayList('ABB1xxxxxxxx','ABB2xxxxxxxx','ABB3xxxxxxxx','ABB4xxxxxxxx','ABB5xxxxxxxx','ABB6xxxxxxxx','ABB7xxxxxxxx')

  for (i : 0 ..< switchActors.length) {
    actor = switchActors.get(i)
    for (j : 0 .. 3) {
      channel = 'ch000' + j
      item = actor + '_' + channel
      url = 'http://xxx.xxx.xxx.52:8080/info/' + actor + '/' + channel + '/idp0000'
      state = sendHttpGetRequest(url)
      postUpdate(item, transform('MAP','bjstate.map',state))
    }
  }
end

This runs every minute by cron and has a list of all my actors (yes I know actuators would be right but I always mistyped it :slight_smile: ).
The loop cycles through the list and through all 4 channels, puts together the GET url (e.g. ttp://xxx.xxx.xxx.52:8080/info/ABB1xxxxxxxx/ch0000/idp0000) and postUpdates the items transformed state.

The bjstate.map only has

0=OFF
1=ON
"0"=OFF
"1"=ON

in itself.

HomeKit connection is working for all Lights.

Next steps are:

  • return the state of the roller shutters (open, closed, % open)
  • HomeKit-enable roller shutters
  • access the B-J f@h scenes via openHAB

Who may have already done that - help is appreciated. :smiley:

Also I would like to hear some feedback - did I do it too complex? Are there ways for optimizing? I tried to get all actuators ID’s via jsonPATH but gloriously failed :confused:

Thomas


(Fichte07) #28

thx for sharing your approach. I still struggle with my thermostats. Also, since i made an update of my SysAP yesterday to 2.1.6, I am in bigger trouble. :slight_smile: When I read out my thermostat via IP:PORT/info/ABBxxxxxx i just get values like solarNoon, dusk, etc. but no values like temp and I dont see datapoints like idp00000 etc.
Anyone with the same experiences here?


(Thomas) #29

I also had issues after updating to 2.1.6. Reinstalling sstadlbergers home made it running again for me.
You will have to cd into the home-dir and

npm uninstall home

backup the config folder (config.js, data.json and structure.json) then empty the home folder and load it again

git clone https://github.com/sstadlberger/home
npm install home

Then restore the config folder.
This helped for me.


(Fichte07) #30

Yeah…thx for the fast reply, that solved the problem. Now i can go back to my thermostats on try to integrate them in OH2 and Habpanel


(Ruebox) #31

Hi there,

I have implemented an initial discovery.

Please manually add FreeAtHome bridge before inital discovery!

Currently supported deviceIds during discovery:

  • “B001”: Jalousie / Raffstore actor 4x
  • “4001”: Raffstore group
  • “4800”: Scene

all remaining items are discovery as dummy item for development purpose.

I am looking of someone how is willing to give it a try.

You will find a alpha version as jar file: ruebox@github

Best,
Rüdiger


(Andreas) #32

this would be great if you could upload a jar version.


(Thomas) #33

Maybe you can help?

I pasted the Add-on jar in my add ons folder. PaperUI finds the Add-on and I can search for Things, but none are found. You write "Please manually add FreeAtHome bridge before inital discovery!"but there’s nothing to enter under Configuration - Bindings - B+J FreeAtHome Binding…

Danke! :slight_smile:


(Ruebox) #34

Instruction to install B+J FreeAtHome Binding

The freeathome bridge has to be added manually first, as there is no automated way to configure is.

Please perform the following steps:

  1. Download jar v1.0.1-alpha from ruebox@github
  2. Copy jar to addons folder in your openhab installation
  3. Check Configuration -> Binding that B+J FreeAtHome Binding appears
  4. Go to PaperUI ->Inbox: No items will be found
  5. click the + symbol or select “Add manually” at the button of the page
  6. B+J FreeAtHome Binding -> FreeAtHome Bridge as selected item
  7. Configure your bridge with:
    a. IP address
    b. Login
    c. Password
    d. (Port commonly is not needed to be changed)
  8. Accept: FreeAtHome Bridge is added as thing. It should be online via Configurations -> Things
  9. Inbox: Click “Search for things” and select FreeAtHome Binding
  10. Search is started and will take a while: Set of things should be found

Note: All dummy things are can be added, but do not (yet) provide a functionality. All NON DUMMY things can be added and support the functionality.


(Christian) #35

Hi,

Thanks so much for the alpha version of the jar-file. Great work! I managed it to install the bridge and things, but the bridge doesn’t go online. The status says “OFFLINE - COMMUNICATION_ERROR”. Tried to change the Port to “80” but it didn’t work. I also replaced the Username with the “jid” which can be found in the “settings.json” (http://192.xxx.xxx.x/settings.json). Unfortunately without success. Do you perhaps have an idea, what I forgot to adjust or where the issue could come from?

Kind regards
Christian


(Christian) #36

@ruebox Great work! Also managed to install. Scenes are working fine and also the Raffstores.
@skydiver0107 I had the same issue, not sure if it helps you but when I used the installer account it worked fine. With other accounts created in free@home I got the same error. Even if the account had full rights.


(Christian) #37

Thanks for getting back to me so quickly. Tried it with the installer account now. But it cannot connect. It says “Error 409 - Conflict” when I try to add the Bridge as a Thing. Under Things the bridge is still offline.


(Ruebox) #38

Sorry I forgot to mention, I only got it managed with “installer”.
Still needs to be checked why it is not working for “normal” users.


(Ruebox) #39

Looks as if there is a parallel stream connecting to the bridge.
Please ensure that you generate the bridge ones.
Please delete the old ones and generate a new one with installer as user name.
This is working for me.


(Christian) #40

Thanks for the hint. That worked well and the bridge went online. Now I added 4 roller shutters, which belong to one ABB-actuator and defined the channels of each roller shutter (ch0001, ch0002, etc). I can see them in Configuration > Things in Paper UI but in the Control section of Paper UI only 2 of them are visible an working. The other ones don’t appear in the Control section. -Strange.

Furthermore I noticed, that the Bridge goes offline, when I log into my f@h-Sysap directly and don’t reconnect, when I logged out from the Sysap. All things (the roller shutters) are shown as offline as well then. But if you use them, they work and are shown as online again. The bridge remains offline. I tried it with re-typing username and password and updating the bridge. But it didn’t help. To get it online I have to generate the bridge again.