etm-powersync-plugins-modbus (1.15.2+etm5) trixie; urgency=medium * abbterra: decode the serial-number and firmware register fields as BCD, as specified by the ABB Modbus spec §5.1 (e.g. 0x49 = week 49, 0x22 = 22 kW), instead of as plain binary. The binary reading made deviceInfoFromValues() reject every real charger whose BCD production-week byte exceeded 0x35 (e.g. week 46 = 0x46 = 70 > 53), failing setup with "The device does not match the ABB Terra AC Modbus register map", and mis-decoded the 11 kW/22 kW rated-power codes. Manual TCP add of the charger now completes. -- ETM-Schurig SARL Fri, 03 Jul 2026 13:15:00 +0200 etm-powersync-plugins-modbus (1.15.2+etm4) trixie; urgency=medium * abbterra: fix TCP manual setup never establishing the connection. setupTcpThing() wired all the connection signals but never called connectDevice(), so reachableChanged()/initializationFinished() never fired and the setup hung until timeout ("Thing setup failed"). Now the connection is started when the NetworkDeviceMonitor reports the device online. -- ETM-Schurig SARL Fri, 03 Jul 2026 12:55:00 +0200 etm-powersync-plugins-modbus (1.15.2+etm3) trixie; urgency=medium * abbterra: disable TCP auto-discovery (createMethods = "user" only) for the Terra AC Charger (TCP) thing class. Discovery blind-scans the LAN and blows up nymead with a SIGSEGV as soon as any Modbus device answers :502 with an exception response — the crash is in the generated reachability handler and cannot be fixed from the discovery code alone (two attempts failed). For the Waveshare RS485-gateway use case discovery can't determine the slave id anyway; the charger must be added manually (address + port + slaveId). This unblocks adding the charger and stops the crash loop. The underlying generated-code crash is tracked separately. -- ETM-Schurig SARL Fri, 03 Jul 2026 12:40:00 +0200 etm-powersync-plugins-modbus (1.15.2+etm2) trixie; urgency=medium * abbterra: fix nymead SIGSEGV during ABB Terra AC TCP discovery. On a reachability-check exception (e.g. any Modbus device on the LAN answering :502 with "illegal data address"), AbbTerraTcpDiscovery::cleanupConnection() tore the connection down synchronously from inside the connection's own QModbusReply "finished" handler, freeing the in-flight reply that the generated code still dereferences at abbterramodbustcpconnection.cpp:2062. The teardown is now deferred (Qt::QueuedConnection) and made idempotent. * abbterra: restore checkReachableRegister ("serialNumber"), required by the libnymea-modbus 1.15 connection-class generator. -- ETM-Schurig SARL Fri, 03 Jul 2026 12:00:00 +0200 etm-powersync-plugins-modbus (1.15.2+etm1) trixie; urgency=medium * Build 1.15,2 -- ETM-Schurig SARL Tue, 24 Jun 2026 11:00:00 +0200 etm-powersync-plugins-modbus (1.15.0+etm5) trixie; urgency=medium * abbterra: fix RTU setup on slow radio links — trigger initialize() on master connectedChanged, not only on reachableChanged (which never fires within setup timeout over 433 MHz). -- ETM-Schurig SARL Tue, 24 Jun 2026 10:00:00 +0200 etm-powersync-plugins-modbus (1.15.0+etm4) trixie; urgency=medium * Correction modbus registers. -- ETM-Schurig SARL Fri, 13 Jun 2026 10:00:00 +0200