Skip to content

v0.1.38

Choose a tag to compare

@mrebbert mrebbert released this 19 May 18:14

What's New

Site & per-asset connectivity binary sensors

Five new connectivity binary sensors (all device_class=connectivity):

Entity translation_key ON when
Anlage verbunden site_connected 1KOMMA5° cloud reports the site as CONNECTED
Wechselrichter verbunden inverter_connected every HYBRID inverter reports CONNECTED
Wärmepumpe verbunden heat_pump_connected every HEAT_PUMP asset reports CONNECTED
Zähler verbunden meter_connected every METER asset reports CONNECTED
Wallbox verbunden wallbox_connected every EV_CHARGER asset reports CONNECTED

The four per-asset-type sensors are only registered when the cloud reports that asset type for your site — installs without e.g. a heat pump don't get a permanently unavailable sensor cluttering the device page. If you have two wallboxes and one of them drops, wallbox_connected flips OFF (AND-logic). Attributes expose count, connected_count, and a redacted per-asset list with manufacturer / model / firmware / connection_status. No serial numbers, no local IPs, no opaque asset IDs are exposed.

Wire it to a push notification:

trigger:
  - platform: state
    entity_id: binary_sensor.SYSTEM_NAME_wallbox_connected
    to: "off"
    for: "00:05:00"
action:
  - service: notify.mobile_app_<dein_gerät>
    data:
      title: "1KOMMA5°"
      message: "Wallbox ist seit 5 Minuten nicht mehr erreichbar."

Active-features diagnostic sensor

sensor.<system>_active_features (entity category: diagnostic) shows how many Heartbeat features your contract has activated. State is the count; the full list lives in the features attribute (DYNAMIC_TARIFF, TIME_OF_USE_OPTIMIZATION, SMART_CHARGING, …). Useful for templates that need to know whether dynamic pricing or smart charging is in scope before triggering an automation.

Diagnostics download enrichment

Settings → Devices & Services → 1KOMMA5° → ⋮ → Download diagnostics now includes a system block with redacted snapshots of get_details() and get_status_and_assets():

  • system.details: emp_type, dynamic_pulse_compatible, energy_trader_active, electricity_contract_active, earliest_measurement, has_third_party_smart_meter, device_gateway_count, created_at, updated_at.
  • system.status_and_assets: site_status, asset_count, a per-asset list with type / manufacturer / model / firmware / connection_status / heat_pump_meter_type, plus active_features.

What's never in the dump: customer name/email, addresses, lat/lon, technical contact, third-party smart-meter IDs, gateway gridx_start_code, gateway/asset serial numbers, asset network IPs, asset opaque IDs and asset names. Three new tests guard this contract.

Architecture

A new SystemStatusCoordinator (5-minute interval) drives the connectivity sensors. system.get_details() is fetched once at setup — the only piece we actually need from it at runtime is customer_id for the active-features call; everything else feeds the diagnostics dump.

Tooling

  • 114 tests (54 Tier-1 helpers + 55 Tier-2 HA-stack + 5 translation parity), ~1.4 s.

Full changelog

See CHANGELOG.md.