Skip to content

Release Notes - v0.0.9

Pre-release
Pre-release

Choose a tag to compare

@Screaminlean Screaminlean released this 29 May 13:44

🐛 Bug Fix Release

Fixed Packed Time Display Format

Issue: Time entities (V32, V34, V36, V38, V40, V42, V44, V46, V92, V94, V96, V98, V100, V102, V104, V106) were showing "Unable to decode" instead of displaying times in a human-friendly format.

Root Cause: The packed time format from the Blynk API uses null byte (\0) separators between fields, not simple string concatenation. The original implementation expected 2700027000Europe/London0 but the actual format is 27000\027000\0Europe/London\00.

Resolution: Updated the packed_time_text parser to correctly handle null-byte-separated values.

What's Changed

  • Time Display: Time entities now show clean HH:MM format (e.g., 07:30 instead of raw packed values)
  • Regex Pattern: Updated to match time\0time\0timezone\0flag format with null byte separators
  • Decoding Logic: Split times on null bytes instead of fixed 5-digit chunks
  • Encoding Logic: Join times with \0 separators when writing values back to device
  • Debug Logging: Added comprehensive logging to troubleshoot format issues

Example

Before:

  • State: 2700027000Europe/London0
  • Friendly Format: Unable to decode

After:

  • State: 07:30
  • State Attributes:
    • decoded_times: ['07:30', '07:30']
    • timezone: Europe/London
    • friendly_format: 07:30, 07:30 (Europe/London)

User Experience Improvements

  • Time fields are now editable in simple HH:MM format (e.g., just type 08:00)
  • Preserved timezone and flag values when editing times
  • Multiple input formats supported:
    • 07:30 - Simple time (preserves existing timezone/flag)
    • 07:30 | Europe/London | 0 - Full format with timezone
    • 07:30, 19:00 | Europe/London | 0 - Multiple times

How to Update

  1. Via HACS:

    • Go to HACS → Integrations
    • Find "HA Microclimate"
    • Click "Update" to v0.0.9
    • Restart Home Assistant
  2. For Existing Installations:

    • If you already have v0.0.8 installed, delete and re-add the integration to ensure entities use the correct packed_time_text type
    • This will pick up the new decoder and display times correctly

Technical Details

  • Format Structure: {time1}\x00{time2}\x00{timezone}\x00{flag}
  • Time Encoding: Seconds from midnight (0-86399)
  • Example: 27000 seconds = 7.5 hours = 07:30
  • Regex Pattern: ^(?P<times>[\d\x00]+)(?P<tz>[A-Za-z_/]+)\x00(?P<flag>\d+)$