feat: initial myprimal MQTT bridge service
Dynamic MySolem/MyIndygo IoT bridge with MQTT, Home Assistant autodiscovery, and Homebridge EasyMQTT compatibility. - Device discovery via MySolem API on startup (all modules/inputs/outputs) - Configurable poll engine (fast/normal/slow buckets, per-input overrides) - MQTT retained state publishing + HA autodiscovery payloads - Unified manual command routing (linesControl vs sendManualModuleCommand) - Runtime config via MQTT $config/set, persisted to config.json - Expression override system (API-provided > hardcoded > passthrough) - Minimal REST API: /health, /state, /control, /rediscover - Docker deployment (Dockerfile + docker-compose.yml) - 38 unit tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
# LRPR — Filter Pressure Sensor (LRPR-0D6800)
|
||||
|
||||
**Module ID**: `6a17218be0b88ea3e925524f`
|
||||
**Serial**: `1D00010D68000001`
|
||||
**MAC**: `C8:B9:61:0D:68:00`
|
||||
**UUID**: `1D0058B9610D680000000001000D6800`
|
||||
**Firmware**: 6.3.0 | **Hardware**: A | **Manufacturer**: `1D`
|
||||
**Type**: `lr-pr`
|
||||
**Role**: Measures filter pressure — indicates filter cleanliness / pump running state
|
||||
|
||||
---
|
||||
|
||||
## Input
|
||||
|
||||
| Input ID | Type | Unit | Interval |
|
||||
|---|---|---|---|
|
||||
| `6a17218be0b88ea3e9255251` | 8 (pressure) | bar (unit code 6) | 1 min |
|
||||
|
||||
Raw-to-bar expression: `(1.5 × raw − 500) / 1000`
|
||||
|
||||
### Latest readings (2026-06-04)
|
||||
|
||||
```
|
||||
16:01 0.091 bar ← pump stopped / off
|
||||
16:00 0.715 bar
|
||||
15:59 0.741 bar
|
||||
15:58 0.730 bar
|
||||
18:41 0.081 bar ← pump off
|
||||
```
|
||||
|
||||
Normal operating pressure ~0.70–0.75 bar. Drop to ~0.08 bar signals pump has stopped.
|
||||
This sensor can be used to detect filtration start/stop and detect dirty filter (rising pressure).
|
||||
|
||||
---
|
||||
|
||||
## Remote state
|
||||
|
||||
- Battery: **94%**
|
||||
- Last radio contact: 2026-06-04T20:05:14Z
|
||||
- Relay: `60ca4276ad69dac1558f7c61` (LRMB10)
|
||||
- No programs, no outputs — pure sensor
|
||||
|
||||
---
|
||||
|
||||
## Pressure Alert Configuration
|
||||
|
||||
From `poolPressureAlertsVariables` in the input object (retrieved via mobile API):
|
||||
|
||||
| Parameter | Value | Meaning |
|
||||
|---|---|---|
|
||||
| `staticPressure` | 0.919 bar | Baseline pressure at pump start |
|
||||
| `nominalPressure` | 1.7275 bar | Expected operating pressure |
|
||||
| `maximalPressure` | 1.0615 bar | Upper alert threshold |
|
||||
| `atmosphericPressure` | 1.015 bar | Calibration reference |
|
||||
| `filterCloggedMargin` | 0.5 bar | Rise above static = filter clogged alert |
|
||||
| `filterPreCloggedMargin` | 0.3 bar | Rise above static = pre-clog warning |
|
||||
| `activeFilterCloggedAlert` | true | Filter clog alert enabled |
|
||||
| `activeWaterLevelLowAlert` | true | Low water level alert enabled |
|
||||
| `activeSuctionValveClosedAlert` | true | Suction valve closed alert enabled |
|
||||
| `waterLevelLowCount` | 6 | Ticks below threshold before alert |
|
||||
|
||||
## Notes
|
||||
|
||||
- `secondaryBatteryVoltage: 80` — secondary power source present
|
||||
- Unit code 6 = bar; type 8 = pressure sensor
|
||||
- Backwash reminder alerts fire every ~15 days (shared with pool notebook)
|
||||
Reference in New Issue
Block a user