Visonic Powermax and Powermaster Integration

For me I haven’t updated anything since, but I still got regular disconnections:

However each time the connection is re-established shortly after.

[quote=“thermostat, post:82, topic:316702, full:true”]

Ok, I’m currently on core 2021.11.5 and OS 6.6, no issues at all.

Hi,

Let’s deal with this first

As you have a Powermax, when the integration gets the EPROM data from your panel it tries to determine what sensor types you have. It does this first by matching to specific known sensors from the following list:

   0x7A : ZoneSensorType("MCT-550", PySensorType.FLOOD ),      
   0x95 : ZoneSensorType("MCT-302", PySensorType.MAGNET ),   
   0x96 : ZoneSensorType("MCT-302", PySensorType.MAGNET ),   
   0xC0 : ZoneSensorType("Next K9-85", PySensorType.MOTION ),
   0xD3 : ZoneSensorType("Next MCW", PySensorType.MOTION ), 
   0xD5 : ZoneSensorType("Next K9", PySensorType.MOTION ),      
   0xE4 : ZoneSensorType("Next MCW", PySensorType.MOTION ),  
   0xE5 : ZoneSensorType("Next K9-85", PySensorType.MOTION ), 
   0xFF : ZoneSensorType("Wired", PySensorType.WIRED )

If it’s not in that list then it attempts to try and generically define the sensor type as follows:

pmZoneSensorMaxGeneric_t = {
   0x0 : PySensorType.VIBRATION, 
   0x2 : PySensorType.SHOCK, 
   0x3 : PySensorType.MOTION, 
   0x4 : PySensorType.MOTION, 
   0x5 : PySensorType.MAGNET, 
   0x6 : PySensorType.MAGNET, 
   0x7 : PySensorType.MAGNET, 
   0xA : PySensorType.SMOKE, 
   0xB : PySensorType.GAS, 
   0xC : PySensorType.MOTION, 
   0xF : PySensorType.WIRED
}

You have a sensor type 0x75 as defined in this line of your log file

[Process Settings]      i=5 :    VisonicSensorRef=0x75   zoneInfo=0x7   ZTypeName=Perimeter   Chime=Off   SensorType=Magnet   zoneName=Play room

This is not in the first list and so the generic list is used. 0x75 is “binary anded” with 0x0F to produce 0x05 which in the second generic list is a magnetic sensor.

I assume that this is incorrect for your system.
So can you please tell me the model number of the sensor itself and then I can add it to the first list.
So I’ll add a new row in the first list for the sensor, something like this:

   0x75 : ZoneSensorType("The Model You Tell Me", PySensorType.MOTION ),

Hope this makes sense
:slight_smile:

For this:

The integration is working as designed. Looking at the log file the disconnection is something to do with the ethernet connection being closed externally to Home Assistant. The integration gets an exception from the underlying ethernet stack and then attempts to reconnect automatically.
If you use a wifi connection this is quite common, routers only give wifi connections a lease for a certain period of time and then the router triggers a disconnection. Wired connections should be more reliable though, so if you have a wired connection then it might be worth you looking further in to why it is disconnecting.
Having said all that, if you’re happy with it reconnecting and it works for you then why waste any time on it.
Hope this all helps :slight_smile:

Sine HA 2021.12.0 i get the following message in the log for all zones:

2021-12-13 12:42:30 WARNING (MainThread) [homeassistant.helpers.entity] Entity binary_sensor.visonic_z01 (<class 'custom_components.visonic.binary_sensor.VisonicSensor'>) implements device_state_attributes. Please report it to the custom component author.

I assume something needs to be adapted in the custom component and not at my end?

Yeah I’ve seen it, Home Assistant have changed the name from device_state_attributes to extra_state_attributes so I need to update the integration.

1 Like

So yesterday evening I updated HA from 2021.12.0 to 2021.12.1.
After this update my sensors no longer update the state.
They do once after every reboot/reload but then they stop.
I can still control my alarm panel and no errors are shown in the standard log.
Anyone else experiencing the same?

The door has been open multiple times during the period where it states it has been closed.

Edit: Nevermind, I did a panel reset (enter/exit installer mode) and now it seems to behave :smile:

Thanks for the explanation !
I am not sure how I can retrieve the model number for the sensor ?
Here is a screenshot of the back of the sensor:

The connection is by ethernet, so I don’t know why I have disconnection (nothing special is happening on the router, sometimes it is in the middle of the night).
Both devices (the Visonic Panel and the HA Raspberry Pi) have a static IP.
I only mentioned it because it wasn’t like this before updating HA and the Visonic Integration: I never had any disconnection, so I thought it would be worth mentioning (in case other people have the same issue).

