Files
arnaudne 941abd98d5 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>
2026-06-28 01:05:24 +02:00

1.6 KiB

LRMS — Sensor Station (LRMS-0721DC)

Module ID: 60ca42adad69dac1558f7c64
Serial: 7400040721DC0001
Type: lr-ms
Role: Pure sensor station — no outputs, no programs


Inputs

Input ID Name Type Unit Interval Notes
60ca42adad69dac1558f7c66 Plumbago 12 (soil moisture) % 60 min Named sensor
60ca42adad69dac1558f7c67 Pelouse 12 (soil moisture) % 60 min Named sensor
60ca42adad69dac1558f7c69 (unnamed) 5 (temperature) °C 15 min Air/soil temp

Latest readings (2026-06-04)

Plumbago (moisture)

19:42  71.19%
18:42  74.06%
17:42  71.63%   ← irrigation spike visible
16:42  44.64%
15:42  41.83%

Pelouse (moisture)

19:42  78.25%
18:42  79.63%
17:42  70.81%   ← irrigation spike visible
16:42  58.50%
14:42  56.19%

Temperature (unnamed)

19:42  16.10°C
19:27  16.44°C
18:42  16.66°C
18:12  16.54°C
17:42  16.31°C

Remote state

GET /remote/module/state?moduleId=60ca42adad69dac1558f7c64
  • Battery: 78% (batteryVoltage field)
  • Last radio contact: 2026-06-04T19:51:50Z
  • Relay: 60ca4276ad69dac1558f7c61 (LRMB10)
  • relayIsLongPolling: true

Sensor data endpoint

GET /remote/input/getComputedSensorData
  ?inputId={inputId}
  &startDate={iso8601}
  &endDate={iso8601}
  &ensurePrevTickForContinuity=true

The moisture sensor uses a computed expression to convert raw ADC values to %.
Moisture spikes (>10% jump) correspond to irrigation events — useful to infer watering history even without direct output events.