github joklee/ha_daikin_altherma4_modbus 0.5.0

latest releases: v0.6.2-dev, v0.6.1, v0.6.1-dev...
3 months ago

What's Changed

๐Ÿš€ Major Features & Enhancements

Complete Input Register Coverage

  • Added 8 new input registers (78, 80-82, 84-87) for full Daikin Altherma 4 coverage
  • Total of 112 input registers now supported (addresses 21-87)
  • 100% coverage of all 16 requested input registers
  • New temperature sensors: Mixing kit, remote controller (Add), prePHE outdoor, tank valve
  • Room setpoint limits: Heating/cooling lower/upper limits for Main/Add zones
  • Diagnostic counters: Abnormality counter (user) for enhanced monitoring

Enhanced 3-Way Valve Support

  • Fixed 3-way valve availability - now properly accessible as select entity
  • Correct device info assignment for input vs holding registers
  • Proper enum mapping: Space heating โ†” DHW mode selection
  • Enhanced translation support for all valve states

Comprehensive Translation System

  • Complete German/English translations for all entities
  • Updated strings.json with standardized English translations
  • Enhanced translations/en.json and translations/de.json
  • Translation key consistency across all entity types
  • Fixed naming inconsistencies (e.g., "Room Heating setpoint Lower limit")

๐Ÿ—๏ธ Architecture Improvements

Major Refactoring

  • New data_manager.py (794 lines) for improved data handling
  • New coordinator_manager.py for better coordination logic
  • New connection_manager.py for enhanced connection handling
  • New client_interface.py for standardized client operations
  • Improved separation of concerns and modular architecture

Mock Client Enhancements

  • Simplified discrete input logic (removed 60+ hardcoded lines)
  • Fixed max_address calculation for proper register coverage
  • Enhanced addressing logic for input and holding registers
  • Realistic mock data generation for all register types
  • Improved error handling and debugging capabilities

๐Ÿงช Testing & Quality Assurance

Comprehensive Test Suite

  • 49 automated tests covering core functionality
  • Test coverage reporting with 9% overall coverage
  • 100% coverage for constants (const.py)
  • 71% coverage for client interfaces
  • Mock client testing for development without hardware
  • Integration tests for full workflow validation

Test Infrastructure

  • Multiple test files: clean_coverage, final_coverage, last_triggered
  • Coverage reporting with missing line identification
  • Mock client validation with realistic data
  • Error scenario testing and edge case handling
  • Translation validation for multilingual support

๐Ÿ”ง Bug Fixes & Optimizations

Critical Fixes

  • Fixed 3-way valve not available issue
  • Corrected device info assignment for register types
  • Fixed mock client addressing (max_address + 1 bug)
  • Resolved async test compatibility issues
  • Fixed sensor icon assignments

Code Quality

  • Simplified discrete input handling (cleaner code)
  • Improved error logging and debugging
  • Enhanced type hints and documentation
  • Better code organization and maintainability
  • Removed circular import issues

๐Ÿ“Š Performance & Reliability

Enhanced Data Handling

  • Improved data manager with better error handling
  • Enhanced coordinator logic for smoother operations
  • Better connection management with retry logic
  • Optimized register reading and caching
  • Improved memory usage and efficiency

Monitoring Improvements

  • Enhanced diagnostic capabilities
  • Better error reporting and logging
  • Improved status monitoring for all entities
  • Enhanced performance metrics tracking

๐ŸŒ Multilingual Support

Translation System Overhaul

  • Complete translation coverage for all entities
  • Standardized translation keys across components
  • Enhanced German translations with proper technical terms
  • Improved English translations with consistent naming
  • Fixed translation inconsistencies and missing entries

๐Ÿ“ˆ Statistics & Impact

Code Changes

  • 4763 insertions, 1459 deletions across 30 files
  • Major architectural refactoring with improved maintainability
  • Enhanced test coverage with comprehensive validation
  • Improved documentation and developer experience

Feature Coverage

  • 112 input registers (previously incomplete)
  • 20 select entities (previously 1)
  • Complete register coverage for Daikin Altherma 4
  • Enhanced entity categorization and organization

๐Ÿ”ง Developer Experience

Development Tools

  • Enhanced mock client for development without hardware
  • Comprehensive test suite with coverage reporting
  • Improved debugging capabilities and logging
  • Better documentation and code examples
  • Simplified setup process for contributors

Quality Assurance

  • Automated testing with pytest and coverage
  • Code quality validation and type checking
  • Translation validation for multilingual support
  • Integration testing for full workflow validation

Full Changelog: 0.4.1...0.5.0

Don't miss a new ha_daikin_altherma4_modbus release

NewReleases is sending notifications on new releases.