2n Helios IP Vario binding

@Pieter_Van_Acker Pieter, the complete 2N IP family of products seems to run the same kind of software, so expect the binding to work in openHAB.

The 2N IP devices can be integrated in any “external” environment using their HTTP API, so, as long as you have some environment that can connect to the KNX bus, and speak HTTP at the other side, you can integrate them to a certain degree.

@emme-oh keypressed and alike do work here at my side. Note that keypressed is a trigger channel, and I just noticed that the documentation is not reflecting that correctly. Let me update that

Rules should look like:

rule someRule
when
	Channel "helios:ipvario221:prive:keypressed" triggered 
then
    var actionName = receivedEvent.getEvent()
	logInfo("org.openhab","Rule trigger " + actionName)					
end
1 Like

@kgoderis OK, in this way the keypressed and keyreleased channels work in my system too! I hadn’t understand that before.

The rule trigger when I use

Channel ‘helios:ipvario221:gate:keypressed’ triggered

works. I can see in the log file that these channels trigger the values %1, %2 and %3, depending on which button is pressed on the Helios (my device has three buttons); but if I want to know which button has been pressed and I set a rule like

Channel ‘helios:ipvario221:gate:keypressed’ triggered %1

the rule trigger doesn’t work. Is there any other way to use the log info to update the value of an item with the information about the number of the pressed button (sorry if I ask a basic question, but all this is really new for me)?
Moreover, I’ve noticed that in the log there is a lot more information, as showed in the log (e.g. the “peer” with whom the device is establishing a connection), and I think it could be really useful to add in the future the possibility to use this information into the system.

17-Feb-2018 11:54:59.093 [TRACE] [rg.openhab.binding.helios.handler.HeliosHandler221] - pullLog() Response: {“events”:[{“id”:761,“tzShift”:60,“utcTime”:1518864903,“upTime”:1531222,“event”:“CallStateChanged”,“params”:{“direction”:“outgoing”,“state”:“terminated”,“reason”:“normal”,“peer”:“sip:**610@192.168.9.1”,“session”:67,“call”:69}}]}
17-Feb-2018 11:54:59.093 [TRACE] [rg.openhab.binding.helios.handler.HeliosHandler221] - Successfully pulled log entries from the Helios IP Vario ‘helios:ipvario221:gate’
17-Feb-2018 11:54:59.095 [DEBUG] [rg.openhab.binding.helios.handler.HeliosHandler221] - Received the event for Helios IP Vario ‘helios:ipvario221:gate’ with ID ‘761’ of type ‘CallStateChanged’ on 1970-01-18T14:54:24

So, the issues those still remain unclear (at least those related to my system) are:

  • the devicestate and devicestatestamp channels behaviour (they don’t work at all);
  • the possibility to use the noise and noisestamp channel in my kind of device (without Gold license);
  • the strange look of the timestamp in all the “stamp” channels (the strange timestamp appears in the log file).

But basically the binding works, and works good. Thank you very much. I guess that I’ll have too keep on using the jar you sent me, avoiding at least for the moment to download the one in the repository. Do you plan to modify in the future the downloadable repository binding in order to allow the use both for devices with and without Gold license?

p.s. I’ve seen that you’ve started to update the documentation: if they are trigger, I guess it would be good to delete from the example item file the “card” and the “code” channels too, as you did for the “keypressed” and the “keyreleased” channels

@emme-oh triggerEvents are not defined for the Helios trigger events, so the syntax

Channel "<triggerChannel>" triggered [<triggerEvent>]

is not supported. You have to read out the value of the key that was pressed using

receivedEvent.getEvent()

Yes, we can add some more Channels as you indicate; Helios’s API is evolving all the time.

The timestamps are in fact indicators of the time sinds boot/start up of the Helios, but they are formatted as a Date to render them compatible with the Items. Not ideal, but better then just returning a long number indicating seconds for example. All dates start from the epoch on Jan 1st, 1970

Lastly, there is no way to circumvent the Licenses on the devices. If you don’t have it, you can’t use the corresponding API…

K

@kgoderis I was not able to reproduce the error we were discussing a while ago. I think this comes only when creating the thing for the first time.
Good to know about the channel events - as I thought a greyed out channel in PaperUI is not supported until I saw the keypressed channel event triggered with %1 in the logfile :wink:

What I noticed is, that the .JAR is really huge compared to other bindings (1.5 MB). Is it because of debug / dev status of the binding ?

@bernd_d That is because of the cxf-core-3.1.0 library that is required by the binding. That alone is 1.3MByte

Hello,
I write because some weeks ago I upgraded my Openhab system to the 2.3 version. I have a Helios IP Vario with basic license and I was doubting about the possibility to use the binding downloaded with Paper UI (until now I had to use a jar file kindly supplied by the author).
Anyway, I deleted the helios jar file I was previously using and then I downloaded the binding with Paper UI, and it works perfectly with my device and with my system (with the basic functions related to my licence).
The only channel that keeps not working is the devicestate.
In the end, the binding downloaded from the repository works good even with devices basic license.
One more thing: is there any plan to add new channels to obtain more info to introduce in the system? I especially think in the peer field that is possible to see in the log file, in order to have the information about the caller/called part - number and sip server.
Bye.

hi, there is not a ip verso binding? I try the helios binding but it’s not work…

My Verso works with binding “Helios IP Vario Door Station / Intercom with Firmware v2.21”
the firmware on the Verso is: 2.26.0.35.6

i have this error in thing 2019-09-22 19:08:56.411 [hingStatusInfoChangedEvent] - ‘helios:ipvario221:8024704a’ changed from OFFLINE (COMMUNICATION_ERROR): 14:null:pull request already active to ONLINE

==> /var/log/openhab2/openhab.log <==

2019-09-22 19:08:56.474 [ERROR] [os.internal.handler.HeliosHandler221] - An error occurred while communicating with the Helios IP Vario ‘helios:ipvario221:8024704a’: code ‘8’, param ‘null’ : ‘invalid authentication method’

==> /var/log/openhab2/events.log <==

2019-09-22 19:08:56.920 [hingStatusInfoChangedEvent] - ‘helios:ipvario221:8024704a’ changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): 14:null:pull request already active

==> /var/log/openhab2/openhab.log <==

2019-09-22 19:08:58.358 [ERROR] [os.internal.handler.HeliosHandler221] - An exception occurred while processing an event : 'A MultiException has 1 exceptions. They are:

Hi @kgoderis,

I’m using the binding on a 2N IP base (with Integration License). Everything is working beside the timestamp-information (on all date/time-channels) - for example:

Call state time
19.01.1970 05:49:06

I checked on the device but the timestamps there are right. The device is currently using firmware 2.27.0 - might this be the reason?

Regards,
Flip

I have a 2N Helios IP Verso + Fingerprint Reader that I’ve been testing on (also got an IP Solo). I have no additional 2N Licences installed. Here is how I setup it up to get information into OH from the Helios IP Verso

  1. Setup the Helios (see pics) for the options
  2. In PaperUI, Add the “Helios” Binding, then in Inbox click on the “Helios” Binding and select “Helios IP Vario with Firmware v2.21” Put in the Authentication details and a bunch of channels got added.

For me the channels that are working are:

  • Call State
  • Switch State
  • Switch Number
  • Switch State Originator
  • Call State Time / Key Press Time / Key Release Time / Switch Switch Time. But they are all wrong. It looks like some offset from an Unix Epoch Time, eg for me it reads 19.01.1970 19:46:42.

In addition you can also access the Camera for Snapshots and video with a simple url’s as follows:

For download of JPEG please use this URL:

  • http://ip_address_of_intercom/api/camera/snapshot?width= W &height= H

For MJPEG this URL:

  • http://ip_address_of_intercom/api/camera/snapshot?width= W &height= H &fps= N

Values W a H specify resolution of image (supported resolutions are 160x120, 320x240, 640x480, 176x144, 322x272, 352x288, 1280x960 - only for models equipped with 1MPix camera) Value N specify number number of pictures per second (you can choose from 1 up to 10). For sections **

All working well for me!
Thanks again for the binding and I hope the instructions above help.
Nathan

Does anyone have any experience with the “Enhanced Integration” (or “Gold”) licence and the ability of this binding to control functions like:

  • Open Door?
  • Communicate with a user?

Thanks
Nathan