All Projects → dvd-dev → hilo

dvd-dev / hilo

Licence: MIT license
Home Assistant Hilo Integration via HACS

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to hilo

Hilo
A Cross-end HTML5 Game development solution developed by Alibaba Group
Stars: ✭ 5,723 (+7848.61%)
Mutual labels:  hilo
article
Hilo article
Stars: ✭ 22 (-69.44%)
Mutual labels:  hilo
signalr-client
SignalR client library built on top of @aspnet/signalr. This gives you more features and easier to use.
Stars: ✭ 48 (-33.33%)
Mutual labels:  signalr-client
SignalR-Core-SqlTableDependency
Shows how the new SignalR Core works with hubs and sockets, also how it can integrate with SqlTableDependency API.
Stars: ✭ 36 (-50%)
Mutual labels:  signalr-client
TypedSignalR.Client
C# Source Generator to Create Strongly Typed SignalR Client.
Stars: ✭ 16 (-77.78%)
Mutual labels:  signalr-client
python-bittrex-websocket-aio
Python websocket for Bittrex (async).
Stars: ✭ 35 (-51.39%)
Mutual labels:  signalr-client
signalr
SignalR server and client in go
Stars: ✭ 69 (-4.17%)
Mutual labels:  signalr-client
node-deepstackai-trigger
Detects motion using Deepstack AI and calls registered triggers based on trigger rules.
Stars: ✭ 154 (+113.89%)
Mutual labels:  home-automation-system
PiBuilder
Ideas for building a Raspberry Pi from "bare metal" to ready-to-run IOTstack
Stars: ✭ 26 (-63.89%)
Mutual labels:  home-automation-system
quebec-power-grid-talk
🎭 Quebec's 735kv power lines can survive the apocalypse, but can they run TCP?!
Stars: ✭ 31 (-56.94%)
Mutual labels:  hydro-quebec

hacs GitHub Release GitHub Activity Project Maintenance License pre-commit black calver lgtm-alert lgtm-grade discord

BETA This is a beta release. There will be some bugs, issues, etc. Please bear with us and open issues in the repo.

Hilo

Hilo integration for Home Assistant

Introduction

This is the unofficial HACS Hilo integration for Home Assistant. Hilo is a smart home platform developed by an Hydro Quebec subsidiary. This integration has no direct tie with Hilo or Hydro Quebec. This is a community initiative. Please don't contact Hilo or Hydro-Quebec with issues with this Home Assistant integration, you can open an issue in the github repository instead.

If you want to help with the development of this integration, you can always submit a feedback form from the Hilo application and requesting that they open their API publicly and that they provide a testing environment to the developers.

Shout out

Big shout out to Francis Poisson who's the original author of this integration. Without the work he put into this integration, I would probably have never even considered Hilo.

I decided to move the integration here because of the latest updates from Hilo broke the original one and I took the time to completely rewrite it. Hilo is now pushing device readings via websocket from SignalR.

Features

  • Support for switches and dimmers as light devices
  • Get current and set target temperature of thermostat
  • Get energy usage of pretty much each devices
  • Generates energy meters and sensors
  • Sensor for Hilo Events (challenges)
  • Sensor for Hilo Gateway
  • NEW: Now configuration is done via the UI
  • NEW: Updates are now closer to realtime

To Do:

  • Add functionalities for other devices
  • unit and functional tests
  • Adding type hints to the code
  • Write a separate library for the hilo api mapping Now available here
  • Translate everything in French #tokebakissite

Installation

Step 1: Download files

Option 1: Via HACS

Make sure you have HACS installed.
Under HACS, click the '+ EXPLORE & DOWNLOAD REPOSITORIES' button on the bottom of the page, serch for "Hilo", choose it, and click download in HACS.

Option 2: Manual

Download and copy the custom_components/hilo directory from the latest release to your custom_components directory in HA.

Step 2: Add integration to HA (<--- this is a step that a lot of people forget)

In HA, go to Settings > Devices & Services > Integrations. In the bottom right corner, click the '+ ADD INTEGRATION' button.

If the component is properly installed, you should be able to find the 'Hilo integration' in the list. You might need to clear you browser cache for the integration to show up.

Configuration

The configuration is done in the UI. When you add the integration, you will be prompted with your Hilo username and password. After this, you will be prompted with assigning a room for each one of your devices.

Energy meters

Energy meters are a new feature of this integration. We used to manually generate them with template sensors and automation but they now have been fully integrated into the Hilo integration.

Warning

When enabling Hilo generated energy meters, it's recommended to remove the manually generated ones to have the most accurate statistics, otherwise we might end up with duplicated data.

This wasn't tested with already active data and energy entities (ie: Battery, Gaz, Solar, or even other individual devices). It's possible that enabling this will break or delete these original sensors. We can't be held responsible for any data loss service downtime, or any kind as it's described in the license.

If you're facing an issue and you want to collaborate, please enable debug log level for this integration and provide a copy of the home-assistant.log file. Details on how to enable debug are below.

Procedure

If you want to enable the automatic generation of the energy sensors, follow these steps:

  • Make sure that the utility_meter platform is loaded in your configuration.yaml file from home assistant. You simply need to add a line like this in your configuration.yaml:

    utility_meter:
    
  • Click Configure in the integration UI and check the Generate energy meters box.

  • Restart home assistant and wait 5 minutes until you see the sensor.hilo_energy_total_low entity getting created and populated with data:

    • The status should be in collecting
    • The state should be a number higher than 0.
  • All generated entities and sensors will be prefixed with hilo_energy_ or hilo_rate_.

  • If you see the following error in your logs, this is a bug in Home Assistant and it's because the power meter in question has 0 w/h usage so far. This will disappear once usage has been calculated. There's a PR upstream here to address this.

    2021-11-29 22:03:46 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
    Traceback (most recent call last):
    [...]
    ValueError: could not convert string to float: 'None'
    

Other configuration

Other options are available under the Configure button in Home Assistant:

  • hq_plan_name: String Define the Hydro Quebec rate plan name. Only 2 values are supported at this time:

    • rate d
    • flex d
  • scan_interval: Integer Number of seconds between each device update. Defaults to 60 and it's not recommended to go below 30 as it might result in a suspension from Hilo.

Lovelace sample integration and automation example

You can find multiple examples and ideas for lovelace dashboard, cards and automation here in the wiki of the project

References

As stated above, this is an unofficial integration. Hilo is not supporting direct API calls and might obfuscate the service or prevent us from using it.

For now, these are the swagger links we've found:

FAQ

You can find the FAQ in the wiki of the project: https://github.com/dvd-dev/hilo/wiki/FAQ

Contributing

Reporting any kind of issue is a good way of contributing to the project and it's available to anyone.

If you face any kind of problem or weird behavior, please submit an issue and ideal, attach debug logs.

To enable debug log level, you need to add this to your configuration.yaml file:

logger:
  default: info
  logs:
     custom_components.hilo: debug
     pyhilo: debug

If you have any kind of python/home-assistant experience and want to contribute to the code, feel free to submit a merge request.

Collaborators


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].