Skip to content

Home Assistant component for Telenet BE services

License

Notifications You must be signed in to change notification settings

sammyke007/telenet

Repository files navigation

Telenet

Telenet for Home Assistant

A Home Assistant integration allowing to monitor your mobile, internet, dtv and telephone usage

Features

  • 🌐 Internet sensors
  • πŸ“± Mobile sensors
  • πŸ“Ί DTV sensors
  • πŸ“ž Telephone sensors

MIT License hacs_badge maintainer buyme_coffee

GitHub issues Average time to resolve an issue Percentage of issues still open PRs Welcome

Hacs and Hassfest validation Python

manifest version github release github release date github last-commit github contributors github commit activity

Installation

Using HACS (recommended)

  1. Simply search for Telenet in HACS and install it easily.
  2. Restart Home Assistant
  3. Add the 'Telenet' integration via HA Settings > 'Devices and Services' > 'Integrations'
  4. Provide your Telenet BE username and password

Manual

  1. Copy the custom_components/telenet directory of this repository as config/custom_components/telenet in your Home Assistant instalation.
  2. Restart Home Assistant
  3. Add the 'Telenet' integration via HA Settings > 'Devices and Services' > 'Integrations'
  4. Provide your Telenet BE username and password

This integration will set up the following platforms.

Platform Description
telenet Home Assistant component for Telenet BE services

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines

Troubleshooting

  1. You can enable logging for this integration specifically and share your logs, so I can have a deep dive investigation. To enable logging, update your configuration.yaml like this, we can get more information in Configuration -> Logs page
logger:
  default: warning
  logs:
    custom_components.telenet: debug

Configuration tip

You can exclude some sensors as they contain quite some information, like e.g.

recorder:
  exclude:
    entity_globs:
      - sensor.telenet_*_internet_daily_usage
      - sensor.telenet_*_internet_usage
      - sensor.telenet_*_internet_network
      - sensor.telenet_*_internet_wifi

Lovelace examples

Internet info and peak/off-peak usage Apex graph

Internet peak off-peak

Show markdown code

Replace <identifier> by your Telenet identifier and <customer_id> by your Telenet account ID

type: vertical-stack
cards:
  - type: markdown
    content: >-
      ## <img src="https://brands.home-assistant.io/telenet/icon.png"
      width="20"/>&nbsp;&nbsp;Je Internet

      ###
      **{{state_attr('sensor.telenet_<identifier>_internet_usage','total_usage')}}**
      verbruikt tijdens de huidige periode


      ###
      **{{state_attr('sensor.telenet_<identifier>_internet_usage','used_percentage')}}**%
      :
      {{state_attr('sensor.telenet_<identifier>_internet_usage','total_usage')}}
      van de
      {{state_attr('sensor.telenet_<identifier>_internet_usage','allocated_usage')}}


      Nog
      **{{state_attr('sensor.telenet_<identifier>_internet_usage','days_until')}}**
      dag(en) tot nieuwe periode

      Periode: 
      {{state_attr('sensor.telenet_<identifier>_internet_usage','start_date')}}
      -
      {{state_attr('sensor.telenet_<identifier>_internet_usage','end_date')}}

      Wi-Free verbruik:
      *{{state_attr('sensor.telenet_<identifier>_internet_usage','wifree_usage')}}*

      Laatste update:
      *{{state_attr('sensor.telenet_<identifier>_internet_usage','last_update')
      | as_timestamp | timestamp_custom("%d-%m-%Y %H:%M")}}*
  - type: custom:apexcharts-card
    graph_span: 20d
    span:
      start: hour
      offset: '-20d'
    stacked: true
    header:
      standard_format: false
      show: true
      show_states: false
      title: Verbruik piek en daluren
    now:
      show: true
    series:
      - entity: sensor.telenet_<identifier>_internet_daily_usage
        name: Piekuren
        type: column
        color: A6D9D9
        float_precision: 2
        data_generator: |
          return entity.attributes.daily_date.map((day, index) => {
            return [new Date(day), entity.attributes.daily_peak[index]];
          });
      - entity: sensor.telenet_<identifier>_internet_daily_usage
        name: Daluren
        type: column
        color: 1A9AAA
        float_precision: 2
        data_generator: |
          return entity.attributes.daily_date.map((day, index) => {
            return [new Date(day), entity.attributes.daily_off_peak[index]];
          });
  - type: horizontal-stack
    cards:
      - type: entity
        name: Totaal P+D
        attribute: total_usage_with_offpeak
        entity: sensor.telenet_<identifier>_internet_usage
        icon: mdi:sigma
        unit: GB
      - type: entity
        name: Piekuren
        attribute: peak_usage
        entity: sensor.telenet_<identifier>_internet_usage
        icon: mdi:arrow-up-bold
        unit: GB
      - type: entity
        name: Daluren
        attribute: offpeak_usage
        entity: sensor.telenet_<identifier>_internet_usage
        icon: mdi:arrow-down-bold
        unit: GB

