AboutBlogContact

Release Notes v1.2.0

What's new in boneIO Black v1.2.0

boneIO Black v1.2.0 Release Notes

This is a major release with significant improvements to the web UI, configuration management, and overall stability.

🎉 Major Features

Web-based Configuration UI

Complete redesign of the web interface with full configuration management capabilities:

  • Visual Configuration Editor - Configure all entities (outputs, covers, events, binary sensors) through an intuitive web interface
  • Real-time Validation - Instant feedback on configuration errors with schema validation
  • Live Preview - See changes immediately without manual file editing
  • Multi-language Support - Full Polish and English translations

System Management

  • Auto-update System - Automatic updates from GitHub releases with one-click installation
  • Factory Reset - Reset to default configuration for different device types (24x16, 32x10, cover, cover_mix)
  • Configuration Backups - Automatic backup creation before factory reset with restore capability
  • System Restart - Restart application directly from web UI with confirmation

Enhanced Cover Support

  • Venetian Blinds - Full support for venetian blinds with tilt control
  • Platform Selection - Choose between time_based, venetian, or previous cover platforms
  • Tilt Duration - Configurable tilt duration for venetian blinds
  • Visual Tilt Control - Dedicated tilt slider in the UI

🔧 Configuration Changes

Action Schema Refactoring

Breaking Change: Action configuration has been modernized:

  • pin field is now deprecated - use boneio_output instead
  • boneio_cover field added for cover actions
  • Backward compatibility maintained - old configurations with pin will continue to work

Migration Example:

# Old format (still works)
actions:
  single:
    - action: output
      pin: OUT_17

# New format (recommended)
actions:
  single:
    - action: output
      boneio_output: OUT_17

Event Configuration

  • Click Event Types - New click event options: single, double, long, release
  • Time Period Fields - Improved handling of time periods (e.g., double_click_duration: 220ms)
  • Default Value Stripping - Fields matching schema defaults are no longer saved to YAML

Cover Configuration

  • Platform Field - Default changed from previous to time_based
  • Output Selection - Improved dropdown with area grouping and validation
  • Duplicate Prevention - Cannot select the same output for both open and close relays

🐛 Bug Fixes

State Management

  • Fixed state restoration when changing cover platform types
  • Fixed AttributeError when restored_state is a string instead of dictionary
  • State file (state.json) now properly cleaned during factory reset
  • Fixed cover state saving and restoration after reload

UI/UX Improvements

  • Fixed output reloading in event and binary sensor forms
  • Fixed area assignment and display
  • Fixed caching issues with configuration reload
  • Fixed translation issues across the interface
  • Fixed sensor form validation and submission
  • Fixed cover killing/stopping functionality

Modbus

  • Removed deprecated modbus functions
  • Fixed modbus sensor loading and configuration
  • Fixed modbus helper functionality

Sensors

  • Fixed virtual sensor unique ID generation
  • Fixed adding and removing temperature sensors
  • Fixed sensor diagnostic section in Home Assistant
  • Fixed I2C sensor control issues

Input Detection

  • Fixed input event detection and sending
  • Fixed race condition between covers and MCP expanders
  • Fixed input click event handling

🔄 Technical Improvements

Backend

  • TimePeriod Serialization - Fixed JSON serialization to return strings (e.g., "220ms") instead of objects
  • Config Loading - Use raw YAML data to preserve string formats
  • State File Safety - Write to temporary file first, then rename atomically
  • Logger Improvements - Better logging for debugging and troubleshooting
  • Filesystem Protection - Added protection against filesystem overflow to prevent system crashes

Frontend

  • React Component Refactoring - Improved component structure and reusability
  • OutputSelectDropdown - New reusable component with filtering and exclusion logic
  • SimpleTimePeriodInput - Dedicated component for time period configuration
  • Form Validation - Enhanced validation with better error messages
  • Package Updates - Updated all frontend dependencies

Integration

  • Home Assistant 2024.12+ - Full compatibility with latest Home Assistant
  • MQTT Improvements - Better MQTT connection handling
  • One Wire Support - Added support for One Wire sensors (DS18B20)
  • Virtual Energy Sensor - New virtual energy sensor support

📦 New Features

Node-RED Integration

  • Added Node-RED view in web interface
  • Proxy configuration for Node-RED access

Nginx Proxy

  • Configurable nginx proxy port
  • Better reverse proxy support

Diagnostic Tools

  • Sensors moved to diagnostic section in Home Assistant
  • Improved troubleshooting capabilities
  • Better error messages and logging

Debian 13 System Image

  • Ready-to-use Debian 13 Image - Pre-configured system image available for easy installation
  • Simplified setup process for new users
  • All dependencies pre-installed and configured

🔐 Security & Stability

  • Improved error handling throughout the application
  • Better validation of user inputs
  • Safer file operations with atomic writes
  • Configuration backup before destructive operations

📝 Documentation

  • Updated configuration examples for all device types
  • Improved inline help and tooltips
  • Better error messages with actionable suggestions

⚠️ Breaking Changes

  1. Action Schema: While backward compatible, pin field is deprecated. Update configurations to use boneio_output or boneio_cover.

  2. Cover Platform Default: Default platform changed from previous to time_based. Existing configurations are not affected.

  3. Home Assistant Version: Requires Home Assistant 2024.12 or newer.

🚀 Upgrade Instructions

From v0.12.x

  1. Backup Your Configuration

    cp -r ~/boneio ~/boneio_backup_$(date +%Y%m%d)
  2. Update the Application

    • Use the web UI auto-update feature, or
    • SSH to device and run: pip install --upgrade boneio
  3. Review Configuration

    • Check for deprecated pin fields in actions
    • Update to boneio_output or boneio_cover as needed
  4. Restart Application

    • Use web UI restart button, or
    • SSH: sudo systemctl restart boneio

Factory Reset (Optional)

If you want to start fresh with example configuration:

  1. Navigate to System Update page in web UI
  2. Select your device type (24x16, 32x10, cover, cover_mix)
  3. Click "Factory Reset"
  4. Configuration backup will be created automatically
  5. Application will restart with default configuration

🙏 Acknowledgments

Thank you to all users who provided feedback and bug reports during the development cycle!

📞 Support