Skip to content

Releases

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 18:11

Everything from the two 0.3.0 candidates, tried on a Wattpilot Home and a
Wattpilot Flex: Flex support, the readings per phase as sensors, the
charger's current limits and the PV-surplus stop hysteresis, a plain
device name for new installations, and many fixes. Requires
Home Assistant 2026.9.0 or newer. Coming from 0.2.0, read Changed
first: Phases in use now reads 0 while no phase is switched.
Existing installations keep their names and entity IDs.

Added

  • Voltage, current, power and power factor per phase as sensors of their
    own (L1 to L3 and N), disabled by default. They were only attributes of Charging
    power
    , and those are kept out of the recorder, so no history of them
    existed. The attributes stay for templates that read them.
  • PV surplus stop hysteresis and Minimum charging current as
    settings; the minimum current is disabled by default.
  • Charging current limit, the lowest of the charger's hardware limits,
    with the single limits and the current PV surplus charging offers as
    attributes, and Temperature current limit; both diagnostic and
    disabled by default.
  • Charging power from solar, battery, grid and other
    sources
    in watts, the live counterpart of the session energy split, on
    chargers that report it (seen on a Wattpilot Flex with firmware 43.x).
    While charging they add up to Charging power; a source that
    contributes nothing reads 0 W. Disabled by default.

Changed

  • Phases in use counts the phases switched through to the car (pha)
    instead of reading the charger's phase count (pnp). That count stayed
    at 1 through whole three-phase sessions, on a Wattpilot Home and on a
    Flex, and followed a switch about 30 seconds late. The sensor now reads
    0 when no phase is switched, where it showed 1 or 3 before; check
    automations that test it for 1. The entity ID stays the same.
  • A new installation names the charger's device and entry Wattpilot, a
    second charger Wattpilot 2 and so on, instead of after the charger's
    host name Wattpilot_<serial>. Entity IDs follow the device name, so
    they no longer carry the serial number: sensor.wattpilot_total_energy
    instead of sensor.wattpilot_<serial>_total_energy. Existing
    installations keep their names and entity IDs. An installation carried
    over from a fork names its device after the fork's friendly name: its
    entities keep their IDs, and the ones the fork did not have get IDs
    without the serial number.
  • Requires Home Assistant 2026.9.0 or newer (was 2026.8.0). Home Assistant
    replaced its schema library in 2026.9, and the integration now uses the
    new one directly instead of relying on the alias for the old name.
  • A reconnect reuses the password hash of the previous connection instead
    of computing it again, so the charger gets its answer sooner: about a
    tenth of a second per reconnect on a Wattpilot Home, whose password hash
    is the slow one.

