You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
De Poolstation cloud API is onbetrouwbaar (saveSign/changemode geven 500, historiek van API-breuken bij Idegis). De NEO12 draait op het Domotic/Multi-Tec platform met een aparte, geïsoleerde RS-485 Modbus-poort (bevestigd: de LAN-module zit op een eigen connector, app/cloud blijven werken). De officiële registertabel (v1.62/1.63) is publiek beschikbaar én er bestaat een kant-en-klare HA-integratie.
Architectuur (herzien)
NEO12 (RS-485, Modbus RTU 9600 8E1, slave 2)
│ A/B twisted pair, max 50 cm
Olimex ESP32-POE-ISO als transparante serial↔TCP bridge (ESPHome stream_server)
│ Ethernet + voeding via PoE (1 kabel)
HA: IdegisModbus HACS-integratie (julianbl) via Modbus TCP
De software-laag is nu de bestaande [julianbl/IdegisModbus](https://github.com/julianbl/IdegisModbus) HACS-integratie in plaats van eigen ESPHome modbus_controller YAML. Die verwacht exact deze opstelling: een Modbus TCP bridge naar de RS-485 poort. Voordelen: config flow i.p.v. YAML, alle entities kant-en-klaar (zie fase 2b), read-modify-write op relay-registers zodat schema-bits bewaard blijven, blok-polling, diagnostics met raw register dumps, en community-onderhoud.
Safety-overweging bij deze keuze. In bridge-modus draait er geen logica op de ESP zelf. Dat is aanvaardbaar omdat de NEO12 zijn eigen hardware flow-interlock heeft (productie stopt bij flow-alarm, onafhankelijk van alles), en het toestel een Modbus-watchdog heeft (holding 0x10/0x11) als extra vangnet. De HA-automation is een optimalisatielaag (target % vs pomp-RPM), geen primaire beveiliging. Wil je later tóch on-device logica, dan herflash je dezelfde hardware OTA naar modbus_controller (variant in bijlage).
Fase 0 — Verificatie
RS-485 poort ✅ LAN-module zit op een aparte connector; cloud/app en lokale Modbus kunnen permanent naast elkaar.
Fysieke poort checken: hoe biedt de NEO12 de Modbus-poort aan? Bij de Domotic-serie zijn de klemmen gelabeld "+", "−", "C" (= B, A, GND). Als er geen klemmen maar enkel een interne connector is, is de officiële Idegis C-MOD insteekmodule de nette (maar dure) oplossing. Verkeerde polariteit = geen respons → A/B wisselen is de eerste fix.
Bij eerste verbinding: slave-adres bevestigen (fabrieksdefault 2, geldig 1–5), capability bitmap lezen (holding 0x06), serienummer noteren (0x09–0x0B). Verwacht bitmap NEO12 (standaard zout, géén LS-variant): elektrolyse (bit 15 low-salt = 0), pH en ORP bevolkt (geen PPM), temperatuur, zout, UV. Relevante extra registers: pH input 0x51 / setpoint holding 0x57; ORP input 0x81 / setpoint holding 0x87 — de ORP-gestuurde productie loopt op het toestel zelf, HA hoeft daar niets voor te doen.
Fase 1 — Hardware (DIN-rail, max 2 × 38 mm vrij, PoE, geen extra voeding)
Olimex ESP32-POE-ISO op DIN-clip, ~€37
ESP32-POE-ISO basisversie (€24,95): Ethernet, PoE-gevoed (802.3af), galvanisch geïsoleerd. Geen -16MB/-EA/-WROVER nodig; -IND enkel bij vorstgevoelige opstelplaats.
Officiële DIN-CLIP-ESP32-POE-ISO (€5,95) rechtstreeks op de rail.
Eén PoE-kabel erin, A/B/GND eruit. Na de eerste flash gaan alle updates OTA; fysieke toegang is nooit meer nodig.
Alternatief zonder firmware: een Waveshare RS485 TO POE ETH (B) gateway (±€35, DIN-clip) doet exact hetzelfde voor de HACS-integratie. De Olimex-route kost hetzelfde maar houdt de on-device optie (bijlage) open.
Bekabeling
Afstand verdeelkast ↔ NEO12 is max 50 cm → kort twisted pair (stukje UTP) op de NEO12-klemmen (A/B/GND); afscherming en 120Ω terminatie onnodig op deze lengte. Weghouden van 230V-bekabeling.
Scheiding sterkstroom/signaal respecteren; aansluiting desgewenst laten aftekenen door de elektricien i.v.m. AREI.
Galvanische isolatie: het -ISO board laat de ESP-GND zweven t.o.v. het netwerk; de bus is de enige galvanische verbinding, dus geen aardlus. De NEO12 Modbus-poort is bovendien zelf geïsoleerd.
BoM
#
Onderdeel
Specificatie
Aantal
Richtprijs
Bron
1
Olimex ESP32-POE-ISO
Basisversie
1
€24,95
Olimex shop, TME, Mouser
2
RS-485 module, auto-direction
3.3V-variant (XY-K485 of MAX3485/SP3485-gebaseerd; 5V-versies zetten 5V op RX en ESP32-GPIO's zijn niet 5V-tolerant). Werkt in bridge- én on-device modus. Meestal met ingebouwde 120Ω + biasing
1 (+1 reserve)
€2–5
AliExpress, Otronic
3
Olimex DIN-CLIP-ESP32-POE-ISO
Officiële DIN-clip, let op de -ISO variant
1
€5,95
Olimex shop
4
Twisted pair, kort
0,5 m stukje UTP
1
€0
voorraad
5
UTP-patchkabel
Naar PoE-switchpoort
1
€2
voorraad
6
Draadjes/kroonklemmen
3.3V/GND/TX/RX naar module cibernox#2; A/B/GND overgang
set
€2
voorraad
Totaal
±€37
Prijzen indicatief (07/2026). Olimex heeft zomervakantie 01/08–16/08/2026 → vóór 01/08 bestellen of via TME/Mouser.
Protocol (officiële tabel): 9600 8E1, slave 2, functies 0x03/0x04 lezen en 0x06/0x10 schrijven. Coil-functies (0x01/0x05/0x15) zijn verboden — de integratie gebruikt ze niet, maar niet handmatig proberen.
number.zwembadcontroller_target_production → de Target Electrolysis Production number van de integratie (3 plaatsen: trigger, 2× set_value, variabele target_prod)
input_number.pool_previous_electrolysis, input_select.pool_pump_rpm en input_select.pool_control blijven ongewijzigd
Hardening: retry bij schrijffout + notificatie.
Overweeg de Modbus-watchdog (holding 0x10/0x11) te configureren zodat het toestel terugvalt naar een veilige toestand als de bridge/HA langdurig wegvalt. Gedrag eerst testen: de watchdog triggert óók bij een HA-herstart als de timeout te kort staat.
Overige verwijzingen naar poolstation entities (dashboards, andere automations) migreren.
Poolstation cloud integratie in HA verwijderen of als read-only backup houden; de app blijft sowieso werken via de LAN-module.
Historiek: desgewenst de nieuwe entities dezelfde entity_id geven na verwijdering van de oude.
Risico's
Pre-1.0 integratie: IdegisModbus is jong (april 2026). Mitigatie: parallelfase, en de auteur waarschuwt zelf elke write te valideren. Jij kan bijdragen — het is dezelfde workflow als je pypoolstation-werk.
Slave adres: default 2, niet 1; bij geen respons 1–5 proberen.
JSN-SR04T ultrasoon in de skimmerdeksel (~€8): waterniveau + bijvul-automatisering.
RS485 Modbus troebelheidssonde (€60–95): kan op dezelfde bus op een ander slave-adres.
Niet kopen (zelfde bron): TDS-meters (verzadigen in zoutwater), "6-in-1" probes, elektronische cyanuurzuur- of hardheidssensoren.
iSaver frequentieregelaar: RPM-sturing verhuist al mee naar lokaal via de NEO12-relais (0x110-zone, switches in de integratie), geen actie nodig. Rechtstreekse RS-485 sturing kan later, maar het iSaver-"Modbus" is pseudo (slave 0xAA, functie 0xC3, 1-byte CRC): TCP-gateways en standaard Modbus-stacks werken niet, enkel raw-UART op een ESP (community-bewezen, zie [HA-forum](https://community.home-assistant.io/t/modbus-isaver-pool-pump-inverter-custom-commands-issue-response-missing-bytes/714637)). Nooit op dezelfde bus als de NEO12; tweede RS-485 module op een vrije UART. Quirk: RS-485 neemt pas over nadat de unit via het frontpaneel is aangezet.
Bijlage — variant met on-device safety (ESPHome modbus_controller)
Zelfde hardware, andere firmware: modbus_controller i.p.v. stream_server. De auto-direction module uit de BoM werkt hier ook, flow_control_pin is dan niet nodig. Registers: setpoint productie = holding 0x41; lezen: input 0x41/0x42 (target/actueel %), 0x43/0x44 (stroom/spanning, /100), 0x51 (pH /100), 0x81 (ORP), 0xB1 (temp /10), 0xC1 (zout /100), 0x240 (flow-alarm), 0x200 (algemeen alarm). On-device regel: flow weg → holding 0x41 = 0. Overstappen = OTA herflash, hardware blijft.
Waarom
De Poolstation cloud API is onbetrouwbaar (saveSign/changemode geven 500, historiek van API-breuken bij Idegis). De NEO12 draait op het Domotic/Multi-Tec platform met een aparte, geïsoleerde RS-485 Modbus-poort (bevestigd: de LAN-module zit op een eigen connector, app/cloud blijven werken). De officiële registertabel (v1.62/1.63) is publiek beschikbaar én er bestaat een kant-en-klare HA-integratie.
Architectuur (herzien)
De software-laag is nu de bestaande [julianbl/IdegisModbus](https://github.com/julianbl/IdegisModbus) HACS-integratie in plaats van eigen ESPHome
modbus_controllerYAML. Die verwacht exact deze opstelling: een Modbus TCP bridge naar de RS-485 poort. Voordelen: config flow i.p.v. YAML, alle entities kant-en-klaar (zie fase 2b), read-modify-write op relay-registers zodat schema-bits bewaard blijven, blok-polling, diagnostics met raw register dumps, en community-onderhoud.Safety-overweging bij deze keuze. In bridge-modus draait er geen logica op de ESP zelf. Dat is aanvaardbaar omdat de NEO12 zijn eigen hardware flow-interlock heeft (productie stopt bij flow-alarm, onafhankelijk van alles), en het toestel een Modbus-watchdog heeft (holding 0x10/0x11) als extra vangnet. De HA-automation is een optimalisatielaag (target % vs pomp-RPM), geen primaire beveiliging. Wil je later tóch on-device logica, dan herflash je dezelfde hardware OTA naar
modbus_controller(variant in bijlage).Fase 0 — Verificatie
RS-485 poort✅ LAN-module zit op een aparte connector; cloud/app en lokale Modbus kunnen permanent naast elkaar.Registertabel✅ OfficiëleTabla modbus 1.63.xlsm+ protocol-PDF in [julianbl/IdegisModbus](https://github.com/julianbl/IdegisModbus); v1.62 in markdown bij [hirofairlane/ha-idegis-astralpool](https://github.com/hirofairlane/ha-idegis-astralpool/blob/main/docs/02-modbus-reference.md). Idegis Domotic 2 = AstralPool Elite Connect (zelfde firmware/registerkaart; dit toestel meldde zich als "Elite Connect LS").Fase 1 — Hardware (DIN-rail, max 2 × 38 mm vrij, PoE, geen extra voeding)
Olimex ESP32-POE-ISO op DIN-clip, ~€37
Alternatief zonder firmware: een Waveshare RS485 TO POE ETH (B) gateway (±€35, DIN-clip) doet exact hetzelfde voor de HACS-integratie. De Olimex-route kost hetzelfde maar houdt de on-device optie (bijlage) open.
Bekabeling
BoM
Fase 2a — ESP flashen als bridge
ESPHome met de [oxan/esphome-stream-server](https://github.com/oxan/esphome-stream-server) external component:
Protocol (officiële tabel): 9600 8E1, slave 2, functies 0x03/0x04 lezen en 0x06/0x10 schrijven. Coil-functies (0x01/0x05/0x15) zijn verboden — de integratie gebruikt ze niet, maar niet handmatig proberen.
Fase 2b — HACS-integratie installeren
https://github.com/julianbl/IdegisModbus(Integration) → installeren → HA herstart.Entities die je krijgt: switches (pomprelais e.a.), numbers (Target Electrolysis Production, Target pH/ORP/Cl), sensors (temperatuur, zout, pH, ORP, productie %, celstroom/-spanning, g/h, UV- en elektrolysetellers), binary sensors (Electrolysis ON, Water Flow Problem, digitale inputs, relaisstatus, UV-alarmen), reset-buttons (partial hours, pumpstop, UV).
Fase 3 — Parallelle validatie (1–2 weken)
Fase 4 — Cutover
automation.pool_electrolysis_sync_safetyaanpassen:number.zwembadcontroller_target_production→ de Target Electrolysis Production number van de integratie (3 plaatsen: trigger, 2× set_value, variabeletarget_prod)input_number.pool_previous_electrolysis,input_select.pool_pump_rpmeninput_select.pool_controlblijven ongewijzigdRisico's
Uitbreidingen (later, optioneel)
Uit hirofairlane docs/05-sensors-extra.md, gerangschikt op prijs/waarde; alles in de apparatuurruimte, niets in het bad:
Niet kopen (zelfde bron): TDS-meters (verzadigen in zoutwater), "6-in-1" probes, elektronische cyanuurzuur- of hardheidssensoren.
iSaver frequentieregelaar: RPM-sturing verhuist al mee naar lokaal via de NEO12-relais (0x110-zone, switches in de integratie), geen actie nodig. Rechtstreekse RS-485 sturing kan later, maar het iSaver-"Modbus" is pseudo (slave 0xAA, functie 0xC3, 1-byte CRC): TCP-gateways en standaard Modbus-stacks werken niet, enkel raw-UART op een ESP (community-bewezen, zie [HA-forum](https://community.home-assistant.io/t/modbus-isaver-pool-pump-inverter-custom-commands-issue-response-missing-bytes/714637)). Nooit op dezelfde bus als de NEO12; tweede RS-485 module op een vrije UART. Quirk: RS-485 neemt pas over nadat de unit via het frontpaneel is aangezet.
Bijlage — variant met on-device safety (ESPHome modbus_controller)
Zelfde hardware, andere firmware:
modbus_controlleri.p.v.stream_server. De auto-direction module uit de BoM werkt hier ook,flow_control_pinis dan niet nodig. Registers: setpoint productie = holding 0x41; lezen: input 0x41/0x42 (target/actueel %), 0x43/0x44 (stroom/spanning, /100), 0x51 (pH /100), 0x81 (ORP), 0xB1 (temp /10), 0xC1 (zout /100), 0x240 (flow-alarm), 0x200 (algemeen alarm). On-device regel: flow weg → holding 0x41 = 0. Overstappen = OTA herflash, hardware blijft.Bronnen
Tabla modbus 1.63.xlsmen protocol-PDF