Tuesday, February 21, 2023

Home Assistant custom integration HACS

As I wanted to get the data of different websites integrated within Home Assistant, I started to develop some custom integrations (HACS) myself. More details on my own Home Assistant setup can be read in my previous post. Doing so, I’ve now developed these:

  1. Telenet Telemeter: get usage statistics of the Belgian Telenet internet provider and mobile phone data usage
  2. Pixometer: using the Pixometer mobile app, legacy energy meter readings can easily be captured. With this integration this enegery meter readings can now easily be integrated into Home Assistant too.
  3. Youfone Belgian mobile phone provider usage statistics
  4. Bibliotheek.be Belgian library information to get info on library loans and allow automation of loan extensions
  5. Carbu.com and Mazout.com: retrieve best prices for super95, diesel and fuel oil in neighbourhood, including prediction on price changes expected in near future.
  6. MijnTuin: Integration of the garden calendar of MijnTuin.org
  7. TotalEnergies Club Card: small limited integration to get info on the points and transactions made with the TotalEngergies Club Card.
  8. MyEnergy: integration to regularly fetch the Belgian gas and electricity prices of the website mijnenergie.be. 
  9. JNM: integration to fetch JNM activities

All these integration use a common code base. Bibliotheek_be also has several services defined. Following sources helped me during analysis and development:

In order to get integration logo integrated in HACS, I forked https://github.com/home-assistant/brands, created a new branch and added the logo.png and icon.png files within a subfolder with the name of the integration within folder ‘custom_integration’.

To make sure the new custom integration meets the requirements defined by HA and HACS, github actions need to be added into each repo so they can run on every push into github.

In order to get these new integrations registered within the standard known HACS integrations, I forked https://github.com/hacs/default, created a new branch and added my repo names into ‘integration’ file and launched a pull request to get it integrated in the default HACS repo.

Update: 30/10/2023 added new custom integrations