ImperiHome binding 2.0

Looks good! :grin:

@greg Iā€™ve just added support for DevLock as per your request on Github. Havenā€™t tested it, so let me know how that works out for you :wink:

@pdegeus - Wow - thanks! I just got to test it and i can advise it works.

Once again - thank you for doing this and supporting it!
:beers:
:beers:
:beers:
:beers:

Do you, or have you used the ISS actions?
http://dev.evertygo.com/api/local
Specifically the TTS engine? I came across Imperihome from my days on Vera and did use this to advise me at 8pm if the garage door was open and a few other items.

I can now do this TTS function using NodeRed to send to Imperihome, but i find it somewhat unreliable and doesnā€™t work outside of the local network unless i know the remote ip address of my device, or mess around with DDNS on my phoneā€¦ah noā€¦ ( i was going to ask if this could be added into your bindingā€¦ but openhab would still need to know the remote ip address of the device to send to )ā€¦ i guess i need to probably scrape the nginx logfile to identify the IP address to send toā€¦
ā€¦so nevermindā€¦:wink:

Have a great weekend!

@pdegeus

I want to first say a major thanks for this and I have things working pretty well, but may have come across a small bug with the controlling of philips hue RGB color bulbs.

Within the Imperihome App, if I control a light via a philips hue system I can correctly control both color and brightness (ie, both sliders)

But that same bulb when configured under ImperiHome Binding, the Brightness (right slider) appear attempting to also change color,similar to the left side slider.

If anyone is curious, I prefer to configure the Hue bulbs via the ImperHome binding because you canā€™t control the bulbs remotely outside the home when configured under the philips hue system.

Hi @ptmuldoon, thanks for your feedback. Can you share the openHAB item config for the Hue bulb youā€™re controlling?
I also use Hue through Imperihome, but Iā€™m using the color picker interface to set color and brightness at once - not a slider.

By the way, Kai merged my pull request today, so the binding should become available in the Paper UI soon (when using the latest snapshot).

1 Like

@pdegeus

Yes, this is one of the Hue Color Bulbs

And then in the app, I have been choosing the ā€œRGB Light Widget 2ā€ And attempting to control the brightness from the right slider is trying to control the color.

Iā€™m away all week now for work. But can look to try and control things more when I get back end of week.

Sorry for the delay. Iā€™ve just tried to reproduce, but it looks like I donā€™t have the widget you mention. I guess the iOS app doesnā€™t have that widget and youā€™re using Android?

It would help if you could post the debug log when using the slider. Iā€™m looking for a log line like ā€˜Action request for device ā€¦ā€™.

Iā€™m unsure if I have the correct debug info or not. I was experimenting with my ā€œFamily Leftā€ RGB bulb. And yes I am on android so here on a few screenshots of what it looks like.

In the Imperhome App, in choosing that Light, I have these RGB options. I typically use the RGB Widget 2 as it gives both an ON | OFF buttons as well as color wheel and sliders.

And then in the App, it looks like this. The Light on the left here is using Widget 2, and right one is Widget 3 with no ON | OFF Buttons. I actually canā€™t even turn off the Right Lamp since the slider is trying to change the color.

For these 2 sliders, the Left slider controls the color, and the right should be controlling the brightness and is incorrectly also attempting to change the color. And you do not see that behavior when using the Hue System within Imperihome.

And finally the log info when trying to control that right slider, and the Imperihome App actually shows/say it is trying to control the color, and not the brightness.