Fixed

  • A select whose value the charger reports outside its list, such as a
    Car profile the app does not offer, showed as unknown without a
    word. The log now says so once, naming the kind of value but never the
    value, and the diagnostics show whether a car profile was a known one,
    still without naming the car.
  • Car profile shows Standard when the charger reports an empty
    profile, as the app does, instead of unknown.
  • The repair notices about a refused connection go away once the charger
    is connected again, not only with a reload.
  • A charger that refuses the password after first accepting it drops the
    connection at once; its entities go unavailable and the password is asked
    for again at the next availability check, within 30 seconds. During setup
    the refusal was reported as a timeout and retried.
  • Diagnostics from a Wattpilot Flex replace three free-text fields nothing
    documents: the OCPP fallback card, the OCPP tariff text and an OTA
    field. Every top-level text field a Flex is known to report now has a
    redaction decision, so a new one shows up in the tests instead of in a
    download.
  • Average charging power reads 0 W once no current has flowed for a
    minute. The charger keeps reporting the last session's average after
    charging, so an automation on it kept firing for hours. A pause shorter
    than a minute keeps the average. A new session reads 0 W until the
    charger reports that session's average.
  • The 0.2.0 notes gave 0.5 minutes as an example for all three timings
    now set in minutes. Minimum charging time starts at 1 minute, so 0.5
    is refused there; fractions above 1 minute work, as for the two
    phase-switch timings.
  • Total energy no longer falls across a reload or restart of Home
    Assistant. After a charger restart it can report a few Wh less, which the
    sensor held back -- but only until the integration reloaded, as it does
    after a firmware update, and the energy dashboard then got a negative
    hour. Only a step back that small is held across a reload: a replacement
    charger that takes over the entity ID starts from its own total.
  • Diagnostics keep an empty value empty. An empty car profile showed up
    there as "default", a value the charger had not sent.
  • The notice about entities that could not be migrated goes away with
    the entry it is about, and with the entities it lists once they are
    deleted, instead of staying until a restart. It no longer suggests
    deleting the loaded entity, which Home Assistant does not allow.
  • A malformed address in the setup or reconfigure form -- an IPv6 address
    without brackets, a mistyped port -- is reported at the address field
    instead of as an unknown error.
  • On a Wattpilot Flex, three readings now work. Charger temperature
    shows the hottest of the Flex's temperature sensors, with all readings
    as an attribute; it stayed unknown, because the first of them is always
    empty. What each sensor measures is not documented, so the hottest is
    shown, the one that matters for derating. The ten ID chip sensors
    exist, read from the Flex's per-chip keys instead of a list it does not
    have. The Electricity price has its prices attribute again; the
    Flex sends its price list in another shape.
  • Ignoring a discovery card no longer deletes the charger's entry. An
    entry carried over from the earlier integration learns its charger's
    serial only once it connects, so a card for the same charger could still
    be open; ignoring it made Home Assistant replace the entry, with its
    entities and entity IDs, by an ignored one. While the entry waits for
    its first connection, a card for its address is no longer offered and
    the charger cannot be added there by hand a second time -- the entry
    tries again instead; a card closes once the entry has its serial, and an
    ignored card no longer blocks that entry from setting up. Reconfigure
    and re-authentication refuse to move such an entry onto a charger that
    already has an entry of its own, instead of reporting success and
    failing afterwards.
  • A charger that comes back after an outage is reached again, also when a
    reconnect action failed while it was away, or a firmware update took
    longer than the integration waits for it. Either used to leave nothing
    retrying, so the charger stayed unavailable until a reload.
  • After an outage the entities come back with the charger's current
    readings. They used to show their readings from before the outage --
    charging at 11 kW, say -- for up to the update interval, which the
    recorder kept and to: charging automations reacted to.
  • A single value the integration cannot read no longer takes the rest of
    the charger's update with it, and no longer stalls the first connection
    until it times out. A message that is not valid text is skipped instead
    of stopping the reader. A charger asking for a password scheme the
    integration does not know is refused with that scheme named, instead of
    a bare timeout; while running, a repair notice says so, and a firmware
    update reports it instead of a timeout. A setting the charger accepted
    with an empty status is no longer reported as unanswered.
  • Diagnostics from a Wattpilot Flex on Ethernet no longer contain the
    serial number in the Ethernet host name, the Ethernet addresses, the name
    servers and search domain, or the charger's address in the last cloud
    error. IP addresses and the serial number are now replaced wherever they
    appear in a text, not only in the fields known to hold them. The Flex's
    ID-chip names are replaced too, as they already were on other models: a
    name can be entered for each chip.
  • The integration no longer writes the charger's serial number or address
    into the log. Its own messages, and the messages Home Assistant logs
    about setting up the entry, show only the serial's last two digits: an
    entry set up with an earlier version is named after the charger's host
    name, Wattpilot_<serial>, and Home Assistant logs that name on every
    failed attempt. The repair notice, which is not logged, still names the
    serial in full. A network error is named by its kind, such as
    ConnectionRefusedError (ECONNREFUSED), instead of by its text, which
    quoted the charger's address. An entry set up with an earlier version
    carries the serial in its entity IDs as well, so the integration's own
    messages name an entity by its key; other parts of Home Assistant may
    log entity IDs.
  • An entry whose setup failed, for example because another charger
    answered at its address, now follows its charger to a new address the
    charger announces and reloads; it used to wait for a manual reload. The
    setup error points to Reconfigure for a charger with a new address.
  • A value where a number belongs that is no number -- text, a list, NaN or
    infinity -- keeps the sensor's last reading instead of making Home
    Assistant refuse the entity, and no longer puts an ID chip's card list
    into t...