Auto entities for costs

Auto entities Costs

Show markdown code
type: custom:auto-entities
card:
  type: entities
  title: Telenet kosten
filter:
  include:
    - entity_id: sensor.telenet*
      attributes:
        icon: mdi:currency-eur

Network & Wifi info

Network Markdown

Show markdown code

Replace <identifier> by your Telenet identifier and <customer_id> by your Telenet account ID

type: markdown
content: >
  ## <img
  src="https://github.com/geertmeersman/telenet/blob/main/images/brand/icon.png?raw=true"
  width="25"/>&nbsp;&nbsp;Telenet <identifier>

  ## <img src="https://github.com/geertmeersman/telenet/blob/main/images/brand/icon.png?raw=true" width="25"/>&nbsp;&nbsp;Telenet <identifier>
  ## Modem info
  | | |
  |----:|----:|
  |**Type**|{{state_attr("sensor.telenet_<customer_id>_<identifier>_internet_network","modemType")}}|
  |**Model**|{{state_attr("sensor.telenet_<customer_id>_<identifier>_internet_network","model")}}|
  |**Last seen**|{{state_attr("sensor.telenet_<customer_id>_<identifier>_internet_network","lastSeen")}}|
  |**Last seen light**|{{state_attr("sensor.telenet_<customer_id>_<identifier>_internet_network","lastSeenLight")}}|
  |**Public IP Adress**|{{state_attr("sensor.telenet_<customer_id>_<identifier>_internet_network","ipAddressInfos")[0].ipAddress}}|

  ## Network clients
  |Name|IP|Interface|Vendor
  |----:|----:|----:|----:|{% for item in state_attr("sensor.telenet_<customer_id>_<identifier>_internet_network","clients") %}
  {%if "name" in item %}{{item["name"]}}{% else %}|{%-endif %}|{%for ip in item["ipAddressInfos"] %}{%if ip["ipType"] == "IPv4" %}{{ip["ipAddress"]}}{%-endif %}
  {%-endfor %}|{{item["connectedInterface"]}}|{{item["vendor"]}}{%-endfor %}

  ## Wifi Settings
  |||
  |----:|----:|
  |**Wireless enabled**|{{state_attr("sensor.telenet_<customer_id>_<identifier>_internet_wifi","wirelessEnabled")}}|
  |**HomeSpot enabled**|{{state_attr("sensor.telenet_<customer_id>_<identifier>_internet_wifi","homeSpotEnabled")}}|
  |**Wps enabled**|{{state_attr("sensor.telenet_<customer_id>_<identifier>_internet_wifi","wifiWpsEnabled")}}|

Sensors logic

The integration creates for each subscription linked to your account the following sensors

Interact with the sensors flow here

Sensors flow

Screenshots

Description Screenshot
Config flow init Config flow init
Config flow options Config flow options
Config flow language update Config flow language update
Config flow password update Config flow password update
Config flow success Config flow success
Config flow multi account setup Config flow multi account setup
One for 2 sensors One for 2 sensors
All-Internet & Usage Based Pricing sensors All-Internet & Usage Based Pricing
Internet sensors Internet sensors
Internet sensor Internet sensor
Plan sensor Plan sensor
ONE for 2 bundle sensors ONE for 2 bundle sensors
DTV sensors DTV sensors

About

Home Assistant component for Telenet BE services

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages