UPB binding - getting device state updates?

Basic question about the UPB binding with OH1.8.3:

Right now I have 1-way control of UPB devices FROM openHab TO the device. I can command devices to turn on and off, set dim levels, etc.

What I want is 2-way control/feedback, so that when I push a physical UPB wall switch to turn on a light, OpenHab knows about the real-world state change and can take rule-based actions.

Is this possible? With the following rule, the “then” command executes when I change item state with the OH iPad app, but it does not execute when I change state using the physical UPB wall switch for “Light_Living_Overhead.”
(Both items are physical UPB switch/dimmer devices.)

	// CONFIGURE LIGHTS FOR SUNSET
rule "TEST UPB SWITCH CONTROL"
when
    Item Light_Living_Overhead changed
then
	Light_Office_Desk_Lamp.sendCommand(OFF)
end

It depends on whether the UPB device reports manual state changes. A lot of devices do not. Given that the rule is not triggering I would guess these do not.

Actually, my device (in this case a Simply Automated US11-40 dimmer switch) DOES report state changes. In fact, I can see the incoming state changes reported in OpenHAB in the UPB binding log file. So, state changes ARE being sent over the wire and received within OpenHAB.

What I’m not clear on is, are these state changes supported by the UPB binding? If so, what do I need to do to get OpenHAB to respond to them? Or does the UPB binding simply log these state changes but not “do anything” with them, i.e. does not pass them on to OpenHAB in a usable manner?


EDIT / SIDE NOTE: For those who aren’t familiar with UPB, in the UPStart (Windows) UPB configuration software, there is an option for almost all UPB devices to “Report status changes when switch is pressed”. This has to be activated & programmed into the device, in order for it to report changes. By default, devices DO NOT report state change. Be sure to look for & set this option when initially configuring UPB devices.

Also, be apprised that the nature of the UPB physical interface hardware is such that when a device sends out a command or status update, there is a quiet, brief “buzz” sound. This is normal and to be expected. It lasts about 250ms and is quieter than a whisper, but definitely audible in a quiet room. I mention this because when I first heard it I thought something was broken or dying within the switch body.

If you are seeing them in events.log then the answer is an unqualified “yes”. That will tell you if they are being passed.

My mistake. I’m not seeing them in the events.log.

Here’s what I think is going on:

  1. The physical UPB switch IS sending out status updates (it can be configured to do so in the switch’s firmware.)
  2. The RS232 UPB interface device (which is what OpenHAB monitors) does receive broadcast updates from physical UPB devices.
  3. However, with DEBUG logging enabled, the UPB binding doesn’t show these incoming messages. It appears they are received in the RS232 interface but ignored / dropped by the UPB binding.

So, it seems an open project would be for someone to implement UPB device-status reporting in the UPB binding.

If anyone with more knowledge can confirm or deny my suppositions & conclusions, please do.

I would think that it should not be too much work to add this feature to the UPB binding (to receive UPB status updates and report them as “events” to the OpenHab rules engine) but it’s beyond my level of ability & available time at present.

If someone digs around in the code & detemines this would be a pretty easy thing to add, I am will to dicuss paying you to do so. (I.e. paying you to develop the feature to be included in the public/open-source UPB binding code base.)

Thanks.

I recommend you add an issue on github as an enhancement.

I added the feature request:
https://github.com/openhab/openhab/issues/4846