Read more

v0.3.0b2

v0.3.0b2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 22:37

The second candidate for 0.3.0, with what the first one's testers
reported: Phases in use now follows the phases actually switched to
the car, and the power per source reads 0 W instead of unknown. Requires
Home Assistant 2026.9.0 or newer. Entity IDs stay the same.

Changed

  • Phases in use now counts the phases switched through to the car
    (pha) instead of reading the charger's phase count (pnp). That count
    stayed at 1 through whole three-phase sessions, on a Wattpilot Home and on
    a Flex, and followed a switch about 30 seconds late. The sensor now reads
    0 when no phase is switched, where it showed 1 or 3 before; check
    automations that test it for 1. The entity ID stays the same.
  • Charging power from solar, battery, grid and other sources
    read 0 W for a source that contributes nothing. A Flex sent no number for
    solar and battery in that case, so they showed unknown and the four could
    not be added up. Their unit is now confirmed as watts: while charging they
    add up to Charging power.
  • A reconnect reuses the password hash of the previous connection instead
    of computing it again, so the charger gets its answer sooner: about a
    tenth of a second per reconnect on a Wattpilot Home, whose password hash
    is the slow one.

v0.3.0b1

v0.3.0b1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Oct 23:03

The first candidate for 0.3.0: Wattpilot Flex support built from one
owner's diagnostics, the readings per phase as sensors, the charger's
current limits and the PV-surplus stop hysteresis, a plain device name
for new installations, and the fixes from two audits. Requires Home
Assistant 2026.9.0 or newer. Existing installations keep their names and
entity IDs.

Added

  • Voltage, current, power and power factor per phase as sensors of their
    own (L1 to L3 and N), disabled by default. They were only attributes of Charging
    power
    , and those are kept out of the recorder, so no history of them
    existed. The attributes stay for templates that read them.
  • PV surplus stop hysteresis and Minimum charging current as
    settings; the minimum current is disabled by default.
  • Charging current limit, the lowest of the charger's hardware limits,
    with the single limits and the current PV surplus charging offers as
    attributes, and Temperature current limit; both diagnostic and
    disabled by default.
  • Charging power from solar, battery, grid and other
    sources
    , the live counterpart of the session energy split, on chargers
    that report it (seen on a Wattpilot Flex with firmware 43.x). Disabled
    by default
    ; their unit has not been measured.

Changed

  • A new installation names the charger's device and entry Wattpilot, a
    second charger Wattpilot 2 and so on, instead of after the charger's
    host name Wattpilot_<serial>. Entity IDs follow the device name, so
    they no longer carry the serial number: sensor.wattpilot_total_energy
    instead of sensor.wattpilot_<serial>_total_energy. Existing
    installations keep their names and entity IDs. An installation carried
    over from a fork names its device after the fork's friendly name: its
    entities keep their IDs, and the ones the fork did not have get IDs
    without the serial number.
  • Requires Home Assistant 2026.9.0 or newer (was 2026.8.0). Home Assistant
    replaced its schema library in 2026.9, and the integration now uses the
    new one directly instead of relying on the alias for the old name.

