5.2 KiB
RDZ Thermostats Monitor - Development Repository
Overview
This repository contains the RDZ Thermostats Monitor custom integration for Home Assistant, along with a complete development environment for local testing.
Integration Purpose: Passive monitoring of Modbus RTU communication over TCP, enabling Home Assistant control of RDZ thermostats in a PLC-based heating system without disrupting existing automation.
Repository Structure
modbus_rtu_monitor/ # This repository
├── .devcontainer/
│ └── devcontainer.json # Dev container for local HA testing
├── config/ # HA configuration for dev environment
│ ├── configuration.yaml # Minimal HA config
│ └── custom_components/ # Mount point during development
├── custom_components/
│ └── rdz_thermostats_monitor/ # THE INTEGRATION (publish this folder)
│ ├── claude.md # 📋 DETAILED INTEGRATION DOCS HERE
│ ├── __init__.py
│ ├── hub.py
│ ├── coordinator.py
│ ├── climate.py
│ ├── sensor.py
│ ├── binary_sensor.py
│ ├── config_flow.py
│ ├── const.py
│ ├── manifest.json
│ └── strings.json
└── claude.md # This file (repo overview)
Quick Start (Development)
Using Dev Container
- Open in IDE with dev container support (VS Code or IntelliJ IDEA)
- Container builds automatically and installs Home Assistant
- Start HA:
hass -c /config --debug - Access UI at http://localhost:8123
- Edit code in
custom_components/rdz_thermostats_monitor/ - Restart HA to test changes (Ctrl+C, then rerun
hass)
Dev Container Details
The .devcontainer/devcontainer.json provides:
- Python 3.12 environment
- Auto-installed Home Assistant
- Live code mounting (no rebuild needed)
- Port 8123 forwarded to host
- IntelliJ IDEA integration
Documentation
📋 Integration Documentation
For detailed integration documentation, implementation details, and development guides, see:
custom_components/rdz_thermostats_monitor/claude.md
That file contains:
- Integration architecture and design patterns
- Critical implementation details (reconnection logic, passive monitoring)
- Modbus protocol specifics
- Development tasks and testing procedures
- Code patterns and conventions
- Known issues and solutions
Repository vs Integration
This repository serves two purposes:
-
Development Environment (root level)
- Dev container configuration
- Local HA instance for testing
- This file documents the dev setup
-
Home Assistant Integration (
custom_components/rdz_thermostats_monitor/)- The actual integration code
- Published/installed to HA's
custom_components/folder - See nested
claude.mdfor integration details
Installation (Production)
To install this integration in a production Home Assistant instance:
- Copy the entire
custom_components/rdz_thermostats_monitor/folder to your HA'scustom_components/directory - Restart Home Assistant
- Add the integration via UI: Settings → Devices & Services → Add Integration → "RDZ Thermostats Monitor"
Key Features
- Passive Monitoring: Observes existing Modbus traffic without interfering
- No Polling: Completely non-intrusive to PLC communication
- Auto-Discovery: Automatically creates entities for discovered slaves
- Robust Reconnection: Handles extended server outages gracefully
- Selective Writing: Only writes setpoint when user changes temperature
- Climate Entity: Full thermostat control with HVAC action display
- Configurable: Enable only the sensors you need
Technology Stack
- Home Assistant: Smart home automation platform
- Modbus RTU over TCP: Industrial communication protocol
- Python 3.12: Integration implementation language
- Dev Containers: Isolated development environment
Use Case
This integration enables remote monitoring and control of RDZ thermostats in a PLC-based heating system, providing a migration path from PLC automation to Home Assistant without disrupting existing critical infrastructure.
For full background and use case details, see the integration documentation.
Support & Contribution
When working on this integration:
- Always consult
custom_components/rdz_thermostats_monitor/claude.mdfor implementation details - Test with the dev container before deploying to production
- Maintain passive monitoring approach (no active polling)
- Test reconnection logic with extended outages
File Organization
- Root
claude.md(this file): Repository overview, dev environment setup - Integration
claude.md: Detailed implementation docs, architecture, protocols .devcontainer/: Development environment configurationconfig/: HA configuration for local testingcustom_components/rdz_thermostats_monitor/: The integration itself (publishable)