Busch-Jaeger Free@Home

With the updated version it works fine. Many thanks for the very fast update.

Nevertheless I have noticed few issues:

  1. My virtual devices from the ABB developer programm are not anymore autodiscovered. But I was still able to add them manually
  2. Can you please change the default value for “Id of update lux state” to opd0002. That is the right channel
  3. The switch of the motion detector does not turn off automatically. Same issue I had with manually added motion detectors. Maybe free@home does not send an update. Is there an option to reset the switch after few seconds? For the moment I solved the issue with a rule.

Following your numbering:

  1. When you have dummy things enabled: What are your virtual switches listed as in PaperUI innox? I have “0001” for virtual devices, and these are autodiscovered.

  2. That is what was corrected in my previous post, and should be corrected for the version under the download link.

  3. Same for my motion detector (without actuator), no/very delayed switch off, so I am also using a rule to reset OFF.

I found a solution with a rules and an unused actor (instead of virtual switch and the developer programm/cloud API), which I put into the scene. We have no dining room, so the LivingRoom_Lamp_DinningTable thing/actor is not used at the moment.

In my case I added the actor with state ON to the “all off” scene. this actor is my trigger in my rule, if the trigger is activated, I check my windows and set the state back to OFF.
Here is my rule script:

rule "Scene: All Off"
when
    Item LivingRoom_Lamp_DinningTable changed
then
    // If LivingRoom_Lamp_DinningTable is triggered, Scene_All_Off was triggered
    // This is a hack, because there is no event triggered to bind to
    // LivingRoom_Lamp_DinningTable is a non used actor
    if (LivingRoom_Lamp_DinningTable.state == ON) {
        // Reset lamp state, because we want this is hack ;)
        LivingRoom_Lamp_DinningTable.sendCommand(OFF)
        val openWindows = newArrayList()
        WindowSensors.members.forEach[item |
            if (item.state == ON) {
                openWindows.add(item.label)
            }
        ]
        if (openWindows.size() > 0) {
            logInfo("scene.rules", openWindows.size().toString() + " open windows found")
            val openWindowString = String.join(", ", openWindows).replace("Status: ", "");
            logInfo("scene.rules", "I found this open windows: " + openWindowString)
            // Now send a warning message via alexa
            Echo_Bedroom_TTS.sendCommand('Attention, I have found some open windows: ' + openWindowString)
        } else {
            logInfo("scene.rules", "no open windows found")
            Echo_Bedroom_TTS.sendCommand('OK, goog bye')
        }
    }
end

// cc @stemeda

Hey,
first of all many thanks for the work you have done so far. Most of the things are working pretty well. Unfortunately the binary sensors are not working because they are not implemented as you mentioned. How is it possible to get these running?
What information do I need to provide that they can be implemented in the binding?
The device type of the binary inputs should be “B007”. Is this the information you need?

The devicetype id “B007” will be needed and used for autodiscovery.

However, before updating the binding: As described in the posts above, we would need the channel in use, and also the idp/odp. Although, would guess a binary sensor would operate similar to a regular switch (ch0000 / idp0000 / odp0000).