Thanks for your help !

Hi Dave,

I,ve been using your plugin since the beginning, and it has always been working flawlessly. However, the last few months I am expierincing some communication issues and the plugin just stops working. This is the notofocation i get in the front panel:

“Integration Suspended - Failed to connect to your Visonic Alarm. We have not received any data from the panel”. After hass restart it always works again. Then after a few days, the same thing happens.

I have tried debugging, but never managed to actually capture the moment (logs where gettign too big). Last night i finally captured it:

2021-12-19 02:59:29 DEBUG (MainThread) [custom_components.visonic.client] No Code Required as powerlink or std plus ********
2021-12-19 02:59:32 DEBUG (MainThread) [custom_components.visonic.client] No Code Required as powerlink or std plus ********
2021-12-19 02:59:40 ERROR (SyncWorker_33) [homeassistant.components.influxdb] Cannot connect to InfluxDB due to 'HTTPConnectionPool(host='192.168.1.249', port=8086): Max retries exceeded with url: /write?db=home_assistant (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fd1f09a1e20>: Failed to establish a new connection: [Errno 111] Connection refused'))'. Please check that the provided connection details (host, port, etc.) are correct and that your InfluxDB server is running and accessible. Retrying in 60 seconds.
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Resetting expected response counter, it got to 26   Response list length before 0  after 1
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Get Bypass Status)    raw data 0d a2 00 00 20 00 00 00 00 00 00 00 43 f9 0a    waiting for message response ['0XA5']
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype02] Ack Received  data = 43 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [data receiver] msgType 0XA5 got it so removed from list, list is now []
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [data receiver] msgType 0XA5 resetting expected response counter, it got up to 0
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA5] Parsing A5 packet 00 06 7f dd 33 00 00 00 00 00 43 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic] =============================================== Display Status ===============================================
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 0  Sensor id=1  dname=Z01  stype=Magnet   zname=Front door     ztypeName=Delay 1    ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 1  Sensor id=2  dname=Z02  stype=Magnet   zname=Front door     ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 2  Sensor id=3  dname=Z03  stype=Magnet   zname=Back door      ztypeName=Delay 1    ztamper=0  ztrip=1  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 3  Sensor id=4  dname=Z04  stype=Magnet   zname=Back door      ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 4  Sensor id=5  dname=Z05  stype=Motion   zname=Laundry room   ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 5  Sensor id=6  dname=Z06  stype=Magnet   zname=Laundry room   ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 6  Sensor id=7  dname=Z07  stype=Magnet   zname=Custom 5       ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 8  Sensor id=9  dname=Z09  stype=Motion   zname=Kitchen        ztypeName=Perimeter- ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 10 Sensor id=11 dname=Z11  stype=Magnet   zname=Custom 2       ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 11 Sensor id=12 dname=Z12  stype=Magnet   zname=Custom 3       ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 12 Sensor id=13 dname=Z13  stype=Magnet   zname=Master bedroom ztypeName=Interior   ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 14 Sensor id=15 dname=Z15  stype=Motion   zname=Play room      ztypeName=Interior   ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 15 Sensor id=16 dname=Z16  stype=Motion   zname=Upstairs       ztypeName=Interior   ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 16 Sensor id=17 dname=Z17  stype=Motion   zname=Child room     ztypeName=Interior   ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 17 Sensor id=18 dname=Z18  stype=Magnet   zname=Garage door    ztypeName=Non-Alarm  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 20 Sensor id=21 dname=Z21  stype=Magnet   zname=Custom 4       ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 21 Sensor id=22 dname=Z22  stype=Magnet   zname=Living room    ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]    Model PowerMax Pro Part      PowerMaster No                     LastEvent General Restore / System     Ready   Yes          
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic]    Mode  Powerlink              Status      Disarmed               Armed     No                     Trouble None              AlarmStatus None        
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic] ==============================================================================================================
2021-12-19 02:59:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Ack)    raw data 0d 02 fd 0a    waiting for message response []
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeAB]  data 03 00 1e 00 31 2e 30 36 00 00 43 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeAB] ***************************** Got PowerLink Keep-Alive ****************************
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic] =============================================== Display Status ===============================================
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 0  Sensor id=1  dname=Z01  stype=Magnet   zname=Front door     ztypeName=Delay 1    ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 1  Sensor id=2  dname=Z02  stype=Magnet   zname=Front door     ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 2  Sensor id=3  dname=Z03  stype=Magnet   zname=Back door      ztypeName=Delay 1    ztamper=0  ztrip=1  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 3  Sensor id=4  dname=Z04  stype=Magnet   zname=Back door      ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 4  Sensor id=5  dname=Z05  stype=Motion   zname=Laundry room   ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 5  Sensor id=6  dname=Z06  stype=Magnet   zname=Laundry room   ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 6  Sensor id=7  dname=Z07  stype=Magnet   zname=Custom 5       ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 8  Sensor id=9  dname=Z09  stype=Motion   zname=Kitchen        ztypeName=Perimeter- ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 10 Sensor id=11 dname=Z11  stype=Magnet   zname=Custom 2       ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 11 Sensor id=12 dname=Z12  stype=Magnet   zname=Custom 3       ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 12 Sensor id=13 dname=Z13  stype=Magnet   zname=Master bedroom ztypeName=Interior   ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 14 Sensor id=15 dname=Z15  stype=Motion   zname=Play room      ztypeName=Interior   ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 15 Sensor id=16 dname=Z16  stype=Motion   zname=Upstairs       ztypeName=Interior   ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 16 Sensor id=17 dname=Z17  stype=Motion   zname=Child room     ztypeName=Interior   ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 17 Sensor id=18 dname=Z18  stype=Magnet   zname=Garage door    ztypeName=Non-Alarm  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 20 Sensor id=21 dname=Z21  stype=Magnet   zname=Custom 4       ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 21 Sensor id=22 dname=Z22  stype=Magnet   zname=Living room    ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]    Model PowerMax Pro Part      PowerMaster No                     LastEvent General Restore / System     Ready   Yes          
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic]    Mode  Powerlink              Status      Disarmed               Armed     No                     Trouble None              AlarmStatus None        
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic] ==============================================================================================================
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Ack Long)    raw data 0d 02 43 ba 0a    waiting for message response []
2021-12-19 02:59:59 DEBUG (MainThread) [custom_components.visonic.client] No Code Required as powerlink or std plus ********
2021-12-19 03:00:02 DEBUG (MainThread) [custom_components.visonic.client] No Code Required as powerlink or std plus ********
2021-12-19 03:12:59 ERROR (MainThread) [custom_components.visonic.pyvisonic] [Controller] Visonic Plugin has suspended all operations, there is a problem with the communication with the panel (i.e. data has not been received from the panel in 600 seconds)
2021-12-19 03:12:59 DEBUG (MainThread) [custom_components.visonic.client] Visonic update event 10 {'condition': 10}
2021-12-19 03:12:59 DEBUG (MainThread) [custom_components.visonic.client] Code Required
2021-12-19 03:13:24 DEBUG (MainThread) [custom_components.visonic.client] Code Required
2021-12-19 03:13:32 ERROR (SyncWorker_31) [homeassistant.components.influxdb] Cannot connect to InfluxDB due to 'HTTPConnectionPool(host='192.168.1.249', port=8086): Max retries exceeded with url: /write?db=home_assistant (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fd1f03fff70>: Failed to establish a new connection: [Errno 111] Connection refused'))'. Please check that the provided connection details (host, port, etc.) are correct and that your InfluxDB server is running and accessible. Retrying in 60 seconds.
2021-12-19 03:13:54 DEBUG (MainThread) [custom_components.visonic.client] Code Required
2021-12-19 03:14:24 DEBUG (MainThread) [custom_components.visonic.client] Code Required

