Replies: 16 comments
|
Hi Chris, sorry I missed this earlier — and thanks, this is exactly the kind of INT-12E-BW report I was hoping for. What you are seeing is expected with For the first pass, the most useful data would be read-only only:
Restart Home Assistant or reload logging. Please keep MAC addresses, IPs, device IDs, local keys, Wi-Fi names and account data redacted. |
|
Hi Chris, the promised read-only test build is now available: v0.2.3-beta.1 - Cataloged model BLE diagnostics It keeps Please enable beta/prerelease versions in HACS, install Your controlled app-side mapping is still useful too. A baseline plus probe 1 tip/body/ambient changes is enough for the first pass; probe 2 can follow once we know whether both probes share the same payload layout. This build is diagnostic only. I will enable live entities only after the real 10-channel payload and channel order are confirmed. |
|
Hi, I installed v0.2.3-beta.1 and successfully ran the BLE diagnostics capture for my INT-12E-BW. The diagnostic capture completed successfully. The device was found using its configured BLE address, the connection and service discovery worked, and 16 readable characteristic values were captured. No application commands were sent to the Inkbird device. No BLE notifications were captured during this run. Several notification subscriptions returned BleakError, but the direct characteristic reads completed without errors. I have attached the sanitized Home Assistant diagnostics file. I removed the BLE MAC address, the Home Assistant entry ID, and unrelated custom integration information. The raw BLE characteristic values have been left unchanged because they may be needed for decoding. Thank you for working on support for this model. |
|
Hi Chris, thank you — this capture is extremely useful, and the direct characteristic reads are enough to move forward even though notifications failed through the proxy. One privacy note first: despite the manual cleanup, the attachment still contains the BLE address in two places: data.address and data.entry.unique_id. I found no Tuya local key, token, password or private IP in the file, but please remove or edit the attachment when convenient. You do not need to upload it again for my analysis; I already have the protocol data I need. Future diagnostics generated by stable v0.2.5 or later redact both paths automatically. The good technical news is that FF01 is a 28-byte frame: two 13-byte probe blocks followed by a two-byte station temperature. That is the exact structural pattern used by INT-14S-BW, scaled down from four probes to two. Each probe block contains an aggregate value, Food 1-4, Ambient and one status byte. The observed values and scales are internally consistent, and 2A19 also has the expected three battery bytes: station plus two probes. So the next build can be read-only and narrow:
I’ll prepare that prerelease next. After installation, the useful validation will simply be checking that all ten temperatures populate and warming tip/body/ambient sections to confirm the channel labels. |
|
Hi Chris, Thanks again — your capture was enough to build the first live, read-only INT-12E-BW implementation. v0.2.6-beta.2 - Experimental INT-12E BLE reads is now available. This build uses direct GATT reads, so the notification errors you saw through the ESPHome Bluetooth Proxy should not block it. For
It does not enable any writes, Tuya LAN, cloud access or unvalidated state entities for this model. When you have a moment, please update to beta.2, restart Home Assistant, keep the Inkbird app closed, wake the station near the proxy and press Request Snapshot. The first thing to check is simply whether all ten temperature entities populate with plausible values. If they do, the most useful follow-up is a small mapping test on probe 1: note the baseline, warm the tip, then a middle/body section, then the ambient end, and tell me which Home Assistant channel changes each time. A short table is perfect; screenshots are optional. There is no need to post another full diagnostic file unless something fails. One privacy reminder: beta.2 contains the stable diagnostics redaction fixes, but it is still worth reviewing any file before attaching it publicly. Thank you for making this possible. |
|
Hi Chris, This is excellent news — confirming all ten live temperatures on real hardware is the important milestone, and knowing that You were also right about the slow updates. The previous beta reused the existing BLE session loop, which intentionally connected, read, stayed open briefly, disconnected and waited before trying again. With an ESPHome proxy that could easily become a 45-60 second cycle, and each new connection was another opportunity to hit a transient I have prepared a new build specifically for this: v0.2.6-beta.3 - Persistent INT-12E BLE polling For INT-12E-BW it now:
The isolated Could you update to beta.3, restart Home Assistant and leave the default 10-second interval for the first test? No manual snapshots should be necessary. The useful result is simply:
After that, mapping Thank you — this was a very precise report and it directly exposed the weak part of the first implementation. |
|
Hi, I tested v0.2.6-beta.3 with the default 10-second interval. The temperature updates feel much better, and the integration automatically However, the ESPHome Bluetooth Proxy log shows that the connection does not After each disconnect, the integration automatically reconnects and continues Observed connection durations:
This looks like the remote device may have a fixed connection timeout of So, for the requested beta.3 checks:
I can provide a sanitized log excerpt if useful. |
|
Hi Chris, Yes — those timestamps are consistent enough that the station itself is almost certainly enforcing an approximately 30-second BLE session limit. BLE reason The important parts are working: updates are faster, the integration detects the drop, and it recovers automatically. There is no need for the sanitized log excerpt; your timestamp table already gives us the useful evidence. I have made one small recovery adjustment: v0.2.6-beta.4 - INT-12E reconnect tuning It keeps the 10-second read interval but waits only 5 seconds after the station's normal remote disconnect before reconnecting. Actual connection failures still use at least a 10-second backoff, so the integration should not hammer the ESPHome proxy if it encounters another I am deliberately not trying to defeat the 30-second limit with an unknown keepalive or application write. The read-only reconnect path is safer and is already proving reliable. For this beta, a short confirmation is enough: please check whether the gaps between the The Food 1-3 physical mapping can follow separately; it no longer blocks the transport work. |
|
I checked the configuration/options dialog of the Inkbird INT integration I also re-downloaded beta.3 through HACS and restarted Home Assistant again, Could you please confirm where exactly the setting should appear? |
|
Hi Chris, You are right — this was my mistake. The runtime setting existed in beta.3, but I had only added it to the Options schema and assumed Home Assistant would expose that path consistently. Your installation proves that assumption was wrong, so there was no hidden location you had missed. I have fixed it in: v0.2.6-beta.5 - Visible BLE polling option The field is now explicitly included in all three flows:
Its label is BLE direct-read interval (GATT polling profiles), with an allowed range of 5-300 seconds and a default of 10. Please install beta.5 rather than beta.4, restart Home Assistant, and open Reconfigure first. The field should appear directly below Beta.5 includes the beta.4 reconnect improvement as well, so you can use this one for both checks. If the field is still missing, please tell me which fields you do see in Reconfigure and I will stop guessing and reproduce that exact form path. Sorry for sending you looking for an option that was not actually visible on your system, and thank you for catching it quickly. |
|
Hi, I found the polling interval option in v0.2.6-beta.5 and left it at the The temperature values are working well. However, while the BLE connection The station still terminates every BLE connection after approximately The reconnect behavior is now much better and generally reliable. Observed connection sessions:
Observed offline gaps until the next successful connection:
I did not observe any status=133 errors in this test. The integration always Could you please confirm whether temperature entity updates roughly every Overall, beta.5 feels responsive and reliable. Thank you very much :) |
|
By the way, I wanted to support your work and buy you a coffee, but the Is there another current donation link or another way I can support the |
|
Hi Chris, Yes, the roughly 3-second entity updates are expected with what your latest test has revealed. The station is now successfully delivering FF01 notifications while the BLE session is active. Home Assistant applies those push updates immediately, so they can arrive more frequently than the configured 10-second interval. The setting controls our explicit direct GATT reads of FF01/2A19; it is a fallback/readback interval, not a throttle for valid notifications. That is actually the best outcome:
Your 8-11 second normal offline gaps are consistent with the 5-second backoff plus BLE connection setup. The single 22-second gap is slower than ideal, but because it recovered without I will rename the UI wording to BLE fallback direct-read interval in the next release so it no longer suggests that all entity updates are limited to that cadence. With this result, I consider the INT-12E-BW BLE temperature/battery transport community-validated and suitable for the first stable read-only release. Food 1-3 physical placement remains documentation work, not a transport blocker. And thanks for trying to buy me a coffee 😄 You somehow managed to find one more bug: the coffee link is broken too. I’ll fix that tomorrow — after tonight, I may need the whole pot rather than one cup. Seriously though, your testing has already helped this project a lot. Thank you! |
|
Chris, this was too useful to leave buried in the thread, so I added a cleaned-up version to the project: I kept the screenshot and probe artwork, credited you, and replaced the installation-specific entity IDs with placeholders. I also noted that Food 4 at the tip is confirmed, while the Food 1-3 positions still follow the community layout until we have a controlled physical mapping. The probe graphic is a much better way to read five temperatures than a plain entity list. Thanks for sharing it. If you would prefer different attribution, or would rather not have the artwork bundled in the repository, just tell me and I will change it. |




Uh oh!
There was an error while loading. Please reload this page.
Question
Hello,
I own an Inkbird INT-12E-BW and would be happy to help add or validate support for this model.
My setup:
When I trigger a snapshot, the ESPHome Bluetooth Proxy successfully connects to the station. The BLE connection opens and service discovery completes, but no live temperature channels are currently available, which seems consistent with the cataloged int12e_bw profile.
I can provide:
Please let me know which logging settings, capture method or measurement procedure would be most useful.
Thank you!
Chris
Integration version
0.2.2
Home Assistant version
2026.7.1 / 18.1
Model/profile, if relevant
INT-12E-BW
Transport path, if relevant
Auto
Context
No response
Privacy check
All reactions