@mtrax I just saw your bug report on github. This actually looks to be an issue with my handling of the response message from the AirTouch5. Polyaire do made changes to their API from time to time, and my copy of the spec if a year or two old. I’ll reach out to them and get an updated spec.
thanks for your work @netwolfuk , I have installed the latest addon (5.0.3) and I can see it in the things list but when I start / activate I get “unknown” and openhab.log has the following:
java.lang.NullPointerException: Cannot invoke "airtouch.model.ControlRequest.getBytes()" because "controlRequests[i]" is null
at airtouch.v5.handler.AbstractControlHandler.assembleRequest(AbstractControlHandler.java:26) ~[?:?]
at airtouch.v5.handler.ZoneControlHandler.generateRequest(ZoneControlHandler.java:19) ~[?:?]
at org.openhab.binding.airtouch.internal.handler.AirTouch5ServiceImpl.requestFullUpdate(AirTouch5ServiceImpl.java:70) ~[?:?]
at org.openhab.binding.airtouch.internal.handler.AirTouch5Handler.lambda$0(AirTouch5Handler.java:275) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.lang.Thread.run(Thread.java:1583) [?:?]
2026-05-12 08:18:30.602 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading DSL model 'airtouch.items'
2026-05-12 08:20:14.710 [WARN ] [5.connector.Airtouch5ConnectorThread] - Could not handle finished message
java.lang.IllegalArgumentException: Unable to resolve ControlOrStatusMessageSubType from supplied byte. Supplied byte is: '45'
at airtouch.v5.constant.MessageConstants$ControlOrStatusMessageSubType.getFromBytes(MessageConstants.java:160) ~[bundleFile:?]
at airtouch.v5.handler.MessageHandler.determineSubMessageMetaData(MessageHandler.java:118) ~[bundleFile:?]
at airtouch.v5.handler.MessageHandler.handle(MessageHandler.java:79) ~[bundleFile:?]
at airtouch.v5.connector.Airtouch5ConnectorThread.handleFinishedMessage(Airtouch5ConnectorThread.java:126) ~[bundleFile:?]
at airtouch.v5.connector.Airtouch5ConnectorThread.run(Airtouch5ConnectorThread.java:104) [bundleFile:?]