Im afraid you cant say anything more than the log says: there is somekind of connection error between hass and the panel? any ideas?

regards,

Oliver

I have just uploaded a minor release to Github, this release should also be available through HACS.

0.6.12.2 minor update for HA changes and a new sensor type.
There are 2 minor changes in this release:

  • HA have changed a function name and this is giving a warning in the log files. I’m sure that HA keep changing (tweaking) the API for integrations just to keep developers like me maintaining the integrations :slight_smile:
  • A new PIR sensor has been added for PowerMax panels.

It’s the “P/N” Part Number and the "Model: … " text that I needed, thankyou. This is the sensor that I’ve added to specifically create it as a PIR and not a magnet sensor so hopefully this works for everyone and doesn’t cause anyone else issues. It’s always a risk as linking the EPROM code for the sensor (0x75 hex) to a specific sensor for everyone in the world may not be correct.

To all that celebrate Christmas, Merry Christmas.

Hi Oliver,

This is a weird one, after looking at your log there is no communication for 12 minutes and 57 seconds after which the integration declares that it has lost communication. I would expect to see more log file entries in that time. For example, the integration asks the panel for updates and status if it doesn’t receive a powerlink keep-alive message after a few minutes. The 2nd problem I see is that the integration doesn’t do anything else about it, it just shows that 1 log entry and then carries on. So I would also expect to see more log entries from my integration after the 2021-12-19 03:12:59 time point.

