Skip to content

Releases: zampix1/ha-inkbird-int14

v0.2.6-beta.5 - Visible BLE polling option

Choose a tag to compare

@zampix1 zampix1 released this 15 Jul 20:13

This prerelease fixes the BLE polling interval setting not appearing reliably in the Home Assistant UI.

Fix

  • Show BLE direct-read interval (GATT polling profiles) in initial setup, Reconfigure and Options.
  • Persist the value explicitly in config-entry data when setup or Reconfigure is used.
  • Continue reading an existing value from Options first, preserving compatibility with beta.3/beta.4 entries.
  • Keep the valid range at 5-300 seconds and the default at 10 seconds.

After installing and restarting Home Assistant, the field should be visible both under Reconfigure and under the integration Options form. Changing it reloads the config entry and applies the new direct-read interval.

This build also includes the beta.4 INT-12E reconnect tuning: 5-second recovery after the station's repeatable remote 0x13 disconnect, with a minimum 10-second backoff after actual connection failures.

v0.2.6-beta.4 - INT-12E reconnect tuning

Choose a tag to compare

@zampix1 zampix1 released this 15 Jul 19:33

This prerelease tunes recovery for the experimental INT-12E-BW direct GATT path after community testing showed a repeatable station-initiated disconnect every approximately 30 seconds.

Observed behavior

  • Temperatures update correctly at the 10-second default interval.
  • The station closes the BLE session after about 30 seconds with reason 0x13, even while characteristics are being read.
  • The integration already reconnects and resumes updates automatically.
  • No further status=133 error was observed during the beta.3 test.

Change

  • Reduce the normal reconnect delay after a clean/remote disconnect from 10 seconds to 5 seconds.
  • Keep the temperature and battery read interval at 10 seconds by default.
  • Keep a minimum 10-second backoff after actual connection errors, avoiding an aggressive retry loop against ESPHome Bluetooth Proxy.

The station's approximately 30-second session limit is not bypassed and no keepalive or application write is sent. INT-12E-BW remains strictly read-only: no settings writes, Tuya LAN, cloud access or unvalidated protocol-state entities.

v0.2.6-beta.3 - Persistent INT-12E BLE polling

Choose a tag to compare

@zampix1 zampix1 released this 15 Jul 18:50

This prerelease improves the experimental INT-12E-BW read-only BLE path after the first successful live hardware test by @Nexus1212.

Confirmed

  • All ten probe temperature entities populate with plausible values.
  • Food 4 is the tip sensor on both physical probes.
  • Food 1-3 still need physical-section mapping.

Polling changes

  • Keeps the INT-12E GATT connection open instead of intentionally disconnecting after a short session.
  • Directly reads FF01 temperatures and 2A19 batteries every 10 seconds by default.
  • Adds a BLE direct-read interval option under the integration options, configurable from 5 to 300 seconds.
  • Reuses the active connection when Request Snapshot is pressed.
  • Reconnects after a dropped link using the configured polling interval.

This should remove the previous intentional 45-60 second connect/read/disconnect cycle and reduce connection churn through ESPHome Bluetooth Proxy. A proxy or station may still drop a link, and transient status=133 connection-open errors can still occur; the integration retries them.

Scope

INT-12E-BW remains read-only. Tuya LAN, cloud access, writes and unvalidated protocol-state entities are still disabled. The old passive diagnostic-capture button is no longer exposed for this live profile, avoiding a second concurrent GATT session while continuous polling is active.

This build retains the stable diagnostics-redaction fixes and the guarded INT-14S unit-write validation tools from the earlier v0.2.6 betas. The INT-14S tools are not exposed for INT-12E-BW.

v0.2.6-beta.2 - Experimental INT-12E BLE reads

Choose a tag to compare

@zampix1 zampix1 released this 15 Jul 17:02

This prerelease adds experimental, read-only BLE support for INT-12E-BW from a real-device capture shared by @Nexus1212.