So, you could test (as suggested in post #279): Create a switch manually in Paper UI (add thing --> Free@Home Binding --> add manually --> Switch). Link your thing to your bridge, input your device serial (ABB12345) for DeviceId, and keep default configuration parameters for channel, idp and odp).

If it works, we can link the binary sensor to the switch category in the binding. If not, you would need to identify the correct channel/idp/odp before we are able to implement the binary sensor in the binding.

Thanks, after a reboot autodiscovery works again. Point 2 successfully tested.

Hi,
doesn’t you have an answer to the question about the thing file?
does your binding only works with autodiscovery?
Many thanks for the whole work.
Regards

It is possible to create things manually from Paper UI, so do not see why it shouldn’t work with things file.

However, I do not know how to set up correctly, I use autodiscovery from Paper UI.

I’ve got my system configured only with .things/.items files. Here is how I use it:

freeathome.things:

Bridge freeathome:bridge:sysap "SysApName" @ "Room" [ host="1.2.3.4", ipAddress="1.2.3.4", port="5280", login="login", password="password", log_dir="/tmp/", log_enabled=false, dummy_things_enabled=false ] {
        Thing switch switchThing "Lightswitch" @ "Room" [ deviceId="ABB123456789", channelId="ch0000", dataPointId="idp0000", dataPointIdUpdate="odp0000" ]
        Thing dimmer dimmerThing "Dimmer" @ "Room" [ deviceId="ABB123456789", channelId="ch0000", dataPointIdSwitch="idp0000", dataPointIdFade="idp0001", dataPointIdValue="idp0002", dataPointIdSwitchUpdate="odp0000", dataPointIdValueUpdate="odp0001" ]
        Thing raffstore raffstoreThing "Raffstore" @ "Room" [ DeviceId="ABB123456789", ChannelId="ch0000", InputIdComplete="idp0000", InputIdPercentage="idp0002", InputIdStepwise="idp0001", OutputIdPercentage="odp0001" ]
        Thing thermostat thermostatThing "Thermostat" @ "Room" [ deviceId="ABB123456789", channelId="ch0000", dataPointIdSwitch="idp0012", dataPointIdSwitchUpdate="odp0008", dataPointIdTarget="idp0016", dataPointIdTargetUpdate="odp0006", dataPointIdEcoUpdate="odp0009", dataPointIdEco="idp0011", dataPointIdRoomUpdate="odp0010" ]
        Thing weather weatherstationThing "Weatherstation" @ "Room" [ deviceId="ABB123456789", channelIdRain="ch0000", dataPointIdIllumination="odp0001", channelIdTemp="ch0002", dataPointIdWind="odp0003", dataPointIdTemp="odp0001", dataPointIdRain="odp0000", channelIdWind="ch0003", channelIdIllumination="ch0000" ]
}

freeathome.items:

Switch lightswitch "Light" { channel="freeathome:switch:sysap:switchThing:fh_switch_channel" }
Switch dimmerSwitch "Dimmer Switch"  { channel="freeathome:dimmer:sysap:dimmerThing:dimmer_switch" }
Dimmer dimmerDimmer "Dimmer" { channel="freeathome:dimmer:sysap:dimmerThing:dimmer_value" }

Rollershutter rollershutter "Rollershutter" { channel="freeathome:raffstore:sysap:raffstoreThing:complete" }
Rollershutter rollershutterStep "Rollershutter Steps" { channel="freeathome:raffstore:sysap:raffstoreThing:stepwise" }
Dimmer rollershutterPercent "Rollershutter Percent" { channel="freeathome:raffstore:sysap:raffstoreThing:percentage" }

Number weatherstationTemperature "Weatherstation Temperature" { channel="freeathome:weather:sysap:weatherstationThing:weather_temperature" }
Number weatherstationWind "Weatherstation Wind" { channel="freeathome:weather:sysap:weatherstationThing:weather_wind" }
Number weatherstationSun "Weatherstation Sun" { channel="freeathome:weather:sysap:weatherstationThing:weather_illumination" }
Switch weatherstationRain "Weatherstation Rain" { channel="freeathome:weather:sysap:weatherstationThing:weather_rain" }

Number thermostatTemperature "Thermostat Temperature" { channel="freeathome:thermostat:sysap:thermostatThing:therm_room_temp" }
Number thermostatSetTemperature "Thermostat Set Temperature" { channel="freeathome:thermostat:sysap:thermostatThing:therm_target_temp" }
Switch thermostatHeat "Thermostat Heating" { channel="freeathome:thermostat:sysap:thermostatThing:therm_switch" }
Switch thermostatEco "Thermostat Eco Mode" { channel="freeathome:thermostat:sysap:thermostatThing:therm_eco_switch" }

Hope that helps,
Stefan

Dear Stian, thank you very much for your great work. I have two questions:

  1. Would it be possible to change the logging behaviour of this binding. Right now messages from IN (tinyxmppd1058738): <message … are logged to syslog. Which bombs the log :slight_smile: I checked the source and known configs, but did not find any hint where to change this.

  2. Right now I am using this binding to optimize my heating. I know from the sysAp export object functionality, that the “Thermostat” provides some more outputs, suchs as “odp013” provides the relative actuation of the heating actor. It would be super nice, if I could get this info :slight_smile: in OH

Best,
Steffen

To take the last point first: Just created a new version to implement heating state / actuator state. Please feel free to test and report any errors/misbehaviour.

  • odp0011: Retrieve heating state (set up as on/off switch, read only)
  • odp0013: Retrieve heating actuator state (set up as a dimmer (0-100), read only)

F@H 2.5.5-SNAPSHOT

Regarding logging, I am a bit uncertain as you are referring to syslog/console log, and here you will see the complete XMPP stream from your SysAp. And XMPP is mainly handled by an external library. Assume you are running OH from a PC or Mac? This information is not logged in regular OH logs.

Perfect, I will just try it. Regarding the logging.
I have things installed on a raspi:
via ssh tail -f /var/log/syslog shows me lots of the following lines.:
Apr 27 19:40:12 raspberrypi karaf[13069]: IN (tinyxmppd1075749): <message id=“stz1079163” from="mrha@busch-jaeger.de"…

You are correct these lines look like the complete XMPP stream. Events.log or openhab.log are free from this. The quesion is, why is the XMPP stream logged to syslog?

Best and thx for your fast response!
Steffen


Last plot in list shows the new heating actor status. Nice!

Thanks.

But for me it is not working.

May you be able to show me/us the sitemap for this items?

Hi FlyingEaglE!

What exactly is not working? Which error messages are you getting (e.g. log entries)? What do you see in PaperUI in the things and items sections?

Cheers,
Stefan

There are no log-entries with errors or someting like that.
I think i am making something wrong … maybe in sitemap.

What does your openhab.log say after “Refreshing model ‘freeathome.things’” or after “Refreshing model ‘freeathome.items’”?

What things have you configured? What items have you configured?

The sitemap itself is nothing fancy and works like any other item:

myhome.sitemap:

sitemap myhome label="Home" {
    Switch item=lightswitch
    Switch item=rollershutter
    Text item=weatherstationTemperature
    Text item=weatherstationRain label="Rain [%d]"
}

What are this three types for ?

Rollershutter rollershutter "Rollershutter" { channel="freeathome:raffstore:sysap:raffstoreThing:complete" }
Rollershutter rollershutterStep "Rollershutter Steps" { channel="freeathome:raffstore:sysap:raffstoreThing:stepwise" }
Dimmer rollershutterPercent "Rollershutter Percent" { channel="freeathome:raffstore:sysap:raffstoreThing:percentage" }

You didn’t used all o them only rollershutter …

(Until now I have only 4 of the rollershutter modules)

I compared your things with my things and I recognized that I missed IpAddress … now it is working … thanks a lot.

Hello,
I am new to Openhab. It is runing on my Ubuntu 14 VM. I run Openhab 2.5 and the binding F@H 2.5.5-SNAPSHOT.
I succeeded adding a switch and a dimmer in my BasicUI.
I also have a 8/8 Sensor/Switch actor(6251/8.8). I can find the 8 swiches in the Inbox (ch0010-ch000F).

But not the 8 binary sensors.
I have my window sensors (open/close) connected to the binary channels and I would like to use them in Openhab.
I tried to add them manually but without success.
The actor appears with B007 in inbox.
The binary sensors seem to be ch0000-ch0007.

Can someone help me to get the binary sensors work?

Have you had a look at Post 291 to try to create the binary sensor manually from Paper UI?