Fixed

  • A select whose value the charger reports outside its list, such as a
    Car profile the app does not offer, showed as unknown without a
    word. The log now says so once, naming the kind of value but never the
    value, and the diagnostics show whether a car profile was a known one,
    still without naming the car.
  • The repair notices about a refused connection go away once the charger
    is connected again, not only with a reload.
  • A charger that refuses the password after first accepting it drops the
    connection at once; its entities go unavailable and the password is asked
    for again at the next availability check, within 30 seconds. During setup
    the refusal was reported as a timeout and retried.
  • Diagnostics from a Wattpilot Flex replace three free-text fields nothing
    documents: the OCPP fallback card, the OCPP tariff text and an OTA
    field. Every top-level text field a Flex is known to report now has a
    redaction decision, so a new one shows up in the tests instead of in a
    download.
  • Average charging power reads 0 W once no current has flowed for a
    minute. The charger keeps reporting the last session's average after
    charging, so an automation on it kept firing for hours. A pause shorter
    than a minute keeps the average. A new session reads 0 W until the
    charger reports that session's average.
  • The 0.2.0 notes gave 0.5 minutes as an example for all three timings
    now set in minutes. Minimum charging time starts at 1 minute, so 0.5
    is refused there; fractions above 1 minute work, as for the two
    phase-switch timings.
  • Total energy no longer falls across a reload or restart of Home
    Assistant. After a charger restart it can report a few Wh less, which the
    sensor held back -- but only until the integration reloaded, as it does
    after a firmware update, and the energy dashboard then got a negative
    hour. Only a step back that small is held across a reload: a replacement
    charger that takes over the entity ID starts from its own total.
  • Diagnostics keep an empty value empty. An empty car profile showed up
    as "default", a real profile, contradicting the entity's unknown state.
  • The notice about entities that could not be migrated goes away with
    the entry it is about, and with the entities it lists once they are
    deleted, instead of staying until a restart.
  • A malformed address in the setup or reconfigure form -- an IPv6 address
    without brackets, a mistyped port -- is reported at the address field
    instead of as an unknown error.
  • On a Wattpilot Flex, three readings now work. Charger temperature
    shows the hottest of the Flex's temperature sensors, with all readings
    as an attribute; it stayed unknown, because the first of them is always
    empty. What each sensor measures is not documented, so the hottest is
    shown, the one that matters for derating. The ten ID chip sensors
    exist, read from the Flex's per-chip keys instead of a list it does not
    have. The Electricity price has its prices attribute again; the
    Flex sends its price list in another shape.
  • Ignoring a discovery card no longer deletes the charger's entry. An
    entry carried over from the earlier integration learns its charger's
    serial only once it connects, so a card for the same charger could still
    be open; ignoring it made Home Assistant replace the entry, with its
    entities and entity IDs, by an ignored one. While the entry waits for
    its first connection, a card for its address is no longer offered and
    the charger cannot be added there by hand a second time -- the entry
    tries again instead; a card closes once the entry has its serial, and an
    ignored card no longer blocks that entry from setting up. Reconfigure
    and re-authentication refuse to move such an entry onto a charger that
    already has an entry of its own, instead of reporting success and
    failing afterwards.
  • A charger that comes back after an outage is reached again, also when a
    reconnect action failed while it was away, or a firmware update took
    longer than the integration waits for it. Either used to leave nothing
    retrying, so the charger stayed unavailable until a reload.
  • After an outage the entities come back with the charger's current
    readings. They used to show their readings from before the outage --
    charging at 11 kW, say -- for up to the update interval, which the
    recorder kept and to: charging automations reacted to.
  • A single value the integration cannot read no longer takes the rest of
    the charger's update with it, and no longer stalls the first connection
    until it times out. A message that is not valid text is skipped instead
    of stopping the reader. A charger asking for a password scheme the
    integration does not know is refused with that scheme named, instead of
    a bare timeout; while running, a repair notice says so, and a firmware
    update reports it instead of a timeout. A setting the charger accepted
    with an empty status is no longer reported as unanswered.
  • Diagnostics from a Wattpilot Flex on Ethernet no longer contain the
    serial number in the Ethernet host name, the Ethernet addresses, the name
    servers and search domain, or the charger's address in the last cloud
    error. IP addresses and the serial number are now replaced wherever they
    appear in a text, not only in the fields known to hold them. The Flex's
    ID-chip names are replaced too, as they already were on other models: a
    name can be entered for each chip.
  • The integration no longer writes the charger's serial number or address
    into the log. Its own messages, and the messages Home Assistant logs
    about setting up the entry, show only the serial's last two digits: an
    entry set up with an earlier version is named after the charger's host
    name, Wattpilot_<serial>, and Home Assistant logs that name on every
    failed attempt. The repair
    notice, which is not logged, still names the serial in full. A network
    error is named by its kind, such as ConnectionRefusedError (ECONNREFUSED), instead of by its text, which quoted the charger's
    address. Its entity IDs carry the serial as well, so the integration's
    own messages name an entity by its key; other parts of Home Assistant
    may log entity IDs.
  • Charging power no longer fills the recorder database. Its sixteen
    per-phase attributes differ in nearly every update while a car charges,
    and each update stored a new attribute row. They stay visible and usable in
    templates and automations; only their history is no longer kept.
  • An answer from the charger that carries no request ID is no longer
    thrown away as unreadable. A refusal now shows its reason in the log,
    and an acceptance applies the state that came with it.

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 14:16