INT-12E-BW

  • Exposes two physical probes with five temperatures each: Food 1-4 and Ambient.
  • Reads the station temperature from the same 28-byte FF01 value.
  • Reads station, probe 1 and probe 2 battery percentages from 2A19.
  • Uses direct GATT reads, so a snapshot can work even when notification subscriptions fail through an ESPHome Bluetooth Proxy.
  • Keeps Tuya LAN, cloud history, all writes and unvalidated state entities disabled for this profile.

The channel parser matches the captured frame structure and values. The labels still need a controlled real-device check by warming the tip, body sections and ambient end of a probe.

Privacy

Diagnostics generated by this build include the stable v0.2.5 redaction fixes for BLE addresses and Tuya LAN configuration. Please still review downloaded diagnostics before sharing them publicly.

This build also retains the guarded, disabled-by-default INT-14S unit-write validation tools introduced in beta.1. They are not exposed for INT-12E-BW.

v0.2.6-beta.1 - Guarded INT-14S unit write validation

Choose a tag to compare

@zampix1 zampix1 released this 15 Jul 13:24

This prerelease starts the INT-14S-BW write-validation phase without enabling the normal write layer, and includes the complete diagnostics privacy fixes from stable v0.2.4 and v0.2.5.

It adds two disabled-by-default diagnostic buttons:

  • Validate BLE Write: Set Celsius
  • Validate BLE Write: Set Fahrenheit

Each button opens an authenticated BLE session, sends only the station-wide unit command, follows it with the existing read/snapshot queries and records sanitized command/readback diagnostics.

Please treat this as a controlled hardware test, not general write support. Target, preset, alarm, timer, calibration, display and pairing writes remain blocked.

For a reversible test, note the station's current unit, enable the two diagnostic buttons, set the opposite unit, confirm the physical display changed, then restore the original unit. Download fresh integration diagnostics after each press.

v0.2.5 - Complete diagnostics identifier redaction

Choose a tag to compare

@zampix1 zampix1 released this 15 Jul 13:18

This completes the diagnostics privacy hotfix started in v0.2.4.

A live Home Assistant validation found that the config entry unique_id still contained the BLE address even after the LAN keys and top-level runtime address were fixed. v0.2.5 now redacts that field as well.

Fixed across v0.2.4 and v0.2.5:

  • Tuya LAN local key
  • Tuya LAN host and device ID
  • top-level runtime BLE address
  • config-entry unique ID derived from the BLE address

Users should update to v0.2.5 before downloading or sharing diagnostics. The repository’s existing public diagnostic attachments were audited and no exposed LAN credential or device identifier was found.

Thanks again to @elitistphoenix for triggering the deeper audit.

v0.2.4 - Diagnostics credential redaction hotfix

Choose a tag to compare

@zampix1 zampix1 released this 15 Jul 13:03

This is a privacy/security hotfix for Home Assistant diagnostics.

Fixed

  • Redacts the actual Tuya LAN storage keys: lan_host, lan_device_id and lan_local_key.
  • Stops exporting the runtime BLE address as an unredacted top-level string.
  • Adds regression tests tied to the integration’s real LAN config-key constants.

Users running v0.2.3 or earlier should update before downloading or sharing new diagnostics.

If you previously posted a diagnostics file containing Tuya LAN configuration, remove the attachment and rotate or re-provision the device local key where practical. The project’s existing public issue/discussion attachments were audited during this fix; no exposed LAN local keys or unredacted identifiers were found in those files.

Thanks to @elitistphoenix for the precise report.

v0.2.3 - INT-14S-BW community-validated BLE support

Choose a tag to compare

@zampix1 zampix1 released this 15 Jul 12:37

INT-14S-BW support started with a community report saying that Home Assistant could see the device but could not read its temperatures. Four small prereleases later, the full read-only BLE path has now been validated on real hardware.

What is supported

  • 4 physical probes and all 20 temperature channels over BLE
  • Food 1-4 and Ambient for each probe
  • station and probe battery values when the device reports them
  • local Home Assistant Bluetooth adapters and compatible Bluetooth proxies
  • passive and authenticated BLE diagnostics for future protocol work

