Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

Home Assistant integrates Fibaro HCL/HC2


Question

Posted (edited)

Hi all,

 

Home assistant (https://home-assistant.io) now supports integration with Fibaro HCL and HC2 Hubs. Once you configure your url, user and password, your devices show up on Home Assistant. This way you can integrate with Xiaomi, Ikea Tradfri and tons of other systems into one easy to customize and lightning fast interface.

 

Cheers,

Peter

Edited by pbalogh77
  • Like 3

Recommended Posts

  • 1
Posted

omg. python! ;) 

I love Whitesnake... oh sorry python...  :)

  • 1
Posted (edited)

Peter IMHO Sir asking about configuring HA as alternative UI.cuz word “integration” it’s not mean move away. Otherwise yes he must remove all devices from HA, connect USB ZWave slicker to HA PC and add all devices from scratch 

Edited by 10der
  • 0
Posted

Home Assistant supports z-wave through stocks on its own, so it seems more reasonable not to have HCl or hc2 at all here. 

 

Sticks support z-wave gen 5 and are cheaper then hcl.

  • Like 1
  • 0
Posted

I always tell people with bigger networks (say starting at 50 physical nodes) to install a 2nd controller "to put things in perspective". For many years, my 2nd smaller system was "Z-Way on a RaZberry" and this summer I switched to Home Assistant. Not to replace my HC, but as I said: "to put things into perspective". And to control some IKEA TRADFRI lamps.

 

The addition of the "Fibaro" component to HASS makes this option quite a bit more interesting. That is, for all those people already owning a HomeCenter. I am not here to write a review of either HC or HASS, but I will say they are completely different in many ways, requiring different skill levels... I am not giving any sort of "buying advice" here, there are plenty of HA systems available, pick the one you like.

 

My involvement with this project is very tiny, the other Peter is the maintainer and I contacted him to iron out a few bugs.

 

I think, his forum is not the place to talk about HASS or this component... Please use 