Everything from the three 0.2.0 candidates, tried on a real charger, plus
what an independent audit of the last one found. Coming from 0.1.2, read
Changed first: three timings are now set in minutes.

Added

  • Car plugged in and Car charging, two yes/no sensors.
  • Forced charging state: what the three charging buttons set, now
    readable and settable in one place.
  • Charging current preset: sets the current to one of the presets from
    the app, so the app's slider stays in step with Home Assistant.
  • Energy limit per charge: stops the charge after a set amount of
    energy; 0 switches the limit off.
  • Charging duration: minutes of the current charge, or of the last one
    while no car is charging.
  • Electricity price and Car consumption, both disabled by default:
    the market price of a dynamic tariff, with the day's prices as an
    attribute, and the consumption the app uses to show range.
  • Minimum charge pause, Minimum charging interval, Forced
    single-phase duration
    and Simulated unplugging duration, set in
    seconds; disabled by default.
  • The charger is discovered on the network: Home Assistant offers it by
    itself and asks only for the password. When a known charger has lost its
    connection and announces a new address, its entry follows. An entry that
    is connected stays where it is, and an entry set up by name keeps the
    name.

Changed

  • Breaking: Minimum charging time, Phase switch delay and
    Phase switch interval are shown and set in minutes instead of
    milliseconds (15 instead of 900000). Automations and scripts that set
    them need their values divided by 60000. Fractions work: 0.5 is 30
    seconds. The charger itself still receives milliseconds.
  • Uptime (disabled by default) reads in hours instead of milliseconds
    once you enable it. If you had enabled it already, it keeps milliseconds
    until you pick hours in the entity's settings.
  • Error messages now appear in your Home Assistant language (English and
    German so far): a failed setting, a refused password, a lost connection.
    They used to be fixed English text.

Fixed

  • A charger the entry already knows must announce the expected serial
    number before it is sent anything derived from the password. A different
    charger at the address used to receive that answer first and be refused
    only afterwards.
  • A diagnostics download hides the load-balancing group ID and the Wi-Fi
    error message. Both are free text a charger may fill with something that
    identifies you; they were left readable because the reference charger
    sent them empty.
  • A different charger answering at the address while Home Assistant is
    running now raises a repair notice that points to Reconfigure. The
    integration already stopped connecting, rightly, but said nothing: the
    entities just stayed unavailable.
  • A password the charger refuses while Home Assistant is running now asks
    for a new one. The integration stopped reconnecting, as it should, but
    never said why: the charger just stayed unavailable until a reload.
  • Reconnecting and disconnecting no longer trip over each other. A
    reconnect under way when the integration was unloaded or disconnected
    could open a connection after the teardown had finished, and a reconnect
    during a slow disconnect could report success for the very connection
    being closed. An unloaded integration now refuses a late reconnect
    instead of coming back to life behind it.
  • When setup refuses a charger (a different device at the address, or one
    already set up), that reason is what you see, even if closing the
    connection fails as well. The closing error used to take its place.
  • Entities can no longer go missing when the integration connects. The
    charger sends its first status in several pieces, and a live update
    arriving between two of them used to count as "all properties known" --
    whatever came later got no entity until the integration was reloaded.
  • The restart button no longer reports a failure on every press. The
    charger restarts without ever answering the command, and waiting for that
    answer ran into a timeout each time.