2016-11-13 15:15:58.122 [DEBUG] [internal.handler.DeviceActionHandler] - Action request for device ca26cf40b9c1cf013c32a9c120ad761277f41bb2: [setStatus] [1]
2016-11-13 15:15:58.128 [DEBUG] [internal.model.device.RgbLightDevice] - Device item FF_Light_FamilyLeft (Type=ColorItem, State=0,0,100, Label=Family Left, Category=null, Tags=[iss:room:FamilyRoom, iss:type:DevRGBLight], Groups=[FF_Family, Lights, gdashboard]) state changed to 0,0,100
2016-11-13 15:16:02.662 [DEBUG] [rihome.internal.ImperiHomeApiServlet] - 192.168.11.119: GET /imperihome/iss/devices
2016-11-13 15:16:02.662 [DEBUG] [.internal.handler.DevicesListHandler] - Device list response: DeviceList{devices=[AbstractDevice{id='d8ec8aa50c5003094a49900fb80badb75f032ad9', name='Front Porch', room='b7efb76a74598f9f246f303d790fc5073191889d', type=SWITCH, invert=false, links={}}, AbstractDevice{id='4b19476609d22de2d1ec5e2ee4b3493a43bc0fce', name='Basement_2', room='e5e194d20f83f9bed9d94b9b7f3fdc5ec29479d0', type=DIMMER, invert=false, links={}}, AbstractDevice{id='2414cdcd32ec8c17d2220733ccf564ab92ce251f', name='CF Fan Switch', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=DIMMER, invert=false, links={}}, AbstractDevice{id='565d9564b32006d7292b03c088e59f3ea4a20a09', name='Ceiling Fan 1', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='ca26cf40b9c1cf013c32a9c120ad761277f41bb2', name='Family Left', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='fec3053d1bffe86c07d1a571ce0810711477419', name='Ceiling Fan 3', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='45ef99dbff833f2bf31d2a184829274a86d83a5e', name='Kitchen Sink', room='18618c0e1e71a7995c1470d7258dd8963728818', type=DIMMER, invert=false, links={}}, AbstractDevice{id='573c39d772b88419ff1ad2488871cbb7e18f61cb', name='Family Right', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='31ce758ecc29c5536386eab0b7599242eb6de007', name='Dining Room', room='fe3883f67033184e5229046b65087587fd75b629', type=DIMMER, invert=false, links={}}, AbstractDevice{id='594c92baf8fc929d966fe86959f3732d69d89996', name='CF Light Switch', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=SWITCH, invert=false, links={}}, AbstractDevice{id='8a0d582281bb61adca61208e0a3a34e0dc5779a4', name='MyQ Garage Contact', room='f614ac324abb74a228247af73545afac53e42a36', type=DOOR, invert=false, links={}}, AbstractDevice{id='71f82712a12216f2339c401dca6bdb13ad75281e', name='Sue Bedside', room='a9341c8ca00153b582e1393a5e685f98a5e8ca53', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='67f3d1a5daa20bf27669c076dab82854b484e0ad', name='Top Hallway', room='4699fa54ada8abac4df2d67bd09ba105c844c543', type=DIMMER, invert=false, links={}}, AbstractDevice{id='2eb4c28516c5691041e3618b301988f8425fdc95', name='Outside Garage', room='b7efb76a74598f9f246f303d790fc5073191889d', type=SWITCH, invert=false, links={}}, AbstractDevice{id='12e179e5416c4f535a7ede4037ca2d1ef413385f', name='Kevin Lamp', room='f25fa3d9c7fe8a53aed38f1dd1c2b8c4699c922f', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='3272104901351f14b64d8fc68349e5987375712d', name='Garage Light', room='b7efb76a74598f9f246f303d790fc5073191889d', type=DIMMER, invert=false, links={}}, AbstractDevice{id='7951c786da17e451fc269dd8f47d460149009e31', name='Torch Reading', room='a9341c8ca00153b582e1393a5e685f98a5e8ca53', type=DIMMER, invert=false, links={}}, AbstractDevice{id='4badf912b9ae8202fb12694f2e238e1f37bdd95f', name='MyQ Garage Switch', room='f614ac324abb74a228247af73545afac53e42a36', type=SWITCH, invert=false, links={}}, AbstractDevice{id='5c5269d1fab8ddfe5da5191099b0433db991990e', name='All Family Lights', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='15c0753c0334b84c94f458f7c6f80dbf02b56501', name='Kitchen Eating', room='18618c0e1e71a7995c1470d7258dd8963728818', type=SWITCH, invert=false, links={}}, AbstractDevice{id='ac4dc5856abdd5a0e1fca242ce9b1fd06b309730', name='Basement_3', room='e5e194d20f83f9bed9d94b9b7f3fdc5ec29479d0', type=DIMMER, invert=false, links={}}, AbstractDevice{id='4e55da4f249053de6b603329f10976071b11dcc0', name='Inside Garage', room='f614ac324abb74a228247af73545afac53e42a36', type=SWITCH, invert=false, links={}}, AbstractDevice{id='3a764455c05fa8a1abdb9fa9dcee21ba7cfe214f', name='Foyer Light', room='4699fa54ada8abac4df2d67bd09ba105c844c543', type=SWITCH, invert=false, links={}}, AbstractDevice{id='ca8b3a886aeca7c262e02076fcf3aa62d64d59a3', name='Ceiling Fan 2', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='c3ec6a95ae6af84927cbe601a423159cbe2154c3', name='Kitchen Cooking', room='18618c0e1e71a7995c1470d7258dd8963728818', type=SWITCH, invert=false, links={}}, AbstractDevice{id='81451fe99c667ba1f965227f7a961d0496916411', name='Back Deck', room='b7efb76a74598f9f246f303d790fc5073191889d', type=SWITCH, invert=false, links={}}, AbstractDevice{id='be7470f04e4244749bab3ced236319065ebf6e0c', name='Ceiling Fan 4', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='11fe3b21059f05cea10f3dfb94d7aa506778c403', name='Torch Lamp', room='a9341c8ca00153b582e1393a5e685f98a5e8ca53', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='efb7db5607f49beaaf56fa2e20c4c70fa3319d6a', name='Paul Bedside', room='a9341c8ca00153b582e1393a5e685f98a5e8ca53', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='c46a221d419995ab02de3ee288a92837b0ce3623', name='Basement 1', room='e5e194d20f83f9bed9d94b9b7f3fdc5ec29479d0', type=DIMMER, invert=false, links={}}, AbstractDevice{id='17a45263be6ae403f61ed19550ca996fc13ec664', name='Top Stairs', room='4699fa54ada8abac4df2d67bd09ba105c844c543', type=DIMMER, invert=false, links={}}, AbstractDevice{id='e3ff83dfd2b4d2363d3b1588c7badd63342e193b', name='Laundry Room', room='e5e194d20f83f9bed9d94b9b7f3fdc5ec29479d0', type=SWITCH, invert=false, links={}}]}
2016-11-13 15:16:03.941 [DEBUG] [rihome.internal.ImperiHomeApiServlet] - 192.168.11.119: GET /imperihome/iss/devices/ca26cf40b9c1cf013c32a9c120ad761277f41bb2/action/setColor/96000000
2016-11-13 15:16:03.941 [DEBUG] [internal.handler.DeviceActionHandler] - Action request for device ca26cf40b9c1cf013c32a9c120ad761277f41bb2: [setColor] [96000000]
2016-11-13 15:16:03.947 [DEBUG] [internal.model.device.RgbLightDevice] - Device item FF_Light_FamilyLeft (Type=ColorItem, State=0,0,0, Label=Family Left, Category=null, Tags=[iss:room:FamilyRoom, iss:type:DevRGBLight], Groups=[FF_Family, Lights, gdashboard]) state changed to 0,0,0
2016-11-13 15:16:07.785 [DEBUG] [rihome.internal.ImperiHomeApiServlet] - 192.168.11.119: GET /imperihome/iss/devices
2016-11-13 15:16:07.786 [DEBUG] [.internal.handler.DevicesListHandler] - Device list response: DeviceList{devices=[AbstractDevice{id='d8ec8aa50c5003094a49900fb80badb75f032ad9', name='Front Porch', room='b7efb76a74598f9f246f303d790fc5073191889d', type=SWITCH, invert=false, links={}}, AbstractDevice{id='4b19476609d22de2d1ec5e2ee4b3493a43bc0fce', name='Basement_2', room='e5e194d20f83f9bed9d94b9b7f3fdc5ec29479d0', type=DIMMER, invert=false, links={}}, AbstractDevice{id='2414cdcd32ec8c17d2220733ccf564ab92ce251f', name='CF Fan Switch', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=DIMMER, invert=false, links={}}, AbstractDevice{id='565d9564b32006d7292b03c088e59f3ea4a20a09', name='Ceiling Fan 1', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='ca26cf40b9c1cf013c32a9c120ad761277f41bb2', name='Family Left', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='fec3053d1bffe86c07d1a571ce0810711477419', name='Ceiling Fan 3', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='45ef99dbff833f2bf31d2a184829274a86d83a5e', name='Kitchen Sink', room='18618c0e1e71a7995c1470d7258dd8963728818', type=DIMMER, invert=false, links={}}, AbstractDevice{id='573c39d772b88419ff1ad2488871cbb7e18f61cb', name='Family Right', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='31ce758ecc29c5536386eab0b7599242eb6de007', name='Dining Room', room='fe3883f67033184e5229046b65087587fd75b629', type=DIMMER, invert=false, links={}}, AbstractDevice{id='594c92baf8fc929d966fe86959f3732d69d89996', name='CF Light Switch', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=SWITCH, invert=false, links={}}, AbstractDevice{id='8a0d582281bb61adca61208e0a3a34e0dc5779a4', name='MyQ Garage Contact', room='f614ac324abb74a228247af73545afac53e42a36', type=DOOR, invert=false, links={}}, AbstractDevice{id='71f82712a12216f2339c401dca6bdb13ad75281e', name='Sue Bedside', room='a9341c8ca00153b582e1393a5e685f98a5e8ca53', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='67f3d1a5daa20bf27669c076dab82854b484e0ad', name='Top Hallway', room='4699fa54ada8abac4df2d67bd09ba105c844c543', type=DIMMER, invert=false, links={}}, AbstractDevice{id='2eb4c28516c5691041e3618b301988f8425fdc95', name='Outside Garage', room='b7efb76a74598f9f246f303d790fc5073191889d', type=SWITCH, invert=false, links={}}, AbstractDevice{id='12e179e5416c4f535a7ede4037ca2d1ef413385f', name='Kevin Lamp', room='f25fa3d9c7fe8a53aed38f1dd1c2b8c4699c922f', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='3272104901351f14b64d8fc68349e5987375712d', name='Garage Light', room='b7efb76a74598f9f246f303d790fc5073191889d', type=DIMMER, invert=false, links={}}, AbstractDevice{id='7951c786da17e451fc269dd8f47d460149009e31', name='Torch Reading', room='a9341c8ca00153b582e1393a5e685f98a5e8ca53', type=DIMMER, invert=false, links={}}, AbstractDevice{id='4badf912b9ae8202fb12694f2e238e1f37bdd95f', name='MyQ Garage Switch', room='f614ac324abb74a228247af73545afac53e42a36', type=SWITCH, invert=false, links={}}, AbstractDevice{id='5c5269d1fab8ddfe5da5191099b0433db991990e', name='All Family Lights', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='15c0753c0334b84c94f458f7c6f80dbf02b56501', name='Kitchen Eating', room='18618c0e1e71a7995c1470d7258dd8963728818', type=SWITCH, invert=false, links={}}, AbstractDevice{id='ac4dc5856abdd5a0e1fca242ce9b1fd06b309730', name='Basement_3', room='e5e194d20f83f9bed9d94b9b7f3fdc5ec29479d0', type=DIMMER, invert=false, links={}}, AbstractDevice{id='4e55da4f249053de6b603329f10976071b11dcc0', name='Inside Garage', room='f614ac324abb74a228247af73545afac53e42a36', type=SWITCH, invert=false, links={}}, AbstractDevice{id='3a764455c05fa8a1abdb9fa9dcee21ba7cfe214f', name='Foyer Light', room='4699fa54ada8abac4df2d67bd09ba105c844c543', type=SWITCH, invert=false, links={}}, AbstractDevice{id='ca8b3a886aeca7c262e02076fcf3aa62d64d59a3', name='Ceiling Fan 2', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='c3ec6a95ae6af84927cbe601a423159cbe2154c3', name='Kitchen Cooking', room='18618c0e1e71a7995c1470d7258dd8963728818', type=SWITCH, invert=false, links={}}, AbstractDevice{id='81451fe99c667ba1f965227f7a961d0496916411', name='Back Deck', room='b7efb76a74598f9f246f303d790fc5073191889d', type=SWITCH, invert=false, links={}}, AbstractDevice{id='be7470f04e4244749bab3ced236319065ebf6e0c', name='Ceiling Fan 4', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='11fe3b21059f05cea10f3dfb94d7aa506778c403', name='Torch Lamp', room='a9341c8ca00153b582e1393a5e685f98a5e8ca53', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='efb7db5607f49beaaf56fa2e20c4c70fa3319d6a', name='Paul Bedside', room='a9341c8ca00153b582e1393a5e685f98a5e8ca53', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='c46a221d419995ab02de3ee288a92837b0ce3623', name='Basement 1', room='e5e194d20f83f9bed9d94b9b7f3fdc5ec29479d0', type=DIMMER, invert=false, links={}}, AbstractDevice{id='17a45263be6ae403f61ed19550ca996fc13ec664', name='Top Stairs', room='4699fa54ada8abac4df2d67bd09ba105c844c543', type=DIMMER, invert=false, links={}}, AbstractDevice{id='e3ff83dfd2b4d2363d3b1588c7badd63342e193b', name='Laundry Room', room='e5e194d20f83f9bed9d94b9b7f3fdc5ec29479d0', type=SWITCH, invert=false, links={}}]}
2016-11-13 15:16:08.620 [DEBUG] [internal.model.device.RgbLightDevice] - Device item FF_Light_FamilyLeft (Type=ColorItem, State=180,100,0, Label=Family Left, Category=null, Tags=[iss:room:FamilyRoom, iss:type:DevRGBLight], Groups=[FF_Family, Lights, gdashboard]) state changed to 180,100,0
2016-11-13 15:16:12.906 [DEBUG] [rihome.internal.ImperiHomeApiServlet] - 192.168.11.119: GET /imperihome/iss/devices
2016-11-13 15:16:12.907 [DEBUG] [.internal.handler.DevicesListHandler] - Device list response: DeviceList{devices=[AbstractDevice{id='d8ec8aa50c5003094a49900fb80badb75f032ad9', name='Front Porch', room='b7efb76a74598f9f246f303d790fc5073191889d', type=SWITCH, invert=false, links={}}, AbstractDevice{id='4b19476609d22de2d1ec5e2ee4b3493a43bc0fce', name='Basement_2', room='e5e194d20f83f9bed9d94b9b7f3fdc5ec29479d0', type=DIMMER, invert=false, links={}}, AbstractDevice{id='2414cdcd32ec8c17d2220733ccf564ab92ce251f', name='CF Fan Switch', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=DIMMER, invert=false, links={}}, AbstractDevice{id='565d9564b32006d7292b03c088e59f3ea4a20a09', name='Ceiling Fan 1', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='ca26cf40b9c1cf013c32a9c120ad761277f41bb2', name='Family Left', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='fec3053d1bffe86c07d1a571ce0810711477419', name='Ceiling Fan 3', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='45ef99dbff833f2bf31d2a184829274a86d83a5e', name='Kitchen Sink', room='18618c0e1e71a7995c1470d7258dd8963728818', type=DIMMER, invert=false, links={}}, AbstractDevice{id='573c39d772b88419ff1ad2488871cbb7e18f61cb', name='Family Right', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='31ce758ecc29c5536386eab0b7599242eb6de007', name='Dining Room', room='fe3883f67033184e5229046b65087587fd75b629', type=DIMMER, invert=false, links={}}, AbstractDevice{id='594c92baf8fc929d966fe86959f3732d69d89996', name='CF Light Switch', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=SWITCH, invert=false, links={}}, AbstractDevice{id='8a0d582281bb61adca61208e0a3a34e0dc5779a4', name='MyQ Garage Contact', room='f614ac324abb74a228247af73545afac53e42a36', type=DOOR, invert=false, links={}}, AbstractDevice{id='71f82712a12216f2339c401dca6bdb13ad75281e', name='Sue Bedside', room='a9341c8ca00153b582e1393a5e685f98a5e8ca53', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='67f3d1a5daa20bf27669c076dab82854b484e0ad', name='Top Hallway', room='4699fa54ada8abac4df2d67bd09ba105c844c543', type=DIMMER, invert=false, links={}}, AbstractDevice{id='2eb4c28516c5691041e3618b301988f8425fdc95', name='Outside Garage', room='b7efb76a74598f9f246f303d790fc5073191889d', type=SWITCH, invert=false, links={}}, AbstractDevice{id='12e179e5416c4f535a7ede4037ca2d1ef413385f', name='Kevin Lamp', room='f25fa3d9c7fe8a53aed38f1dd1c2b8c4699c922f', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='3272104901351f14b64d8fc68349e5987375712d', name='Garage Light', room='b7efb76a74598f9f246f303d790fc5073191889d', type=DIMMER, invert=false, links={}}, AbstractDevice{id='7951c786da17e451fc269dd8f47d460149009e31', name='Torch Reading', room='a9341c8ca00153b582e1393a5e685f98a5e8ca53', type=DIMMER, invert=false, links={}}, AbstractDevice{id='4badf912b9ae8202fb12694f2e238e1f37bdd95f', name='MyQ Garage Switch', room='f614ac324abb74a228247af73545afac53e42a36', type=SWITCH, invert=false, links={}}, AbstractDevice{id='5c5269d1fab8ddfe5da5191099b0433db991990e', name='All Family Lights', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='15c0753c0334b84c94f458f7c6f80dbf02b56501', name='Kitchen Eating', room='18618c0e1e71a7995c1470d7258dd8963728818', type=SWITCH, invert=false, links={}}, AbstractDevice{id='ac4dc5856abdd5a0e1fca242ce9b1fd06b309730', name='Basement_3', room='e5e194d20f83f9bed9d94b9b7f3fdc5ec29479d0', type=DIMMER, invert=false, links={}}, AbstractDevice{id='4e55da4f249053de6b603329f10976071b11dcc0', name='Inside Garage', room='f614ac324abb74a228247af73545afac53e42a36', type=SWITCH, invert=false, links={}}, AbstractDevice{id='3a764455c05fa8a1abdb9fa9dcee21ba7cfe214f', name='Foyer Light', room='4699fa54ada8abac4df2d67bd09ba105c844c543', type=SWITCH, invert=false, links={}}, AbstractDevice{id='ca8b3a886aeca7c262e02076fcf3aa62d64d59a3', name='Ceiling Fan 2', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='c3ec6a95ae6af84927cbe601a423159cbe2154c3', name='Kitchen Cooking', room='18618c0e1e71a7995c1470d7258dd8963728818', type=SWITCH, invert=false, links={}}, AbstractDevice{id='81451fe99c667ba1f965227f7a961d0496916411', name='Back Deck', room='b7efb76a74598f9f246f303d790fc5073191889d', type=SWITCH, invert=false, links={}}, AbstractDevice{id='be7470f04e4244749bab3ced236319065ebf6e0c', name='Ceiling Fan 4', room='6672ec2c95a85cd65d48de78fd420fd1be3b1057', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='11fe3b21059f05cea10f3dfb94d7aa506778c403', name='Torch Lamp', room='a9341c8ca00153b582e1393a5e685f98a5e8ca53', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='efb7db5607f49beaaf56fa2e20c4c70fa3319d6a', name='Paul Bedside', room='a9341c8ca00153b582e1393a5e685f98a5e8ca53', type=RGB_LIGHT, invert=false, links={}}, AbstractDevice{id='c46a221d419995ab02de3ee288a92837b0ce3623', name='Basement 1', room='e5e194d20f83f9bed9d94b9b7f3fdc5ec29479d0', type=DIMMER, invert=false, links={}}, AbstractDevice{id='17a45263be6ae403f61ed19550ca996fc13ec664', name='Top Stairs', room='4699fa54ada8abac4df2d67bd09ba105c844c543', type=DIMMER, invert=false, links={}}, AbstractDevice{id='e3ff83dfd2b4d2363d3b1588c7badd63342e193b', name='Laundry Room', room='e5e194d20f83f9bed9d94b9b7f3fdc5ec29479d0', type=SWITCH, invert=false, links={}}]}

So in your example the light didnā€™t turn off? I can see the app behaves the same on iOS in the list view and when I send the value ā€˜96000000ā€™ my Hue strip turns off. The format of the value is aaRRGGBB in hex, so this value means ā€˜blackā€™.

Itā€™s actually ImperiHome itself that determines it should call setColor, not my binding. We can try to make the binding send an ā€˜OFFā€™ command when setColor receives a ā€˜blackā€™ value. Thereā€™s a new build at my server that has that change, give it a try. You might want to backup your current version in case this doesnā€™t work for you :slight_smile:

@pdegeus

Success! Just home and tried the updated binding. Now the brightness slider works as expected and when changing the brightness level Imperihome returns with the light being changed to the XX percent.

1 Like

Is anyone else on the Imperihome Beta program?
If so then the release to 2.8.5 on 15/11/2016 added a function the ISS:
ā€œAbility to set default icons URLā€™s from the APIā€

The parameter is defaultIcon and is basically a URL to the icon i believe.
see here http://dev.evertygo.com/api/iss

@pdegeus - is this something that you could add when you have time? This could be helpful as i do change many icons on my Imperihome dashboard and its a PITA to do it on the device, and if i could do it via ISS then i think it would help.

Cheers,
Greg.

Hi,

the new imperihome binding is not working anymore at my setup. I get the following error in oh2 log:

at com.google.gson.Gson.getAdapter(Gson.java:359)[13:com.google.gson:2.3.1]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter(ReflectiveTypeAdapterFactory.java:122)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.access$100(ReflectiveTypeAdapterFactory.java:46)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.(ReflectiveTypeAdapterFactory.java:92)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:91)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:142)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:83)

In Imperihome I receive all items but values are shown as N/A. If I use an older binding and put it manually in the addons folder all is working fine. Any idea?

regards RenƩ

@rene54321 I can confirm I get this too with the binding dirsztubed with the openhab2-offline snapshot on my test system.
Sounds like the build process for this binding is busted.

@rene54321 @greg Iā€™ve had similar issues, but those are fixed in the build I created for @ptmuldoon.
Can you try the latest version from my server?

A pull request is already waiting for acceptance:

@greg Regarding the icons, Iā€™m happy to add this. Iā€™m not on the beta program however, and using iOS only. It seems the iOS features are a bit behind, so it could take some time before I can test the feature myself.

Thanks mate. If it is possible to add the icon function, Iā€™ll test it out. No hurry though.

Hi @pdegeus - I created a new OH2 instance with todays snapshot.
I then added the Imperihome binding via PaperUI and see this in the log:

2016-11-24 15:20:20.781 [ERROR] [org.openhab.io.imperihome           ] - [org.openhab.imperihome(209)] The activate method has thrown an exception
java.lang.NullPointerException
        at org.openhab.io.imperihome.internal.model.device.TrippableDevice.stateUpdated(TrippableDevice.java:53)
        at org.openhab.io.imperihome.internal.processor.ItemProcessor.parseItem(ItemProcessor.java:113)
        at org.openhab.io.imperihome.internal.processor.ItemProcessor.allItemsChanged(ItemProcessor.java:386)
        at org.openhab.io.imperihome.internal.processor.ItemProcessor.<init>(ItemProcessor.java:76)
        at org.openhab.io.imperihome.internal.ImperiHomeApiServlet.activate(ImperiHomeApiServlet.java:108)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_111]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_111]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_111]
        at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_111]
        at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:222)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:615)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:499)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:295)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:302)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:113)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:866)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:833)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:724)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:399)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.config.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:676)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:339)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:360)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.Activator.access$000(Activator.java:53)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:260)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232)[33:org.apache.felix.scr:2.0.2]
        at org.apache.felix.utils.extender.AbstractExtender.addingBundle(AbstractExtender.java:192)[33:org.apache.felix.scr:2.0.2]
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469)[org.osgi.core-6.0.0.jar:]
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:415)[org.osgi.core-6.0.0.jar:]
        at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[org.osgi.core-6.0.0.jar:]
        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)[org.osgi.core-6.0.0.jar:]
        at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444)[org.osgi.core-6.0.0.jar:]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:902)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:165)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:75)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:67)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:102)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.container.Module.publishEvent(Module.java:466)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.container.Module.start(Module.java:457)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.container.ModuleContainer.applyDelta(ModuleContainer.java:717)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.container.ModuleContainer.resolveAndApply(ModuleContainer.java:491)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:437)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:427)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.container.ModuleContainer$ContainerWiring.resolveBundles(ModuleContainer.java:1267)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.resolveBundles(FeaturesServiceImpl.java:1277)[9:org.apache.karaf.features.core:4.0.4]
        at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:827)[9:org.apache.karaf.features.core:4.0.4]
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1089)[9:org.apache.karaf.features.core:4.0.4]
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:985)[9:org.apache.karaf.features.core:4.0.4]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_111]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_111]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_111]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_111]
2016-11-24 15:20:20.794 [ERROR] [org.openhab.io.imperihome           ] - [org.openhab.imperihome(209)] Failed creating the component instance; see log for reason

