Enhanced Salus iT500 Integration - Major Feature Update - #35
Open
gonzague wants to merge 3 commits into
Open
Conversation
…allation instructions, and detailed feature list. Introduced modern config flow, hot water and multi-zone support, robust error handling, and improved API management.
|
i tested it it500 myself for heating (gas boiler), well done, works great for the limited subset of features I was able to test.Thx! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enhanced Salus iT500 Integration - Major Feature Update
Overview
This PR significantly enhances the original Salus iT500 integration with modern Home Assistant architecture, new features, and robust error handling. The integration has been completely modernized while maintaining backward compatibility with existing functionality.
🎯 Major Features Added
1. Modern Config Flow Integration
configuration.yamlediting required2. Hot Water Support (NEW)
SystemType.CH1_HOT_WATER)3. Multi-Zone Heating Support (NEW)
SystemType.CH1_CH2)4. Preset Modes for Climate
ConsolidatedMode5. Complete API Library (
pyit500/)A full-featured async Python library for the Salus iT500 API:
auth.py- Authentication and token managementdevice.py- Device model with system attributesheatingzone.py- Heating zone control with ConsolidatedModehotwaterzone.py- Hot water zone controlzone.py- Base zone functionalityuser.py- User managementdevicelistitem.py- Device list handlingpyit500.py- Main API classenumfriendly.py- User-friendly enum system🛡️ Reliability Improvements
Error Handling & Retry Logic
API Rate Management
QuietLoggerAdapterfor cleaner logsOptimistic State Updates
🔧 Technical Improvements
Modern Home Assistant Architecture
async_setup_entry/async_unload_entryCode Quality
API Workarounds
Temperature & Unit Support
📊 Additional Features
Entity Attributes
Climate entities:
Water Heater entities:
Localization
en.json)cs.json)🧪 Testing & Validation
Real-world Testing
Known API Behaviors Handled
📝 Documentation
Updated README.md
Code Documentation
🔄 Breaking Changes
None! (Backward Compatible)
Migration Path
Users should:
📋 Files Changed/Added
New Files
config_flow.py- Config flow implementationconst.py- Constants and configurationstrings.json- Localization stringstranslations/en.json- English translationstranslations/cs.json- Czech translationswater_heater.py- Water heater entity platformpyit500/- Complete API library (8 modules)manifest.json- Updated with config_flow supportModified Files
__init__.py- Complete rewrite with DataUpdateCoordinatorclimate.py- Enhanced with preset modes, optimistic updates, retry logicREADME.md- Comprehensive documentation updateRemoved/Deprecated
🎯 Testing Checklist
🤝 Contribution Notes
This enhancement maintains the spirit and core functionality of the original integration while bringing it up to modern Home Assistant standards. All original functionality is preserved and extended.
The code follows Home Assistant development best practices and is ready for potential inclusion in the Home Assistant core integrations (with minor adjustments for core requirements).
📸 Screenshots
The integration now appears in:
🙏 Acknowledgments
Based on the excellent foundation by @floringhimie. This enhancement builds upon the original work with deep respect for the initial implementation.
Ready to merge? This PR is production-tested and ready for use. All changes are backward-compatible (with deprecation warnings for YAML config).