v0.2.0b3

v0.2.0b3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Sep 20:40

The third candidate for 0.2.0: durations in units people read, and the
charging duration. One breaking change: three timings are now set in
minutes, see below. Switching the energy limit off (0) has still not been
seen to work on a real charger.

Added

  • Charging duration: minutes of the current charge, or of the last one
    while no car is charging.
  • Minimum charge pause, Minimum charging interval, Forced
    single-phase duration
    and Simulated unplugging duration, set in
    seconds; disabled by default.

Changed

  • Breaking: Minimum charging time, Phase switch delay and
    Phase switch interval are shown and set in minutes instead of
    milliseconds (15 instead of 900000). Automations and scripts that set
    them need their values divided by 60000. Fractions work: 0.5 is 30
    seconds. The charger itself still receives milliseconds.
  • Uptime (disabled by default) reads in hours instead of milliseconds
    once you enable it. If you had enabled it already, it keeps milliseconds
    until you pick hours in the entity's settings.

v0.2.0b2

v0.2.0b2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Sep 15:34

The second candidate for 0.2.0: everything from 0.2.0b1, plus discovery. As
before, switching the energy limit off (0) has not yet been seen to work on
a real charger.

Added

  • The charger is discovered on the network: Home Assistant offers it by
    itself and asks only for the password. When a known charger has lost its
    connection and announces a new address, its entry follows. An entry that
    is connected stays where it is, and an entry set up by name keeps the
    name.

Changed

  • The German texts of the repair notice and of the setup dialog use the
    same impersonal style as the rest of the integration.

v0.2.0b1

v0.2.0b1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Sep 23:16

A release candidate: new entities for the car state, for charging control and
for dynamic electricity prices, and a round of fixes found by audits and by
recording what a real charger sends. One part has not been tried on a real
charger yet: switching the energy limit off (0) sends the charger's
documented "no limit", but the charger has not yet been seen to accept it.

Added

  • Car plugged in and Car charging, two yes/no sensors.
  • Forced charging state: what the three charging buttons set, now
    readable and settable in one place.
  • Charging current preset: sets the current to one of the presets from
    the app, so the app's slider stays in step with Home Assistant.
  • Energy limit per charge: stops the charge after a set amount of
    energy; 0 switches the limit off.
  • Electricity price and Car consumption, both disabled by default:
    the market price of a dynamic tariff, with the day's prices as an
    attribute, and the consumption the app uses to show range.

Fixed

  • A different charger answering at the address while Home Assistant is
    running now raises a repair notice that points to Reconfigure. The
    integration already stopped connecting, rightly, but said nothing: the
    entities just stayed unavailable.
  • Error messages now appear in your Home Assistant language (English and
    German so far): a failed setting, a refused password, a lost connection.
    They used to be fixed English text.
  • Reconnecting and disconnecting no longer trip over each other. A
    reconnect under way when the integration was unloaded or disconnected
    could open a connection after the teardown had finished, and a reconnect
    during a slow disconnect could report success for the very connection
    being closed. An unloaded integration now refuses a late reconnect
    instead of coming back to life behind it.
  • A password the charger refuses while Home Assistant is running now asks
    for a new one. The integration stopped reconnecting, as it should, but
    never said why: the charger just stayed unavailable until a reload.
  • When setup refuses a charger (a different device at the address, or one
    already set up), that reason is what you see, even if closing the
    connection fails as well. The closing error used to take its place.
  • Entities can no longer go missing when the integration connects. The
    charger sends its first status in several pieces, and a live update
    arriving between two of them used to count as "all properties known" --
    whatever came later got no entity until the integration was reloaded.
    Possible rather than observed: after a restart the pieces paused for
    about a second, while live updates arrive once a second.
  • The restart button no longer reports a failure on every press. The
    charger restarts without ever answering the command, and waiting for that
    answer ran into a timeout each time.

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 19 Sep 23:11

