Skip to content

Releases: claesmathias/telenet_telemeter

v3.2.3 — OOB documentation

04 Jun 07:11

Choose a tag to compare

What's new in 3.2.3

Documentation-only release — adds out-of-bundle attribute documentation to README.

For the full feature list see v3.2.2 and v3.2.0.

v3.2.2 — Out-of-bundle usage attributes

04 Jun 06:59

Choose a tag to compare

What's new in 3.2.2

Out-of-bundle (OOB) usage on mobile sensor

Two new attributes are added to every mobile sensor entity:

Attribute Description Example
outofbundle_eur Total out-of-bundle spend this period "0"
outofbundle_details Breakdown by category (€) see below

outofbundle_details contains all OOB categories:

  • OOB_NATIONAL_VOICE — calls to Belgian numbers outside bundle
  • OOB_INTERNATIONAL_VOICE — international calls
  • OOB_ROAMING_VOICE — roaming voice
  • OOB_NATIONAL_SMS / OOB_INTERNATIONAL_SMS / OOB_ROAMING_SMS
  • OOB_MMS
  • OOB_NATIONAL_DATA / OOB_ROAMING_DATA
  • OOB_PAY_BY_MOBILE_AND_PREMIUM

Note: The new customer-web-billing API does not expose OOB data. This uses a supplementary call to the v3 mobile API. If that call is rate-limited by Cloudflare, the OOB attributes silently retain their last known value.

v3.2.1 — Documentation update

02 Jun 19:11

Choose a tag to compare

What's new in 3.2.1

Documentation

  • Updated README with correct entity names (no more "Telemeter" in names)
  • Internet sensor: document peak_usage_gb, offpeak_usage_gb, total_downloaded_gb, last_update_formatted, period_next_start
  • Mobile sensor: full attribute table including voice minutes, has_voice, data_unlimited, sub-sensors
  • All 5 auto-created mobile sub-sensors per SIM documented (days left, max data, usage %, voice used, last update)
  • Example cards updated to use new entity IDs and attribute names
  • New ApexChart example plotting peak + off-peak as stacked columns with total downloaded line

No code changes — this is a documentation-only release.

For the full feature list see v3.2.0.

v3.2.0 — New mobile API, dynamic sub-sensors, clean data

01 Jun 20:10

Choose a tag to compare

Breaking change notice

Mobile sensor entity IDs are unchanged — the plan labels (Unlimited, Data SIM Unlimited) are preserved. The underlying API has been completely replaced; no configuration changes needed.


What's new

New mobile API (customer-web-billing)

The integration now uses the same API as the Telenet web app:

Old endpoint New endpoint
/mobile-service/v3/mobilesubscriptions/{id}/usages /customer-web-billing-mobile-usage/v1/mobile-lines/{msisdn}/usage
/product-service/v1/product-subscriptions?producttypes=MOBILE /customer-web-billing-mobile-line-selector/v1/mobile-lines

Benefits:

  • No more Cloudflare 429 / bot-detection errors that caused sensors to go Unknown
  • Consumed / remaining / total / percentage returned directly — no complex bundle/shared/included parsing
  • isDataOnly flag comes from the API (no more guessing from voice data presence)
  • Voice minutes and SMS count in a clean tiles[] array
  • ~100 lines of fragile parsing code removed

Mobile sensor attributes (per subscription)

Attribute Example
usage_gb 64.13 GB
used_percentage_data 21.4 %
max_data_gb 300 GB
data_unlimited true (FUP plan)
period_days_left 10.1
voice_used_minutes 50.8 min
voice_unlimited true
has_voice false for data-only SIMs
last_update_formatted 22:06 on 1 Jun

Dynamic sub-sensor entities (per SIM, auto-created)

Five separate HA entities are created automatically for every mobile subscription — no configuration.yaml needed:

  • … days left (days until billing period resets)
  • … max data (GB cap, e.g. 300)
  • … usage %
  • … voice used (minutes; None for data-only SIMs)
  • … last update

Bug fixes

  • callTelenet no longer crashes with UnboundLocalError when a network error occurs before any response is received
  • response is not None guard added to all retry-enabled API methods

Tests

New tests/test_usage_report.py — live integration test that logs in and prints a full usage report table for all products. All 6 tests pass against the live API.

v3.1.2

27 May 06:33

Choose a tag to compare

What's new in 3.1.2

Dynamic sub-sensors per mobile subscription

For each mobile subscription the integration now creates 5 additional HA sensor entities automatically — no configuration.yaml needed, works for any number of SIM cards:

Entity suffix Example value Unit
… days left 15 days
… max data 300 GB
… usage % 2 %
… voice used 34 (null for data-only SIM) min
… last update 07:57 on 27 May

Bug fixes

  • Fix UnboundLocalError in callTelenet when an HTTP request throws before a response object is created