I’m confused :frowning:

I don’t think that it’s a communication/network problem or an integration problem, my feeling is that it is a problem with Home Assistant or the operating system, or perhaps from another integration in your setup. Home Assistant completely relies on a Python mechanism called asyncio. This is a single thread (not parallel) of execution but it is shared across all things that need to run, including all integrations. It looks like HA stops giving any CPU time to the visonic integration and the only reason I can think of for this is higher priority things are happening in HA (or other integrations).

I suggest that you try 2 things. First of all, is there any way that you can record the CPU usage, does it max out during the time this keeps happening? Secondly, enable debug logging for all of HA. This will create very large log files but might give you an idea of what happens in that 12 minute 57 second period of time.

I’ll see if I can try recording cpu usage, ha runs in docker on an ubuntu vm with esxi as hypervisor. I woud be surprised if cpu is the issue. I will also enable debug logs, but as you said, I think this we create very very very large log files (after a reboot it can take several days for the issue to arise).

edit: ok, debug all is impossible. Within 30min my logfile was 400MB. I set the default logging on info for now, hoping that will provide any info if the issue happens.

Any idea how to rotate logs when it hits a certain size in docker?

Edit: After 10 days , it happened again. but nothing from the error logs. Again, 12 minutes of nothing before the integration gets suspended. This is really annoying. I have no idea how to capture this, because 10 days of debug logs cannot be done.

Hello,

I’d like to integrate my Powermax Pro into HA.

On a very brief test I was able to wire up a serial TTL to USB and by running the simple_example.py to see the current status on the output log. Status changes like arm, door Open/close are also seen on script’s output.

For this I didn’t had to change anything in Powermax Pro’s installer menu regarding the powerlink enrolnment. In fact I don’t know the installation mode access code as the installer didn’t gave it to me at that time and I’m unable to reach him.

I’ve tried to run the complete_example.py script but it didn’t worked as it complains about the missing aconsole lib. I’ve executed the requirements command beforehand.

Questions:

  1. having successfully retrieved the alarm state through simple_example.py does can I assume that I don’t need to enroll the powerlink on the installation menu and I can live without knowing the installer’s code, or it will always be necessay?

  2. Can it operate without the enrolnment in order just to read the state, receive alarms but to no arm/disarm. This would be at least a minimal use case for me

  3. what can I do to fix the missing aconsole dependency?

I trying to figure out if under these circumstances it worths further efforts in my setup and to Invest on a wireless hardware for this matter as a wired solution is a deal breaker for me. I cannot have my homeassistant box wired Next to the alarm on order to test the integration before buuying a Node MCU so that’s I need to know this beforehand.

Thanks for the great work.

Hi,
A quick post to announce that I’ve officially added this integration to HACS, they have kindly merged this integration in to their list. To install this integration you first need to install HACS (from within the Home Assistant integrations page) and then search for it in the list of HACS integrations.
:slight_smile:

Hi,

This will mean that you cannot manually enroll your panel, as described in the last bullet of this section and here on the wiki you need to be in the installer menu.

That means that you will only be ever able to achieve Standard Plus. This is OK but it does not include the PowerLink “i’m alive” protocol from the panel which makes it slightly less reliable over a long period of time.

It should get as far as Standard Plus and will timeout when waiting for the manual enroll request from your panel.

If it gets to Standard Plus you should still be able to arm/disarm as well.

Did you install the correct version of aconsole? version 0.0.8 as it says in the requirements.txt file?
See here on the wiki.

If you can’t get the installer code then you have 2 options:

  • Hard reset your panel and literally start again, re-enrolling all your sensors etc
  • Only achieve Standard Plus and not Powerlink. As I said, this is generally OK and almost provides the same capability from within Home Assistant, it just doesn’t include the full handshake capability. Your alarm panel will “dumbly” respond to commands rather than in an intelligent way.

If you are concerned than try to get aconsole working and use the command interface to give it a try

Good luck

EDIT: Forgot to mention, Powerlink mode is more reliable when the alarm is triggered and the siren is sounding. In Standard Plus, I have to infer the alarm state from other information. The 3 modes I use for this integration are described here on the wiki.

EDIT2: Have you tried the default installer code? 9999

EDIT3: If you can’t find the installer code, PM me and there’s a way to get it :slight_smile:

OK, I’m stumped and need some help. Thanks for this integration - really looking forward to ‘hopefully’ getting it working :slight_smile:

I moved into a house which has a Visonic Powermax Complete unit installed. I have decided to go for the Wemos method and followed your guide flashed the Wemos with ESP and added to HA. In HA I can switch the blue lights on/off so I can see this is working OK. I then connect the Wemos to the panel and I ‘think’ I have it connected properly; but on adding the integration through HACS and then configuring I get the notification that it cannot connect to the alarm panel and therefore is not getting configured in HA.

I tried a loopback test to check the Wemos which I think looks successful:

2022-01-04 09:56:22 DEBUG (MainThread) [custom_components.visonic.client] init self.config = PyConfiguration.DownloadCode  {'type': 'ethernet', 'host': '192.168.1.90', 'port': '10077', 'language': 'EN', 'force_standard': False, 'force_autoenroll': True, 'sync_time': True, 'download_code': '', 'exclude_sensor': [], 'exclude_x10': [], 'motion_off': 120, 'siren_sounding': ['intruder'], 'panel_state_notifications': ['connectionproblem', 'sirensounding'], 'arm_without_usercode': False, 'force_numeric_keypad': False, 'arm_away_instant': False, 'arm_home_instant': False, 'allow_remote_arm': True, 'allow_remote_disarm': True, 'allow_sensor_bypass': False, 'override_code': '4612', 'panellog_logentry_event': False, 'panellog_complete_event': False, 'panellog_reverse_order': False, 'panellog_csv_add_title_row': False, 'panellog_xml_filename': 'visonic_log_file.xml', 'panellog_csv_filename': 'visonic_log_file.csv', 'panellog_max_entries': 10000}
2022-01-04 09:56:22 DEBUG (MainThread) [custom_components.visonic.client] Exclude sensor list = []     Exclude x10 list = []
2022-01-04 09:56:22 DEBUG (MainThread) [custom_components.visonic.client] connect_to_alarm self.config = {'type': 'ethernet', 'host': '192.168.1.90', 'port': '10077', 'language': 'EN', 'force_standard': False, 'force_autoenroll': True, 'sync_time': True, 'download_code': '', 'exclude_sensor': [], 'exclude_x10': [], 'motion_off': 120, 'siren_sounding': ['intruder'], 'panel_state_notifications': ['connectionproblem', 'sirensounding'], 'arm_without_usercode': False, 'force_numeric_keypad': False, 'arm_away_instant': False, 'arm_home_instant': False, 'allow_remote_arm': True, 'allow_remote_disarm': True, 'allow_sensor_bypass': False, 'override_code': '4612', 'panellog_logentry_event': False, 'panellog_complete_event': False, 'panellog_reverse_order': False, 'panellog_csv_add_title_row': False, 'panellog_xml_filename': 'visonic_log_file.xml', 'panellog_csv_filename': 'visonic_log_file.csv', 'panellog_max_entries': 10000}
2022-01-04 09:56:22 DEBUG (MainThread) [custom_components.visonic.client] Visonic Connection Device Type is ethernet {<PyConfiguration.DownloadCode: 0>: '', <PyConfiguration.ForceStandard: 9>: False, <PyConfiguration.ForceAutoEnroll: 1>: True, <PyConfiguration.AutoSyncTime: 2>: True, <PyConfiguration.PluginLanguage: 3>: 'EN', <PyConfiguration.MotionOffDelay: 4>: 120, <PyConfiguration.SirenTriggerList: 5>: ['intruder'], <PyConfiguration.B0_Enable: 6>: False, <PyConfiguration.B0_Min_Interval_Time: 7>: 5, <PyConfiguration.B0_Max_Wait_Time: 8>: 30}
2022-01-04 09:56:22 DEBUG (MainThread) [custom_components.visonic.pyvisonic] Setting TCP socket Options
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] Initialising Protocol - Using Home Assistant Loop
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] Force Standard set to False
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] Force Auto Enroll set to True
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] Force Auto Sync Time set to True
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] Language set to EN
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] Motion Off Delay set to 120
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] Siren Trigger List set to ['intruder']
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] B0 Enable set to False
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] B0 Min Interval set to 5
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] B0 Max Wait Time set to 30
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Connection] Connected to local Protocol handler and Transport Layer
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_clearList] Setting queue empty
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [StartDownload] Starting download mode
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response []
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu]          Command has a wait time after transmission 1.5
2022-01-04 09:56:23 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Controller] download_counter is 1
2022-01-04 09:56:23 WARNING (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype0F] LOOPBACK TEST SUCCESS, Counter is 1
2022-01-04 09:56:24 DEBUG (MainThread) [custom_components.visonic.client] ........... connection made
2022-01-04 09:56:24 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Stop)    raw data 0d 0b f4 0a    waiting for message response []
2022-01-04 09:56:24 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu]          Command has a wait time after transmission 1.5
2022-01-04 09:56:24 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype0B] Stop    data is 
2022-01-04 09:56:26 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Ack)    raw data 0d 02 fd 0a    waiting for message response []
2022-01-04 09:56:26 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Resetting expected response counter, it got to 0   Response list length before 0  after 1
2022-01-04 09:56:26 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype02] Ack Received  data = 
2022-01-04 09:56:26 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Setting Download Mode to true
2022-01-04 09:56:26 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Start Download Mode)    waiting for message response ['0X3C']
2022-01-04 09:56:26 WARNING (MainThread) [custom_components.visonic.pyvisonic] [data receiver] Warning : Construction of incoming packet unknown - Message Type 0X24
2022-01-04 09:56:26 WARNING (MainThread) [custom_components.visonic.pyvisonic] [data receiver] Received Unknown PDU 0x24
2022-01-04 09:56:26 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Ack)    raw data 0d 02 fd 0a    waiting for message response ['0X3C']
2022-01-04 09:56:26 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype02] Ack Received  data = 
2022-01-04 09:56:29 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_clearList] Setting queue empty
2022-01-04 09:56:29 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response []
2022-01-04 09:56:29 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu]          Command has a wait time after transmission 1.5
2022-01-04 09:56:29 WARNING (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype0F] LOOPBACK TEST SUCCESS, Counter is 2
2022-01-04 09:56:34 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_clearList] Setting queue empty
2022-01-04 09:56:34 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response []
2022-01-04 09:56:34 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu]          Command has a wait time after transmission 1.5
2022-01-04 09:56:34 WARNING (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype0F] LOOPBACK TEST SUCCESS, Counter is 3
2022-01-04 09:56:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_clearList] Setting queue empty
2022-01-04 09:56:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response []
2022-01-04 09:56:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu]          Command has a wait time after transmission 1.5
2022-01-04 09:56:39 WARNING (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype0F] LOOPBACK TEST SUCCESS, Counter is 4
2022-01-04 09:56:43 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.samsung_tv_remote is taking over 10 seconds
2022-01-04 09:56:44 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_clearList] Setting queue empty
2022-01-04 09:56:44 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response []
2022-01-04 09:56:44 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu]          Command has a wait time after transmission 1.5
2022-01-04 09:56:44 WARNING (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype0F] LOOPBACK TEST SUCCESS, Counter is 5ing
2022-01-04 09:56:49 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_clearList] Setting queue empty
2022-01-04 09:56:49 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response []
2022-01-04 09:56:49 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu]          Command has a wait time after transmission 1.5
2022-01-04 09:56:49 WARNING (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype0F] LOOPBACK TEST SUCCESS, Counter is 6
2022-01-04 09:56:49 INFO (MainThread) [aioesphomeapi.reconnect_logic] Successfully connected to 192.168.1.90 @ 192.168.1.90
2022-01-04 09:56:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_clearList] Setting queue empty
2022-01-04 09:56:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response []
2022-01-04 09:56:54 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu]          Command has a wait time after transmission 1.5
2022-01-04 09:56:54 WARNING (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype0F] LOOPBACK TEST SUCCESS, Counter is 7
2022-01-04 09:56:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_clearList] Setting queue empty
2022-01-04 09:56:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response []
2022-01-04 09:56:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu]          Command has a wait time after transmission 1.5
2022-01-04 09:56:59 WARNING (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype0F] LOOPBACK TEST SUCCESS, Counter is 8
2022-01-04 09:57:04 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_clearList] Setting queue empty
2022-01-04 09:57:04 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response []
2022-01-04 09:57:04 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu]          Command has a wait time after transmission 1.5
2022-01-04 09:57:04 WARNING (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype0F] LOOPBACK TEST SUCCESS, Counter is 9