Everything from the 0.1.2b1 candidate, plus what an independent audit of it
found. Nothing here adds functionality; it is quieter in the log and holds up
better at a few edges.

Changed

  • A charger that stops answering is reported once, at INFO instead of WARNING.
    Switching the charger off is not a fault you can act on, and Home Assistant
    shows everything from WARNING up in the log panel, attributed to this
    integration. The reconnect attempts behind it repeated their own warning for
    as long as the charger stayed away; they are debug-only now.

Fixed

  • Two reconnect actions arriving at the same time no longer leave a stray
    connection behind. Each opened its own socket, and only the last one was
    ever closed again.
  • The "enable cloud API" action gives up when its timeout says so. It used
    to count whole seconds, so a short timeout still waited a full second.
  • A diagnostics download no longer fails on a cards value that is not a
    list, and no longer walks a string there character by character. Not seen
    from real firmware; the same guard the companion-device field already had.
  • An empty nrg array no longer stops the reader. It raised an error the
    frame guard did not catch, and the valid frame behind it was lost while the
    connection still looked healthy. Not observed on real firmware.

Removed

  • The unused half of the adopted client: child-property expansion, an MQTT
    bridge configuration and a discovery configuration that nothing here ever
    called. No user-visible change.

v0.1.2b1

v0.1.2b1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Sep 21:23

A release candidate. Nothing here changes what the integration does; it
changes what it writes into your log. Install it if your log panel is full of
warnings from this integration -- otherwise there is no reason to hurry.

Changed

  • A charger that stops answering is reported once, at INFO instead of WARNING.
    Switching the charger off is not a fault you can act on, and Home Assistant
    shows everything from WARNING up in the log panel, attributed to this
    integration. The reconnect attempts behind it repeated their own warning for
    as long as the charger stayed away; they are debug-only now.

Fixed

  • An empty nrg array no longer stops the reader. It raised an error the
    frame guard did not catch, and the valid frame behind it was lost while the
    connection still looked healthy. Not observed on real firmware.

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 06 Sep 15:08

A maintenance release. Everything below came out of an independent audit of
0.1.0; there is no new functionality.

Fixed

  • The departure time for Next Trip is sent unchanged. It was shifted an hour
    forward during summer time, and read back without that shift -- so a trip
    set to 07:30 showed up as 08:30. Measured against the charger: it expects
    plain local time, and applies no daylight-saving correction of its own.
    If you set a departure time with 0.1.0 during summer time, check it.
  • Re-entering the password now verifies which charger answered. If the
    address had been taken over by another one, the new password was saved and
    the flow reported success, while the entry itself then refused to start.
  • An ID-chip sensor for a slot the charger does not have shows nothing
    instead of writing the whole card list, holder names included, into the
    log. That log is not covered by the redaction that protects diagnostics.
  • Reconnecting by action while the integration was already retrying no longer
    leaves the earlier attempt running, with two readers on one connection.
  • An automatic reconnect gives up on a charger that accepts the connection
    and then never finishes talking, instead of waiting on it forever.
  • Nothing from a charger that was refused as the wrong one is applied any
    more: what its connection had already sent used to be processed after the
    refusal.
  • A setup that Home Assistant cancels hands the connection back in every
    phase, including while the client is still reading its protocol
    description.
  • The firmware update honours its own time limit. The limit counted only the
    waiting between attempts, so an update could run far past it.