Files
kkelomatic_home/docs/redesign/redesign-implementation-roadmap.md
nearxos bf7bd56fe7 Initial commit: Home automation docs and CODESYS project
- Reorganized project: codesys/, docs/codesys|redesign|integration|reference/, scripts/
- CODESYS project and exports in codesys/
- Documentation index in docs/README.md
- Redesign and light naming configuration
- Water boiler control and safety design

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 21:52:46 +02:00

240 lines
6.5 KiB
Markdown

# Redesign Implementation Roadmap
## Overview
This document provides a step-by-step roadmap for implementing the redesigned structure based on the light naming configuration.
## Phase 1: Configuration & Planning
### Step 1.1: Review Light Naming Configuration
- [ ] Review `light-naming-configuration.md`
- [ ] Modify light names per room based on actual installation
- [ ] Remove unused lights from structure
- [ ] Add any missing lights
- [ ] Document relay-to-light mapping
### Step 1.2: Map Relays to Lights
- [ ] Create mapping table: Relay # → Room → Light Name
- [ ] Document in `relay-mapping.md`
- [ ] Verify all relays are accounted for
**Example Mapping**:
```
Relay 1 → kitchen → main
Relay 2 → kitchen → under_cabinet
Relay 3 → kitchen → island
Relay 4 → master_bedroom → main
Relay 5 → master_bedroom → bedside_left
...
```
### Step 1.3: Water Boiler Configuration
- [ ] Review water boiler safety requirements
- [ ] Configure temperature limits
- [ ] Configure time limits (max ON, min OFF)
- [ ] Identify sensor inputs (temperature, flow, pressure)
- [ ] Map boiler relay output
---
## Phase 2: CODESYS Structure Implementation
### Step 2.1: Create New Data Structures
- [ ] Create `struct_light_control` type
- [ ] Create `struct_water_boiler` type
- [ ] Create room-specific structures
- [ ] Create global `rooms` structure
### Step 2.2: Create Function Blocks
- [ ] Create `fb_lightControl` function block
- [ ] Create `fb_waterBoiler` function block
- [ ] Test function blocks in simulation
### Step 2.3: Update Network Variables
- [ ] Update `NVL_Sender` with new structure
- [ ] Update `NVL_Receiver` with new structure
- [ ] Add water boiler network variables
- [ ] Configure network variable properties
### Step 2.4: Implement Control Logic
- [ ] Replace `fb_switch` with new structure
- [ ] Implement light control per room
- [ ] Implement water boiler control
- [ ] Add relay output mapping
- [ ] Add relay status readback
### Step 2.5: Testing
- [ ] Test in simulation
- [ ] Test individual light control
- [ ] Test water boiler control
- [ ] Test safety measures
- [ ] Verify network variable transmission
---
## Phase 3: Node-RED Integration
### Step 3.1: Update Network Variable Nodes
- [ ] Update CODESYS network variable nodes
- [ ] Configure new variable structure
- [ ] Test bidirectional communication
### Step 3.2: Create Transformation Functions
- [ ] Create function to flatten room structure for HA
- [ ] Create function to convert HA commands to CODESYS format
- [ ] Create function for Zigbee edge detection
- [ ] Test transformations
### Step 3.3: Update MQTT Flows
- [ ] Update MQTT topics to new naming convention
- [ ] Configure Home Assistant auto-discovery
- [ ] Update Zigbee switch flows
- [ ] Add water boiler MQTT flows
### Step 3.4: Testing
- [ ] Test HA → CODESYS commands
- [ ] Test Zigbee → CODESYS commands
- [ ] Test CODESYS → HA status updates
- [ ] Test water boiler control
- [ ] Verify MQTT message flow
---
## Phase 4: Home Assistant Configuration
### Step 4.1: Entity Configuration
- [ ] Create light entities for all lights
- [ ] Configure entity names and icons
- [ ] Set up areas/rooms in HA
- [ ] Create water boiler entity
### Step 4.2: Dashboard Setup
- [ ] Create lighting dashboard
- [ ] Group lights by room
- [ ] Add water boiler control
- [ ] Add status indicators
### Step 4.3: Automations
- [ ] Update existing automations
- [ ] Create new automations if needed
- [ ] Test automations
---
## Phase 5: Migration & Deployment
### Step 5.1: Backup Current System
- [ ] Backup CODESYS project
- [ ] Export Node-RED flows
- [ ] Backup Home Assistant configuration
- [ ] Document current state
### Step 5.2: Parallel Testing
- [ ] Deploy new structure in test mode
- [ ] Run parallel with old system
- [ ] Compare behavior
- [ ] Fix any issues
### Step 5.3: Gradual Migration
- [ ] Migrate one room at a time
- [ ] Test each room thoroughly
- [ ] Migrate water boiler
- [ ] Complete migration
### Step 5.4: Validation
- [ ] Test all lights from HA
- [ ] Test all lights from Zigbee switches
- [ ] Verify status feedback
- [ ] Test water boiler control
- [ ] Test all safety measures
- [ ] Verify no regressions
---
## Implementation Checklist
### CODESYS
- [ ] New data structures defined
- [ ] Function blocks created and tested
- [ ] Network variables updated
- [ ] Control logic implemented
- [ ] Relay mapping configured
- [ ] Status readback implemented
- [ ] Water boiler safety measures implemented
- [ ] Code tested in simulation
### Node-RED
- [ ] Network variable nodes updated
- [ ] Transformation functions created
- [ ] MQTT flows updated
- [ ] HA auto-discovery configured
- [ ] Zigbee integration updated
- [ ] Water boiler flows added
- [ ] All flows tested
### Home Assistant
- [ ] All light entities created
- [ ] Water boiler entity created
- [ ] Areas/rooms configured
- [ ] Dashboard updated
- [ ] Automations updated
- [ ] All entities tested
### Documentation
- [ ] Light naming configuration finalized
- [ ] Relay mapping documented
- [ ] Network variable structure documented
- [ ] MQTT topics documented
- [ ] Safety measures documented
- [ ] Troubleshooting guide updated
---
## Key Files Reference
1. **Light Configuration**: `light-naming-configuration.md`
2. **Structure Analysis**: `structure-redesign-analysis.md`
3. **Visual Comparison**: `structure-comparison-visual.md`
4. **Function Block Redesign**: `fb_switch-redesign-recommendation.md`
5. **This Roadmap**: `redesign-implementation-roadmap.md`
---
## Estimated Timeline
- **Phase 1** (Planning): 1-2 days
- **Phase 2** (CODESYS): 2-3 days
- **Phase 3** (Node-RED): 1-2 days
- **Phase 4** (Home Assistant): 1 day
- **Phase 5** (Migration): 2-3 days
**Total**: ~7-11 days (depending on complexity and testing)
---
## Risk Mitigation
### Risks
1. **Network Variable Changes**: May break existing Node-RED flows
- **Mitigation**: Test thoroughly, have rollback plan
2. **State Synchronization**: During migration, states may be inconsistent
- **Mitigation**: Migrate during low-usage period, verify all states
3. **Water Boiler Safety**: Critical system, must work correctly
- **Mitigation**: Extensive testing, manual override available
4. **Home Assistant Entities**: May need to recreate entities
- **Mitigation**: Use unique_id to preserve entity history
### Rollback Plan
- Keep old CODESYS project as backup
- Keep old Node-RED flows as backup
- Document rollback procedure
- Test rollback procedure
---
**Status**: Planning Phase
**Next Step**: Review and modify `light-naming-configuration.md` with actual light configuration