Toen ik naast mijn Deye-omvormer ook de LG-warmtepomp via Modbus wilde uitlezen, gaf Home Assistant deze fout:
[Errno 11] Could not exclusively lock port
De oorzaak is eenvoudig, de oplossing ook. Maar er zit een tweede valkuil achter die mij later drie dagen kostte.
De oorzaak
Een seriële poort, zoals een USB-RS485-adapter, kan maar door één proces tegelijk geopend worden. De Deye werd al uitgelezen door de Sunsynk-add-on, via zijn eigen adapter. De Modbus-integratie van Home Assistant probeerde voor de LG dezelfde adapter te openen. Die was bezet: Errno 11.
Je kunt twee apparaten in theorie op één RS485-bus hangen, met verschillende slave-adressen. Maar dan moet één programma de hele bus beheren. Een add-on en een integratie die elk hun eigen apparaat willen uitlezen, gaan niet samen op één adapter.
De oplossing
Elke bus een eigen adapter. De Deye houdt de zijne, de LG krijgt een tweede USB-RS485-adapter.
Gebruik daarbij nooit /dev/ttyUSB0 of /dev/ttyUSB1: die nummers kunnen na een herstart wisselen. Gebruik het vaste pad onder /dev/serial/by-id/, dat is gebaseerd op het serienummer van de adapter. Ik zet het in secrets.yaml, zodat het op één plek staat:
# secrets.yaml (voorbeeld)
lg_heatpump_modbus_port: /dev/serial/by-id/usb-1a86_USB_Single_Serial_<serienummer>-if00
lg_heatpump_modbus_slave: 33
In de Modbus-configuratie verwijs je ernaar met !secret lg_heatpump_modbus_port. Welk pad bij welke adapter hoort, zie je in Home Assistant onder Instellingen → Systeem → Hardware.
De tweede valkuil
Een paar dagen later zette een package-update de poort van de LG terug op de adapter van de Deye. Dit keer kwam er geen opvallende fout: de warmtepomp leek gewoon te werken, maar de waarden stonden drie dagen stil. Hoe ik dat nu bewaak, staat in Modbus-waarden bevroren zonder foutmelding.
Meer over de aansluiting van de LG: Warmtepomp via Modbus. Alle incidenten: Lessen uit de praktijk.
Deze waarden gelden voor één installatie. Controleer ze tegen je eigen documentatie; werk aan 230/400 V laat je over aan een erkend installateur.






Geef een reactie