Just small addition to what kovacsi2899 said… after you do these changes please do the following:
Stop OH
Delete paradox.log
Start OH
With this we will ensure that we look only at the startup logs. Once the log is ready you can decrease back the log level to INFO in order to reduce the space consumption.
at org.openhab.binding.paradoxalarm.internal.handlers.EntityBaseHandler.calculateEntityIndex(EntityBaseHandler.java:111) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.ParadoxPartitionHandler.getPartition(ParadoxPartitionHandler.java:82) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.ParadoxPartitionHandler.updateEntity(ParadoxPartitionHandler.java:47) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.EntityBaseHandler.handleCommand(EntityBaseHandler.java:95) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.ParadoxPartitionHandler.handleCommand(ParadoxPartitionHandler.java:122) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.EntityBaseHandler.calculateEntityIndex(EntityBaseHandler.java:111) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.ParadoxPartitionHandler.getPartition(ParadoxPartitionHandler.java:82) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.ParadoxPartitionHandler.updateEntity(ParadoxPartitionHandler.java:47) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.EntityBaseHandler.handleCommand(EntityBaseHandler.java:95) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.ParadoxPartitionHandler.handleCommand(ParadoxPartitionHandler.java:122) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.EntityBaseHandler.calculateEntityIndex(EntityBaseHandler.java:111) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.ParadoxPartitionHandler.getPartition(ParadoxPartitionHandler.java:82) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.ParadoxPartitionHandler.updateEntity(ParadoxPartitionHandler.java:47) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.EntityBaseHandler.handleCommand(EntityBaseHandler.java:95) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.ParadoxPartitionHandler.handleCommand(ParadoxPartitionHandler.java:122) ~[?:?]
I have same problem with new version 2.5.6.
log file:
2020-07-15 00:07:09.520 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler ParadoxIP150BridgeHandler of thing paradoxalarm:ip150:c7d8ca37 tried updating channel communicationState although the handler was already disposed.
2020-07-15 00:07:09.521 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler ParadoxIP150BridgeHandler tried updating the thing status although the handler was already disposed.
2020-07-15 00:07:09.541 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException: Communicator didn’t go online in defined treshold time. 10000sec. You can still try to reset the bridge with command RESET.
at org.openhab.binding.paradoxalarm.internal.handlers.ParadoxIP150BridgeHandler.doPostOnlineFinalCommunicatorJob(ParadoxIP150BridgeHandler.java:195) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_221]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_221]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_221]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_221]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_221]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_221]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_221]
One more information. With version 2.5.2 is going to online for one secont a than to offline. Log is here:
2020-07-15 00:38:30.094 [WARN ] [l.handlers.ParadoxIP150BridgeHandler] - TIMEOUT! ParadoxIP150BridgeHandler [paradoxalarm:ip150:11b6d5ca] received message for socket timeout.
java.net.SocketException: Socket closed
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:118) ~[?:1.8.0_221]
at java.net.SocketOutputStream.write(SocketOutputStream.java:155) ~[?:1.8.0_221]
at java.io.DataOutputStream.write(DataOutputStream.java:107) ~[?:1.8.0_221]
at java.io.FilterOutputStream.write(FilterOutputStream.java:97) ~[?:1.8.0_221]
at org.openhab.binding.paradoxalarm.internal.communication.AbstractCommunicator.sendPacket(AbstractCommunicator.java:122) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.AbstractCommunicator.communicateToParadox(AbstractCommunicator.java:105) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.AbstractCommunicator.submitRequest(AbstractCommunicator.java:96) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.EvoCommunicator.retrieveZoneLabel(EvoCommunicator.java:150) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.EvoCommunicator.initializeEpromData(EvoCommunicator.java:309) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.EvoCommunicator.initializeData(EvoCommunicator.java:299) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.CommunicationState$8.runPhase(CommunicationState.java:321) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.CommunicationState.runPhase(CommunicationState.java:394) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.CommunicationState.receiveResponse(CommunicationState.java:406) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.CommunicationState$7.lambda$0(CommunicationState.java:305) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_221]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_221]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_221]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_221]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_221]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_221]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_221]
2020-07-15 00:38:30.107 [INFO ] [nal.communication.CommunicationState] - Successfully established communication with the panel.
2020-07-15 00:38:30.401 [INFO ] [nal.communication.CommunicationState] - Login - Login to IP150 - OK
I am sending actual log:
2020-07-15 14:00:08.466 [INFO ] [nal.communication.CommunicationState] - Successfully established communication with the panel.
2020-07-15 14:03:57.538 [INFO ] [l.communication.AbstractCommunicator] - Stopping communication to Paradox system
2020-07-15 14:04:00.714 [INFO ] [nal.communication.CommunicationState] - Login - Login to IP150 - OK
2020-07-15 14:04:11.373 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException: Communicator didn’t go online in defined treshold time. 10000sec. You can still try to reset the bridge with command RESET.
at org.openhab.binding.paradoxalarm.internal.handlers.ParadoxIP150BridgeHandler.doPostOnlineFinalCommunicatorJob(ParadoxIP150BridgeHandler.java:195) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_221]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_221]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_221]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_221]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_221]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_221]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_221]
2020-07-15 14:04:13.869 [INFO ] [nal.communication.CommunicationState] - Successfully established communication with the panel.
It seems, I have solved it.
I changed configuration like max zones = 1 max partision = 1.
Before, conf was max zones = 0 and max partisions = 0.
I have read that 0 means data will be read it from panel (number of zones and number of partisions).
It looks that this is reason of time out. Is it possible?
Hi Isabelle,
I’ve finally got enough time to check the responses and I see where the issue is. I’m not sure why in step7 your Paradox is responding with a 64 byte long packet instead of much shorter one.
Could you please let me know the type of panel, the firmware of your IP150 and firmware of the panel so we can probably try to find a relation?
Meanwhile I will investigate further the packet content if possible…
OK disregard last message. I scrolled a bit up and see that it’s 4.x IP150 and Evo192… It seems that the packets vary from what we expect in STEP6 and 7. The serial response according to a document created by Jean Henning is “IP module not supported”. Not sure if something else needs to be configured from Paradox side for this to work but this looks like an issue coming from the IP150.
I have propblem again. After few days I restarted openhab on my Synology a now Paradox binding is not working.
IP150 is connected but zones and partisions is not communicate (it is working only few minutes atter restart).
After restart I can see error in log:
2020-07-18 14:19:13.733 [ERROR] [ome.core.thing.link.ThingLinkManager] - Exception occurred while informing handler: null
java.lang.NullPointerException: null
at org.openhab.binding.paradoxalarm.internal.handlers.EntityBaseHandler.calculateEntityIndex(EntityBaseHandler.java:111) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.ParadoxZoneHandler.updateEntity(ParadoxZoneHandler.java:44) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.handlers.EntityBaseHandler.handleCommand(EntityBaseHandler.java:95) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:191) ~[?:?]
at org.eclipse.smarthome.core.thing.link.ThingLinkManager.lambda$0(ThingLinkManager.java:267) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_221]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_221]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_221]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_221]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_221]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_221]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_221]
2020-07-18 14:19:16.760 [INFO ] [nal.communication.CommunicationState] - Login - Login to IP150 - OK
2020-07-18 14:19:23.749 [INFO ] [nal.communication.CommunicationState] - Successfully established communication with the panel.
2020-07-18 14:19:31.766 [INFO ] [doxalarm.internal.model.ParadoxPanel] - Paradox system is supported. Panel data retrieved=ParadoxInformation [panelType=EVO192, serialNumber=050336F7, applicationVersion=Version: 2.75.12, hardwareVersion=Version: 0.10, bootloaderVersion=Version: 1.0.15]
Any idea how to solve it?
It works perfectly few days. It comes after restart
so, it not work. It is looks like that it is woking only when I am connecting to IP150 wia web browser.
When I am log out from web browser it will stack connection in openhab. Still connected but status is not updated and no error in log.
Do you have any idea how to solve it?
Hi,
it’s usually the opposite. Paradox does not support more than one connection at a time so when you connect via browser it messes up the other connection. Also when binding is connected you will not be able to connect via babyware.
I would advise that you configure a button which sends RESET command to the binding. With this you can ensure that after you finished your work via browser/Babyware you can reset the binding connection and afterwards it should work as expected. See the examples about how to achieve this.