v3.1.1

27 May 06:14

Choose a tag to compare

What's new in 3.1.1

Mobile sensor enrichment

  • period_days_left — days until the next billing period starts
  • max_data_gb — maximum data allowance for the period (e.g. 300 GB)
  • data_unlimited — whether the plan is unlimited (fair-use)
  • voice_used_minutes — minutes used this period (e.g. 34.58)
  • voice_max_minutes — maximum voice minutes (null = unlimited)
  • voice_unlimited — whether voice is unlimited
  • has_voice — false for data-only SIMs
  • last_update_formatted — human-readable last update, e.g. "07:57 on 27 May"
  • used_percentage_data now correctly reads from included.data[0] (fixes 0% on unlimited plans)

Internet sensor

  • Entity names no longer contain "Telemeter" (e.g. Telenet internet Turbo <id>)
  • Added last_update_formatted and period_next_start attributes

Announcements sensor

  • Surfaces inbox unread count and message list

v3.1.0

27 May 05:42

Choose a tag to compare

v3.1.0

New: Announcements sensor

A new telenet_telemeter announcements sensor surfaces Telenet inbox messages with unread_count as state and a messages list attribute.

Internet sensor — GB instead of %, correct FUP accounting

  • State now shows GB (usage_gb) instead of percentage
  • FUP/TURBO plans: state uses the API's authoritative FUP counter (productUsage.totalUsage.units) — only peak traffic counts towards the 3 TB soft cap; off-peak counts 0%
  • New attributes: peak_usage_gb, offpeak_usage_gb, total_downloaded_gb
  • used_percentage still available as attribute

Mobile sensor — GB instead of %

  • State now shows used data in GB (e.g. 40.61) instead of 0% for unlimited plans
  • _usage_gb added as explicit attribute
  • Unit changed from % to GB

Robustness

  • mobileUsage / mobileBundleUsage: retry on transient 429, fast-fail on Cloudflare HTML block instead of crashing
  • Mobile sensor no longer raises AssertionError when usage endpoint is temporarily unavailable — keeps previous state with a warning log

Tests

  • Live integration tests added under tests/test_live_api.py

v3.0.1b4 (beta)

26 May 20:36

Choose a tag to compare

v3.0.1b4 (beta) Pre-release
Pre-release

Beta release 3.0.1b4

Internet sensor — peak / off-peak breakdown + corrected FUP state

Verified from live API: off-peak usage counts 0% towards the FUP limit, not 50%. Only peak traffic counts against the 3072 GB soft cap. The API's own productUsage.totalUsage.units (= peak-only) is the authoritative FUP counter.

State (usage_gb) now uses that authoritative FUP counter — the number Telenet actually tracks for throttling.

New attributes on the internet sensor:

Attribute Value
peak_usage_gb Peak-hour traffic in GB (counts 100% towards FUP)
offpeak_usage_gb Off-peak traffic in GB (counts 0% towards FUP)
total_downloaded_gb peak + offPeak — raw bytes downloaded this period
usage_gb (state) FUP-effective usage = peak only ≈ peak_usage_gb

v3.0.1b3 (beta)

26 May 20:25

Choose a tag to compare

v3.0.1b3 (beta) Pre-release
Pre-release

Beta release 3.0.1b3

Breaking change: sensors now report GB instead of %

Internet sensor (telenet_telemeter internet <id>)

  • State is now usage in GB (e.g. 835.09)
  • Unit changed from %GB
  • TURBO plans: fixed — usage_gb now = peak + offPeak (previously only peak was counted, causing ~6% to appear instead of ~27%)
  • used_percentage is still available as an attribute

Mobile sensors (telenet_telemeter mobile <id>)

  • State is now used data in GB (e.g. 40.61)
  • Unit changed from %GB
  • Fixes unlimited plans always showing 0% (meaningless for unlimited)
  • used_percentage_data still available as an attribute
  • usage_gb added as an explicit attribute

If you have automations or templates that rely on the old % state value, update them to use the used_percentage / used_percentage_data attribute instead.

v3.0.1b2 (beta)

26 May 18:24

Choose a tag to compare

v3.0.1b2 (beta) Pre-release
Pre-release

Beta release 3.0.1b2

Fix

  • Mobile sensor no longer crashes when the Telenet API returns a Cloudflare block (429 with HTML body) on the mobile usage endpoint. The sensor now logs a warning and keeps its previous state instead of raising an AssertionError and failing the entity update.

This was visible in HA logs as:

WARNING  [mobileUsage] Cloudflare block (not retrying)
ERROR    Update for sensor.telenet_telemeter_..._mobile_... fails

After this fix the warning may still appear during heavy use (e.g. after running integration tests against the same IP), but the sensor will no longer error out.