Wiring into the panel looks like this:


With the 3rd wire on the unit (TX going to the RX on the wemos, and 4th RX going to the TX on the wemos)

The debug logging shows the following (filtered on just the Visonic stuff):

2022-01-04 10:36:13 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration visonic which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-04 10:43:21 DEBUG (MainThread) [custom_components.visonic.pyvisonic] Initialising Protocol - Protocol Version 1.0.12.2
2022-01-04 10:43:21 DEBUG (MainThread) [custom_components.visonic.client] Initialising Client - Version 0.6.13.0
2022-01-04 10:43:21 DEBUG (MainThread) [custom_components.visonic.config_flow] Visonic ConfigFlow init
2022-01-04 10:43:21 DEBUG (MainThread) [custom_components.visonic.config_flow] Visonic async_step_user
2022-01-04 10:43:21 DEBUG (MainThread) [custom_components.visonic.config_flow] Visonic in async_step_user - trigger user input
2022-01-04 10:43:22 DEBUG (MainThread) [custom_components.visonic.config_flow] async_step_device {'type': 'Ethernet'}
2022-01-04 10:47:09 DEBUG (MainThread) [custom_components.visonic.config_flow] Visonic ConfigFlow init
2022-01-04 10:47:09 DEBUG (MainThread) [custom_components.visonic.config_flow] Visonic async_step_user
2022-01-04 10:47:09 DEBUG (MainThread) [custom_components.visonic.config_flow] Visonic in async_step_user - trigger user input
2022-01-04 10:47:10 DEBUG (MainThread) [custom_components.visonic.config_flow] async_step_device {'type': 'Ethernet'}
2022-01-04 10:49:38 DEBUG (MainThread) [custom_components.visonic.config_flow] Detected a powermax so not asking about B0 parameters
2022-01-04 10:49:38 INFO (MainThread) [homeassistant.setup] Setting up visonic
2022-01-04 10:49:38 INFO (MainThread) [homeassistant.setup] Setup of domain visonic took 0.0 seconds
2022-01-04 10:49:38 DEBUG (MainThread) [custom_components.visonic.client] init self.config = PyConfiguration.DownloadCode  {'type': 'ethernet', 'host': '192.168.1.90', 'port': '10077', 'language': 'EN', 'download_code': '5650', 'force_standard': False, 'force_autoenroll': True, 'sync_time': True, 'exclude_sensor': [], 'exclude_x10': [], 'motion_off': 120, 'siren_sounding': ['intruder'], 'panel_state_notifications': ['connectionproblem', 'sirensounding'], 'override_code': '4612', 'arm_without_usercode': False, 'force_numeric_keypad': False, 'arm_away_instant': False, 'arm_home_instant': False, 'allow_remote_arm': True, 'allow_remote_disarm': True, 'allow_sensor_bypass': False, 'panellog_logentry_event': False, 'panellog_complete_event': False, 'panellog_reverse_order': False, 'panellog_csv_add_title_row': False, 'panellog_xml_filename': 'visonic_log_file.xml', 'panellog_csv_filename': 'visonic_log_file.csv', 'panellog_max_entries': 10000}
2022-01-04 10:49:38 DEBUG (MainThread) [custom_components.visonic.client] Exclude sensor list = []     Exclude x10 list = []
2022-01-04 10:49:38 DEBUG (MainThread) [custom_components.visonic.client] connect_to_alarm self.config = {'type': 'ethernet', 'host': '192.168.1.90', 'port': '10077', 'language': 'EN', 'download_code': '5650', 'force_standard': False, 'force_autoenroll': True, 'sync_time': True, 'exclude_sensor': [], 'exclude_x10': [], 'motion_off': 120, 'siren_sounding': ['intruder'], 'panel_state_notifications': ['connectionproblem', 'sirensounding'], 'override_code': '4612', 'arm_without_usercode': False, 'force_numeric_keypad': False, 'arm_away_instant': False, 'arm_home_instant': False, 'allow_remote_arm': True, 'allow_remote_disarm': True, 'allow_sensor_bypass': False, 'panellog_logentry_event': False, 'panellog_complete_event': False, 'panellog_reverse_order': False, 'panellog_csv_add_title_row': False, 'panellog_xml_filename': 'visonic_log_file.xml', 'panellog_csv_filename': 'visonic_log_file.csv', 'panellog_max_entries': 10000}
2022-01-04 10:49:38 DEBUG (MainThread) [custom_components.visonic.client] Visonic Connection Device Type is ethernet {<PyConfiguration.DownloadCode: 0>: '5650', <PyConfiguration.ForceStandard: 9>: False, <PyConfiguration.ForceAutoEnroll: 1>: True, <PyConfiguration.AutoSyncTime: 2>: True, <PyConfiguration.PluginLanguage: 3>: 'EN', <PyConfiguration.MotionOffDelay: 4>: 120, <PyConfiguration.SirenTriggerList: 5>: ['intruder'], <PyConfiguration.B0_Enable: 6>: False, <PyConfiguration.B0_Min_Interval_Time: 7>: 5, <PyConfiguration.B0_Max_Wait_Time: 8>: 30}
2022-01-04 10:49:38 DEBUG (MainThread) [custom_components.visonic.pyvisonic] Setting TCP socket Options
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] Initialising Protocol - Using Home Assistant Loop
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] Force Standard set to False
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] Force Auto Enroll set to True
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] Force Auto Sync Time set to True
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] Download Code set to 56 50
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] Language set to EN
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] Motion Off Delay set to 120
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] Siren Trigger List set to ['intruder']
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] B0 Enable set to False
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] B0 Min Interval set to 5
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Settings] B0 Max Wait Time set to 30
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Connection] Connected to local Protocol handler and Transport Layer
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_clearList] Setting queue empty
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [StartDownload] Starting download mode
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response []
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu]          Command has a wait time after transmission 1.5
2022-01-04 10:49:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Controller] download_counter is 1
2022-01-04 10:49:40 DEBUG (MainThread) [custom_components.visonic.client] ........... connection made
2022-01-04 10:49:40 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Controller] download_counter is 2
2022-01-04 10:49:41 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Stop)    raw data 0d 0b f4 0a    waiting for message response []
2022-01-04 10:49:41 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu]          Command has a wait time after transmission 1.5
2022-01-04 10:49:41 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Controller] download_counter is 3
2022-01-04 10:49:42 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Resetting expected response counter, it got to 3   Response list length before 0  after 1
2022-01-04 10:49:42 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Setting Download Mode to true
2022-01-04 10:49:42 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Start Download Mode)    waiting for message response ['0X3C']
2022-01-04 10:49:46 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [Controller] Trigger Panel Download Attempt - Not yet received the panel details
2022-01-04 10:49:46 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [StartDownload] Starting download mode
2022-01-04 10:49:46 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Resetting expected response counter, it got to 5   Response list length before 0  after 1
2022-01-04 10:49:46 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Setting Download Mode to true
2022-01-04 10:49:46 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Start Download Mode)    waiting for message response ['0X3C']
2022-01-04 10:50:09 ERROR (MainThread) [custom_components.visonic.pyvisonic] [Controller] Visonic Plugin has suspended all operations, there is a problem with the communication with the panel (i.e. no data has been received from the panel)
2022-01-04 10:50:09 DEBUG (MainThread) [custom_components.visonic.client] Visonic update event 10 {'condition': 10}