Please login or register to see this link.

 

  • 0
  • Inquirer
  • Posted
    3 hours ago, Piotr Bojko said:

    Home Assistant supports z-wave through stocks on its own, so it seems more reasonable not to have HCl or hc2 at all here. 

     

    Sticks support z-wave gen 5 and are cheaper then hcl.

     

    My thinking was that fibaro hc2 is very reliable. I haven't had a crash in a year. Home Assistant -on the other hand - integrates with everything and very customizable and lightning fast. So to get the best of both worlds, I integrate hubs in home assistant, and use it as a unified interface on top of all. But if there's any problem, I can still access everything in the specific hubs and dedicated apps on my phone. 

     

    Cheers,

    Peter

    • 0
    Posted

    I would question stability of fibaro hubs, but if in your case you bet on fibaro then ok. I would opt for stability of new version of z-wave proto which is not supported by fibaro hubs. Better security, better reception and more reliable comes with new version of z-wave.

     

    Also please note that probably integration between home Assistant and fibaro is not bidirectional, so home Assistant is pulling states of devices from fibaro frequently. This will give some overhead and latency.

    • 0
    Posted
    23 minutes ago, Piotr Bojko said:

    This will give some overhead and latency.

     

    Try it, you will be surprised. It uses, in part, the same technology that Fibaro uses to refresh its browser interface. And it is quite bidirectional.

     

    It is less work than excluding 100 devices and having to include them on another Z-Wave controller (eg UZB stick) - then rewrite all your automation.

    • 0
  • Inquirer
  • Posted
    2 hours ago, Piotr Bojko said:

    I would question stability of fibaro hubs, but if in your case you bet on fibaro then ok. I would opt for stability of new version of z-wave proto which is not supported by fibaro hubs. Better security, better reception and more reliable comes with new version of z-wave.

     

    Also please note that probably integration between home Assistant and fibaro is not bidirectional, so home Assistant is pulling states of devices from fibaro frequently. This will give some overhead and latency.

    No, it's not polling, but waiting for changes, so the overhead on both sides is minimal.

    • 0
    Posted (edited)
    23 hours ago, pbalogh77 said:

    Hi all,

     

    Home assistant (https://home-assistant.io) now supports integration with Fibaro HCL and HC2 Hubs. Once you configure your url, user and password, your devices show up on Home Assistant. This way you can integrate with Xiaomi, Ikea Tradfri and tons of other systems into one easy to customize and lightning fast interface.

     

    Cheers,

    Peter

    Nice! Tried it, like it!

    Normally I send HTTPS-commands to Node-Red, convert it to MQTT and then let Home Assistant act. This so much more easy. Thank you!

     

    To bad there is no way to get it encrypted somehow.... (user login and communication is still done unencrypted).

     

    27 minutes ago, pbalogh77 said:

    No, it's not polling, but waiting for changes, so the overhead on both sides is minimal. 

     

    How did you accomplish that o.O?

    Edited by Lambik
    • 0
    Posted (edited)
    16 minutes ago, Lambik said:

    How did you accomplish that o.O?

    AFAIK it uses the undocumented /api/refreshStates

    The same API that Fibaro uses to refresh its browser interface.

     

    EDIT: as @pbalogh77 said, in layman's terms, it is listening to events that indicate a change on the HC.

    Edited by petergebruers
    • 0
    Posted
    1 minute ago, petergebruers said:

    AFAIK it uses the undocumented /api/refreshStates

    The same API that Fibaro uses to refresh its browser interface.

    Like what @10der did with his

    Please login or register to see this link.

    ?

    You still have to poll to this to get the states, right?

    • 0
    Posted
    2 minutes ago, Lambik said:

    Like what @10der did with his

    Please login or register to see this link.

    ?

    You still have to poll to this to get the states, right?

    Don't know about implementation details in node red. It is not polling. Hass component asks HC: "are there any changes". If there are none it sits idle. Then if you eg click a button, HC sends "device x status changed to y". Or if a sensor reports something. So it only has to get all states when it starts, to get initial state. After that, it only gets changes.

    • Thanks 1
    • 0
    Posted
    1 minute ago, petergebruers said:

    Don't know about implementation details in node red. It is not polling. Hass component asks HC: "are there any changes". If there are none it sits idle. Then if you eg click a button, HC sends "device x status changed to y". Or if a sensor reports something. So it only has to get all states when it starts, to get initial state. After that, it only gets changes.

    Thanks for your answers @petergebruers , it's appreciated.

    So if I understand right, it is still asks every x-time if there are changes, right? (kind of polling for last changes, or is there a difference?)

    • 0
    Posted
    20 minutes ago, Lambik said:

    You still have to poll to this to get the states, right?

    yep!

    • Thanks 1
    • 0
    Posted
    Just now, 10der said:

    yep!

    Okay, now I get it! Finally..... ;D

    Thanks @10der & @petergebruers

    • 0
    Posted
    4 minutes ago, Lambik said:

    So if I understand right, it is still asks every x-time if there are changes, right?

    Not quite... Hass asks "are there changes" (it uses a monotonic timestamp for handshake), this opens a TCP connection. If the HC has no changes, that connection sits idle until the HC replies. Hass process the reply and immediately asks again if there are changes, this repeats. No fixed interval. I can make a wireshark capture if you want the gritty details... With my 100 nodes I see the connection sometimes idles for 5 seconds because nothing happens, sometimes it is less than 0.1 s... It is more like a queue between HC and HASS. BTW this is how the BUI updates...

    • 0
    Posted
    14 minutes ago, petergebruers said:

    Hass component asks HC: "are there any changes"

    and HC2 responds with a human voice : take me via API! http://192.168.1.36/docs/#!/refreshStates

    • 0
    Posted

    So, the TCP communication 'line' will be open until the next change --> send/redirect the changes --> open a new line and wait for the next change?

    Something like that?

    • 0
    Posted (edited)
    On 12/1/2018 at 5:52 PM, 10der said:

    and HC2 responds with a human voice : take me via API! http://192.168.1.36/docs/#!/refreshStates

    Indeed, a deep, roaring voice.

     

    That's the api...

     

    Because this is open source, you do not have to speculate, the code is here:

     

    Please login or register to see this link.

     

    Edit... Latest version is on pypi: 

    Please login or register to see this link.

     

    On 12/1/2018 at 5:56 PM, Lambik said:

    So, the TCP communication 'line' will be open until the next change --> send/redirect the changes --> open a new line and wait for the next change?

     

    I have spent no more than 5 minutes with Wireshark looking at that but I would say "yes"... That TCP channel is "long lived".

     

    It explains why it uses so few resources and is still very fast. My HC2 idles at < 5% CPU while I have 2 x hass connection open + 1 browser.

     

     

    Edited by petergebruers
    • Thanks 1
    • 0
    Posted

    So, just a thought, I could use this mechanism to use it by the HC2 Lua?

     

    Something like:

    • call /api/refreshStates by a LUA scene
    • Wait until changes and send device changes  encrypted, by the scene, to Node Red for example?

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...