Any ideas?

Update:
I enabled DEBUG logging, and noticed it was dieing after this line:

Number GarageLedStairsMotionA	"GarageStairs Motion Bottom [%s]"	(gSecurity)	["iss:room:Garage","iss:type:DevMotion"]	{ mqtt="<[MyMQTT:mygateway1-out/11/3/1/0/16:state:default]"}

If i remove the iss tags for this entry it loads properly when removed/added in PaperUI.

So seems it may be something around DevMotion?

If i then re-add those tags it doesnt complain about that DevMotion tag entry.

-24 16:56:23.097 [DEBUG] [ernal.model.device.ElectricityDevice] - Device item emonsh11_ct3 (Type=NumberItem, State=16, Label=Power Circuit 3, Category=null, Tags=[iss:type:DevElectricity, iss:room:Power], Groups=[gEmon]) state changed to 16
2016-11-24 16:56:23.099 [DEBUG] [ernal.model.device.ElectricityDevice] - Device item emonsh11_ct4 (Type=NumberItem, State=119, Label=Power Circuit 4, Category=null, Tags=[iss:type:DevElectricity, iss:room:Power], Groups=[gEmon]) state changed to 119
2016-11-24 16:56:23.308 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'OH2_default.items'
2016-11-24 16:56:23.782 [DEBUG] [ernal.model.device.ElectricityDevice] - Device item emonsh12_ct1 (Type=NumberItem, State=6, Label=Power Circuit 5, Category=null, Tags=[iss:type:DevElectricity, iss:room:Power], Groups=[gEmon]) state changed to 6
2016-11-24 16:56:23.784 [DEBUG] [ernal.model.device.ElectricityDevice] - Device item emonsh12_ct2 (Type=NumberItem, State=26, Label=Power Circuit 6, Category=null, Tags=[iss:type:DevElectricity, iss:room:Power], Groups=[gEmon]) state changed to 26
2016-11-24 16:56:23.788 [DEBUG] [ernal.model.device.ElectricityDevice] - Device item emonsh12_ct3 (Type=NumberItem, State=0, Label=Unused CT, Category=null, Tags=[iss:type:DevElectricity, iss:room:Power], Groups=[gEmon]) state changed to 0
2016-11-24 16:56:23.790 [DEBUG] [ernal.model.device.ElectricityDevice] - Device item emonsh12_ct4 (Type=NumberItem, State=131, Label=Lights Circuit 4, Category=null, Tags=[iss:type:DevElectricity, iss:room:Power], Groups=[gEmon]) state changed to 131
2016-11-24 16:56:25.382 [DEBUG] [ome.internal.processor.ItemProcessor] - Found item GarageLedStairsMotionA (Type=NumberItem, State=NULL, Label=GarageStairs Motion Bottom, Category=null, Tags=[iss:room:Garage, iss:type:DevMotion], Groups=[gSecurity]) with ISS tags: {ROOM=[Garage], TYPE=[DevMotion]}
2016-11-24 16:56:25.383 [DEBUG] [nternal.model.device.TrippableDevice] - Device item GarageLedStairsMotionA (Type=NumberItem, State=NULL, Label=GarageStairs Motion Bottom, Category=null, Tags=[iss:room:Garage, iss:type:DevMotion], Groups=[gSecurity]) state changed to NULL
2016-11-24 16:56:28.376 [INFO ] [ternal.scheduler.WeatherJobScheduler] - Deleting weatherJob-home