I have tried to go into the installer menu, but as this is a maintained unit I don’t have the code (I tried the defaults so the installer must have set their own code).

Any ideas what I’ve done wrong? Thanks and appreciate any assistance that can be given.

Could anyone help me with adding this notification in Node Red? I have all my automations in Node Red using the home assistant node red addon (but cant say I am an expert) and am struggling with what node(s) to use to listen for this event (and then trigger a notification using the same syntax Dave has used to identify the sensor that triggered the alarm in the notification. If anyone has set this up and has a screenshot they could share, that would be greatly appreciated. Thanks

Hi,

That looks like the loopback test is working OK.

The Tx/Rx wiring looks OK.

Just a couple of ideas.
You don’t mention how you are powering the Wemos. I assume that you’re using power from the panel for the Wemos (and not a USB supply) so they have a common ground signal?
The Wemos will have 5 volt signalling on its Tx and Rx pins. The only thing I can think of is that the Tx and Rx levels for your panel type may be 3.3 volt and you may need to level shift them. But I’m not sure.

Thanks @davesmeghead
Is the power source that important? I’m actually powering it from the USB… Maybe naively I thought you were suggesting to power from the Visonic for convenience rather than necessity. If I get the Jack plug with bare wires do I just pull the current white power connector out of the 12v input on the unit… pull the wires out of the connector, twizzle the ends together with the jack plug and push them back in the white block to connect back into the unit?

As you can tell, I’m not an electronics expert, but tinker as-and-when needed. Really appreciate the help and apologies for being old and naive :slight_smile:

Yes it is. Before I say what you need to do, I just need you to confirm the following:

  • You only have 2 wires connected between the Wemos and the panel, for Rx and Tx as per your diagram.
  • You are powering the Wemos from a USB Mains socket that is independant of your panel

If these are both true then you will need to connect a ground cable from a gnd pin on the Wemos to the gnd pin on the panels connector.

You caught me :rofl:
That’s exactly how I’m doing it. Ok, so I’ve connected the 3rd pin on the unit to what I think it’s the GND on the wemos (looks like it covers 2 pins, so I’ve just gone for the first)

… Edit. And now it’s appearing in HA! You sir are a genius! Now to work out what I can do with this. Thank you so much!