Try what PAI sends, or babyware. Some bits have unknown function, but are required.
Hi Indrek,
I did a very small change to the header to make it simmilar to PAI and it seems that it works for me on my EVO192. I hope this is the change that is required for EVOHD to be supported. Could you give it a try?
Iāve uploaded a .jar in the same place. Hope it will work for you without much changes.
Cheers,
Konstantin
Hi Konstantin
Still no success. Is there any special requirements for this binding? I dont see any connection information from Babyware.
Best regards
Indrek Reimand
Can you attach fresh logs? I need to see them
To all who may be concerned, the pull request with additional channels for partitions, the limiting parameters for zones and partitions number and updates to the README file is now approved and merged into 2.5.x branch so probably this functionality will come up with next patch of 2.5 branch:
Cheers,
K.
OH-thingHandler-1 2020-01-15 20:32:55.437 [DEBUG] [l.handlers.ParadoxIP150BridgeHandler] - Phase2 - Creating communicator for panel EVOHD
OH-thingHandler-1 2020-01-15 20:32:55.443 [DEBUG] [.communication.ParadoxBuilderFactory] - Creating new builder for Paradox EVOHD system
OH-thingHandler-1 2020-01-15 20:32:55.473 [DEBUG] [l.communication.AbstractCommunicator] - IP Address=192.168.1.58
OH-thingHandler-1 2020-01-15 20:32:55.476 [DEBUG] [l.communication.AbstractCommunicator] - TCP Port=10000
OH-thingHandler-1 2020-01-15 20:32:55.482 [DEBUG] [al.communication.GenericCommunicator] - Use encryption=true
OH-thingHandler-1 2020-01-15 20:32:55.490 [DEBUG] [ternal.communication.EvoCommunicator] - PanelType=EVOHD
OH-thingHandler-1 2020-01-15 20:32:55.492 [DEBUG] [ternal.communication.EvoCommunicator] - Max Zones=50
OH-thingHandler-1 2020-01-15 20:32:55.495 [DEBUG] [ternal.communication.EvoCommunicator] - Max partitions=10
OH-thingHandler-1 2020-01-15 20:32:55.508 [DEBUG] [l.handlers.ParadoxIP150BridgeHandler] - Listeners set to: [org.openhab.binding.paradoxalarm.internal.model.ParadoxPanel@1262ef3, org.openhab.binding.paradoxalarm.internal.handlers.ParadoxIP150BridgeHandler@37d42f]
OH-thingHandler-1 2020-01-15 20:32:55.509 [DEBUG] [al.communication.GenericCommunicator] - Login sequence started
OH-thingHandler-1 2020-01-15 20:32:55.522 [DEBUG] [nal.communication.CommunicationState] - Phase START
OH-thingHandler-1 2020-01-15 20:32:55.544 [WARN ] [nal.communication.CommunicationState] - Login - Connection refused
OH-thingHandler-1 2020-01-15 20:32:55.547 [DEBUG] [l.handlers.ParadoxIP150BridgeHandler] - Communicator not yet online. Reschedulingā¦
OH-thingHandler-2 2020-01-15 20:32:56.548 [DEBUG] [l.handlers.ParadoxIP150BridgeHandler] - Communicator not yet online. Reschedulingā¦
OH-thingHandler-3 2020-01-15 20:32:57.548 [DEBUG] [l.handlers.ParadoxIP150BridgeHandler] - Communicator not yet online. Reschedulingā¦
OH-thingHandler-1 2020-01-15 20:32:58.548 [DEBUG] [l.handlers.ParadoxIP150BridgeHandler] - Communicator not yet online. Reschedulingā¦
OH-thingHandler-4 2020-01-15 20:32:59.548 [DEBUG] [l.handlers.ParadoxIP150BridgeHandler] - Communicator not yet online. Reschedulingā¦
OH-thingHandler-2 2020-01-15 20:33:00.548 [DEBUG] [l.handlers.ParadoxIP150BridgeHandler] - Communicator not yet online. Reschedulingā¦
OH-thingHandler-5 2020-01-15 20:33:01.548 [DEBUG] [l.handlers.ParadoxIP150BridgeHandler] - Communicator not yet online. Reschedulingā¦
OH-thingHandler-3 2020-01-15 20:33:02.548 [DEBUG] [l.handlers.ParadoxIP150BridgeHandler] - Communicator not yet online. Reschedulingā¦
OH-thingHandler-1 2020-01-15 20:33:03.549 [DEBUG] [l.handlers.ParadoxIP150BridgeHandler] - Communicator not yet online. Reschedulingā¦
OH-thingHandler-4 2020-01-15 20:33:04.549 [DEBUG] [l.handlers.ParadoxIP150BridgeHandler] - Communicator not yet online. Reschedulingā¦
OK. I canāt see much here. Did it get through Phase1 and automatically detected your system or you sent EVOHD as parameter?
Can you raise the log level to TRACE and send me again logs?
Be advised that in trace the first packet contains your IP150 password so itās better not to open it to the public. Itās up to you to decide if you want to send it to me or not but I need to see the bytes of packets. Also when you raise to trace there is a lot of info there so I would propose to make it to log in separate file as described above.
Another option would be you to install PAI on your machine and raise the log level to DEBUG and send me only the first 16 bytes of packets from the logs. That is the header and there is no sensitive information there.
Iām very sorry but Iām completely in the dark as I own another system and I donāt know what is expected to happen for EVOHD.
Hello,
Now I can confirm with 2.5.2 snapshot works with EVO192 v7.30 + IP150 v4.42.02.
I can Login to the Panel vial IP150:
[INFO ] [nal.communication.CommunicationState] - Login - Login to IP150 - OK
but thatās it. Several issue:
- my Partitions, zones & panel things are not visible, returning UNKNOWN status
- PaperUI Items scan retur java Error in log
P.S. But one think is little bit confusedā¦ definitions:
Partitions in plugin is actually Zones in babyware
Zones in plugin is actually Areas in babyware
Ed
Hello,
New features which possible can be implemented:
-
Fix Discovery scan into inbox for Things
-
in Read/only mode I assume you can get very important data:
Supply Voltage
Board Voltage
Battery Voltage
possible other system informationā¦ -
It wold be very good to implement PGM management (used in many cases to open/close gates, etc)
-
Arm, Quick arm, Disarmā¦ exit delay status.
-
door access. not sure someone use it.
P.S. any other suggestions/comments?
Ed
Hi @Indrek,
Thanks to @Bl00d_b0b who provided me a full trace level logs, we managed to find a small glitch in the bindingās handling of first packet in IP150 4.x version on his EVO192. Now I fixed that and the binary of the temporary fix is uploaded here: https://github.com/theater/binaries/blob/master/ParadoxAlarm/org.openhab.binding.paradoxalarm-2.5.2-SNAPSHOT.jar
Maybe you can give it a try and let me know if this now works also for your EVOHD so I can decide before I create the pull request if I should leave EVOHD in the supported types or not.
Cheers,
Konstantin
Hello, I have refrehed binding to the latest one. I use 2.5.2 as well. Pls let me know when can I change IP150 to 4.x version. I would upgrade EVO192, IP150 and TM70 together. Iām at the moment on panel: 6.95 and IP150: 1.39.
I wouldnāt recommend doing so, because Ed is having some issues with his configuration even though the logs show that communication to Paradox works fine.
Iāll probably have to try and replicate his own configuration here on my parado to see if really the issue is the binding but from my perspective if communication works fine in the logs and if the rest of the binding works fine on other firmwares (i.e. the openhab binding framework stuff), probably itās a misconfiguration for the items/things at his openhab configuration.
So I figured the issue that Ed has. Itās because of the usage of āthing labelā @ āthing locationā approach. It seems that for this binding it does not work correctly or is not supported when used in a bridge { Thingā¦} type definition the way Iām using it in the README and in my configuation filesā¦
Weirdā¦ I did exactly the same configuration and itās behavior is very inconsistent (Things getting OFFLINE/UNINTIALIZED), etcā¦
What I see different is that youāre missing Bridge label and panel label. Thatās the only difference. Iāll test with that further when I have timeā¦
No, check first two lines. Exactly same as in your example here:
Iāve just not copied the complete bridge line as it contains user name and password.
Yes, after OH restart I usually should restart the binding separately as sometimes one or two zones stays in unknown status. However after that it very stable. Works like a charm. I have openHAB 2.5.2 Build #36 with 2.5.2 latest of your binding.
To everyone who maybe concerned.
Iāve opened a pull request for the encryption support.
Iām stopping developing new features until the PR is approved and merged in the main codebase because we started to gather too many changes and will be a nightmare for reviewers.
Also I expect some changes to be requested and I want to avoid unnecessary merge conflicts with changes that will come with the new features.
Meanwhile if community has further requirements I think this posting by Ed can be used as a starting point for further feature requests.
I will probably invest some more time to develop the requested features deciding based on investment effort vs adoption/usability of the features.
Cheers,
Konstantin
Thanks! If you need any testing pls let me know and I help. I can adjust my system easily back and forth.
2020-02-06 12:53:56.700 [INFO ] [nal.communication.CommunicationState] - Login - Login to IP150 - OK
2020-02-06 12:53:58.433 [INFO ] [nal.communication.CommunicationState] - Successfully established communication with the panel.
==> /var/log/openhab2/events.log <==
2020-02-06 12:53:58.931 [hingStatusInfoChangedEvent] - āparadoxalarm:ip150:6987275dā changed from OFFLINE (BRIDGE_OFFLINE): Device is offline to ONLINE
2020-02-06 12:53:58.934 [hingStatusInfoChangedEvent] - āparadoxalarm:panel:438c976cā changed from OFFLINE (BRIDGE_OFFLINE) to ONLINE
2020-02-06 12:53:58.946 [vent.ItemStateChangedEvent] - ParadoxIP150ModuleConnector_BridgeCommunicationState changed from Offline to Online
==> /var/log/openhab2/openhab.log <==
2020-02-06 12:54:13.602 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.NullPointerException: null
at org.openhab.binding.paradoxalarm.internal.handlers.EntityBaseHandler.initializeDelayed(EntityBaseHandler.java:60) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_222]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
2020-02-06 12:54:13.636 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.NullPointerException: null
at org.openhab.binding.paradoxalarm.internal.handlers.EntityBaseHandler.initializeDelayed(EntityBaseHandler.java:60) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_222]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
2020-02-06 12:54:13.663 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.NullPointerException: null
at org.openhab.binding.paradoxalarm.internal.handlers.EntityBaseHandler.initializeDelayed(EntityBaseHandler.java:60) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_222]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
2020-02-06 12:54:13.675 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.NullPointerException: null
at org.openhab.binding.paradoxalarm.internal.handlers.EntityBaseHandler.initializeDelayed(EntityBaseHandler.java:60) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_222]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
2020-02-06 12:54:21.601 [INFO ] [doxalarm.internal.model.ParadoxPanel] - Paradox system is supported. Panel data retrieved=ParadoxInformation [panelType=EVOHD, serialNumber=0700115A, applicationVersion=Version: 7.17.6, hardwareVersion=Version: 9.-106, bootloaderVersion=Version: 1.6.2]
2020-02-06 12:54:21.636 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.IndexOutOfBoundsException: Index: 8, Size: 8
at java.util.ArrayList.rangeCheck(ArrayList.java:657) ~[?:1.8.0_222]
at java.util.ArrayList.get(ArrayList.java:433) ~[?:1.8.0_222]
at org.openhab.binding.paradoxalarm.internal.model.ParadoxPanel.updateEntitiesStates(ParadoxPanel.java:84) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.model.ParadoxPanel.update(ParadoxPanel.java:144) ~[?:?]
at java.util.Arrays$ArrayList.forEach(Arrays.java:3880) ~[?:1.8.0_222]
at org.openhab.binding.paradoxalarm.internal.communication.GenericCommunicator.updateListeners(GenericCommunicator.java:110) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.EvoCommunicator.receiveRamResponse(EvoCommunicator.java:97) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.GenericCommunicator.receiveResponse(GenericCommunicator.java:131) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.AbstractCommunicator.receivePacket(AbstractCommunicator.java:150) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.AbstractCommunicator.communicateToParadox(AbstractCommunicator.java:103) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.AbstractCommunicator.communicateToParadox(AbstractCommunicator.java:110) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.AbstractCommunicator.submitRequest(AbstractCommunicator.java:96) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.EvoCommunicator.submitRamRequest(EvoCommunicator.java:246) ~[?:?]
at org.openhab.binding.paradoxalarm.internal.communication.EvoCommunicator.refreshMemoryMap(EvoCommunicator.java:235) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_222]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) ~[?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) ~[?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]