Its only choking on the initial loading. Could it be due to the value being ā€œnullā€?

Here is some further infoā€¦if it helps. Ive set the iss DevMotion tags on another motion sensor i can more easily test with,

016-11-24 17:22:12.774 [DEBUG] [ome.internal.processor.ItemProcessor] - Found item Motion_SenseBender (Type=NumberItem, State=NULL, Label=Sensbender Motion Sensor, Category=null, Tags=[iss:room:TEST, iss:type:DevMotion], Groups=[gSecurity]) with ISS tags: {ROOM=[TEST], TYPE=[DevMotion]}
2016-11-24 17:22:12.774 [DEBUG] [nternal.model.device.TrippableDevice] - Device item Motion_SenseBender (Type=NumberItem, State=NULL, Label=Sensbender Motion Sensor, Category=null, Tags=[iss:room:TEST, iss:type:DevMotion], Groups=[gSecurity]) state changed to NULL
2016-11-24 17:22:12.776 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'rrd4j.persist'
2016-11-24 17:22:12.783 [ERROR] [org.apache.felix.configadmin        ] - [org.osgi.service.cm.ManagedService, id=208, bundle=120/mvn:org.eclipse.smarthome.model/org.eclipse.smarthome.model.core/0.9.0-SNAPSHOT]: Unexpected problem updating configuration org.eclipse.smarthome.folder
java.lang.NullPointerException
        at org.openhab.io.imperihome.internal.model.device.TrippableDevice.stateUpdated(TrippableDevice.java:53)[238:org.openhab.io.imperihome:2.0.0.201611222318]
        at org.openhab.io.imperihome.internal.processor.ItemProcessor.parseItem(ItemProcessor.java:113)[238:org.openhab.io.imperihome:2.0.0.201611222318]
        at org.openhab.io.imperihome.internal.processor.ItemProcessor.added(ItemProcessor.java:357)[238:org.openhab.io.imperihome:2.0.0.201611222318]
        at org.openhab.io.imperihome.internal.processor.ItemProcessor.added(ItemProcessor.java:1)[238:org.openhab.io.imperihome:2.0.0.201611222318]
        at org.eclipse.smarthome.core.internal.items.ItemRegistryImpl.allItemsChanged(ItemRegistryImpl.java:105)[96:org.eclipse.smarthome.core:0.9.0.201611191809]
        at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:341)[121:org.eclipse.smarthome.model.item:0.9.0.201611191809]
        at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:207)[120:org.eclipse.smarthome.model.core:0.9.0.201611191809]
        at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:99)[120:org.eclipse.smarthome.model.core:0.9.0.201611191809]
        at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:267)[120:org.eclipse.smarthome.model.core:0.9.0.201611191809]
        at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.notifyUpdateToModelRepo(FolderObserver.java:195)[120:org.eclipse.smarthome.model.core:0.9.0.201611191809]
        at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.updated(FolderObserver.java:176)[120:org.eclipse.smarthome.model.core:0.9.0.201611191809]
        at org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189)[7:org.apache.felix.configadmin:1.8.8]
        at org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152)[7:org.apache.felix.configadmin:1.8.8]
        at org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85)[7:org.apache.felix.configadmin:1.8.8]
        at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.provide(ConfigurationManager.java:1444)[7:org.apache.felix.configadmin:1.8.8]
        at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1400)[7:org.apache.felix.configadmin:1.8.8]
        at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:143)[7:org.apache.felix.configadmin:1.8.8]
        at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:110)[7:org.apache.felix.configadmin:1.8.8]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_111]
2016-11-24 17:22:12.786 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'mapdb.persist'

I see in this there is ā€œUnexpected problem updating configuration org.eclipse.smarthome.folderā€

Ill look further into this, but not sure why DevMotion would be concerned about updating a config or folderā€¦

Cheers,
Greg

Separate question:
Is it possible to add an option to set the id value given in /imperihome/iss/system ?
This would be great so when you migrate from server to server, and not need to recreate the dashboards.

or is it buried somewhere that can be modified?

@greg Thereā€™s a new build at my server. This should fix the exception related to the motion device; it was indeed caused by the state being null when starting.

Iā€™ve also added support to overwrite the system ID using a configuration file. Take a look at the updated readme at https://github.com/pdegeus/openhab2-addons/tree/master/addons/io/org.openhab.io.imperihome.

My ImperiHome app updated yesterday with icon support, so Iā€™ll add support for that soon.

Awesome thanks so much. Im out now but will test when I get home :grin:

Hahaā€¦Fantastic!

DevMotion now working great.

Andā€¦very coolā€¦ so is the systemid option. I think this may make moving from one system to another really simpleā€¦

Thanks Pepijn!