Deliberate limits

  • INT-14S-BW remains read-only
  • Tuya LAN, cloud and settings writes are not enabled for this profile
  • charging, pairing, timer, alarm and similar state entities stay hidden until their model-specific bit mapping is properly validated

A genuine thank-you to @lyonhome for testing every beta, sharing sanitized diagnostics, checking probe availability and catching the misleading inherited state entities before they reached a stable release. This support would not exist without that patient real-device testing.

INT-14-BW remains the fully tested baseline. Other cataloged model profiles are unchanged.

v0.2.3-beta.4 - Hide unvalidated INT-14S states

Choose a tag to compare

@zampix1 zampix1 released this 15 Jul 12:00

This prerelease keeps the community-validated INT-14S-BW BLE temperature path from beta.3 and removes unvalidated protocol-state entities revealed by the real-device screenshots.\n\nValidated and retained:\n- Probe 1 and Probe 2 each populated Food 1-4 plus Ambient with plausible room-temperature values.\n- Probe 1 remained available when Probe 2 was removed from the dock.\n- Docked Probes 3 and 4 remained unavailable through the 0x7FFE sentinel.\n- BLE transport, station temperature and battery readings remain available.\n- No setting controls or writes are exposed.\n\nCorrected in beta.4:\n- INT-14S-BW no longer provides inherited Charging, Connected, Paired, Pair Request, timer, alarm, Wi-Fi, sound or mute binary sensors.\n- Those fields belong to a model-specific state frame that has not been mapped yet.\n- BLE connection diagnostics and derived battery stale/suspect diagnostics remain available.\n- Existing beta.3 entity-registry entries may remain visible as unavailable after restart; they are no longer provided and can be removed manually.\n\nSafety boundary remains unchanged:\n- read-only BLE;\n- no Tuya LAN;\n- no cloud;\n- no target, timer, calibration, unit, display, pairing or provisioning writes.\n\nRequested final beta check:\n1. Install v0.2.3-beta.4 and restart Home Assistant.\n2. Confirm the 20 temperature channels still populate as in beta.3.\n3. Confirm the invalid Charging/Connected/Paired/Timer/Alarm state entities are no longer provided.\n4. Report any old entries that remain only as unavailable registry leftovers separately from active entities.

v0.2.3-beta.3 - Experimental INT-14S BLE temperatures

Choose a tag to compare

@zampix1 zampix1 released this 15 Jul 11:15

This prerelease turns the successful authenticated INT-14S-BW capture into an experimental read-only BLE temperature path.\n\nWhat is now mapped:\n- 4 physical probes;\n- Food 1, Food 2, Food 3, Food 4 and Ambient for each probe;\n- 20 live temperature channels in total;\n- station temperature and the existing battery snapshot when reported;\n- the separate Internal aggregate is retained in sanitized diagnostics and is not counted as a sixth physical sensor.\n\nProtocol corrections:\n- Internal and Food values are little-endian signed Fahrenheit hundredths;\n- Ambient and station temperature are little-endian signed Fahrenheit tenths;\n- docked/unavailable probes use the 0x7FFE sentinel;\n- the normal INT-14S snapshot path omits clock synchronization and sends only authentication plus read queries.\n\nSafety boundary:\n- INT-14S-BW remains experimental and read-only;\n- Tuya LAN is disabled for this profile;\n- cloud history/live is disabled for this profile;\n- target, timer, calibration, unit, display, pairing and every other settings write remain disabled.\n\nRequested beta test:\n1. Install v0.2.3-beta.3, restart Home Assistant and keep profile int14s_bw with BLE only or Auto.\n2. Close the Inkbird app, wake the station and remove Probe 1 from the dock.\n3. Verify Probe 1 Food 1-4 and Ambient populate with plausible values; probes 2-4 should remain unavailable while docked.\n4. Remove Probe 2 and verify its five channels populate without breaking Probe 1.\n5. Attach a redacted Home Assistant screenshot and fresh sanitized integration diagnostics. Do not test writes; none should be exposed.