Visonic Powermax and Powermaster Integration

Thanks Dave, to be able to test in real condition, I suppose I’ll have to wait until next year and try to pay attention during this special day :wink:

Another issue I have found; but perhaps this is due to my configuration.
Yesterday, I forgot to enter the disarm code when coming back and the alarm was triggered:

To my surprise I didn’t receive a notification.

I have set up Home Assistant to send an email when the Panel Alarm Status is different from None:

- alias: Alarm Triggered
  initial_state: true
  trigger:
  - platform: state
    entity_id: sensor.visonic_panel_alarm_status
  condition:
    condition: template
    value_template: '{{ trigger.to_state.state != ''None'' }}'
  action:
  - service: notify.email_notify

With the sensor defined as this:

sensor:
  - platform: template
    scan_interval: 5
    sensors:
      visonic_panel_alarm_status:
        value_template: "{{ state_attr('alarm_control_panel.visonic_alarm', 'Panel Alarm Status') | title }}"
        friendly_name: 'Panel Alarm Status'

I didn’t set the trigger directly on the siren, because I also wanted to be notified in case of Flooding (and the siren is not triggered in case of Flood).

Looking at the logs, it seems that Home Assistant got somehow confused because it receives several Panel Alarm Status at the same time ?
How could I reliably trigger an automation/notification in case of any change in Panel Alarm Status then ?

Thanks a lot in advance,

On one hand you are correct, on the other hand you should be doing it a different way.

You are correct, the attribute that you use Panel Alarm Status represents the last panel status and in your case the panel sends multiple states in a single message, as such the intruder status gets lost and I’ll take a look to see if I can make it more robust.

However, to get the alarm state you should be doing it a different way. The entity alarm_control_panel.visonic_alarm state changes between the following states:

  • disarmed
  • pending
  • triggered
  • arming
  • armed_home
  • armed_away

There are 3 built in states that I do not use: armed_night, armed_custom_bypass and disarming. I use the built in HA entity Alarm Control Panel as a base entity.

You can use these in an automation like this, using the triggered state when the siren is sounding.

- alias: 'Alarm Siren Triggered Action'
  initial_state: true
  trigger:
  - platform: state
    entity_id: alarm_control_panel.visonic_alarm
    to: triggered

Another way to do this…
I also generate an event in HA when the siren is sounding, this can be used as per the example on the wiki here. See the example 'Alarm Siren Triggered Action'.
If you use the event it contains a lot of data about what caused the alarm that you can use in a notification or an email for example. All the events that I generate are described on the wiki here

Then create multiple automations, look for the flood sensor itself being triggered.

EDIT: or if you want the same action then have multiple triggers in the same automation, 1 trigger from the alarm_control_panel.visonic_alarm being triggered and the other from the sensor itself e.g. binary_sensor.visonic_z02 being set to on

I’ve been running the Visonic Integration successfully on HA using a RPi and SSD for a few years.
Lately I’ve had increased instances of unexplained outages where HA cannot be reached / has crashed.

A bit of forum investigation leads me to suspect memory creep so I’ve been logging the Rpi memory use. It would appear that every time the Visonic alarm is set the memory use jumps by a few % and stays at that level. When the alarm is disarmed the memory use jumps again, but not by as much.
image
This is the trace showing the alarm set last evening then again around 10am this morning, returning shortly before 4pm (the dip is because I have the system reboot at 1am every morning whilst I try to track down the problem). As you see there are jumps corresponding to setting & unsetting.

I’d be interested if anyone can explain why this happens as it contributes to my high memory usage.

TIA

When panel events occur then I create a data package and an Event on the HA Event Bus. I then drop the data that I create so only HA should have a reference to it. I assume that HA provides the garbage collection for unused data. I must admit that I haven’t updated HA to the latest version as I always wait a few weeks for those initial bug fixes to get ironed out.

Speaking of which, it may be a general problem with the latest HA version as defined in these recent links:

I’m not going to do anything at the moment, let’s see what happens with the HA Core first.

Another way to do this…
I also generate an event in HA when the siren is sounding, this can be used as per the example on the wiki here. See the example 'Alarm Siren Triggered Action'.
If you use the event it contains a lot of data about what caused the alarm that you can use in a notification or an email for example. All the events that I generate are described on the wiki here

Thanks ! But if I understand correctly, the above will only work if the detected flood is triggering the siren. My panel is configured as not sounding the siren in case of flood (perhaps I’ll change this setup in the future, but for the moment I’d prefer to receive only a notification in case of flood).

As I have several flood detectors, I wanted to use a general ‘flood’ trigger instead of referencing each sensor (or creating a new sensor based on the others).
Based on your proposal, I am currently testing with:

- alias: Alarm Triggered
  initial_state: true
  trigger:
  - platform: state
    entity_id: sensor.visonic_panel_alarm_status
  - platform: state
    entity_id: sensor.visonic_panel_trouble_status
  - platform: event
    event_type: visonic_alarm_panel_state_update
    event_data:
      condition: 3
  condition:
    condition: or
    conditions:
      - condition: template
        value_template: '{{ trigger.platform == ''state'' and trigger.to_state.state != ''None'' }}'
      - condition: template
        value_template: '{{ trigger.platform == ''event'' }}'

Not sure if this is a really dumb idea to still use the sensor.visonic_panel_alarm_status to find out about flooding instead of the sensors, but it seems to work.
Do you think I should directly reference all flood sensors ? There is no more ‘elegant’ way ?

Thanks a lot

Hi,
I was hoping someone could give some tips on visonic logs/errors. I’ve configured the logger in configuration.yaml and can see the normal HA logs.

I’ve been through the whole Wiki and configured a Wemos D1 (actually two of them as I was unsure if I had an issue with one after hours of trying to get comms working. I have ESPhome installed and can see the output from it, it shows HA connecting to it and me switching the LEDs etc in debug output.
I’ve connected tx to rx and rx to tx in the powermaster panel (and GND), but for the life of me cannot ever get it to detect being connected to the panel and sync. I’ve tried the troubleshooting and connected tx to rx on the board directly to try to get some kind of loopback in the error logs too.
I keep seeing “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)” but I ‘think’ there is some detection going on in the logs, does this make sense to anyone please?:

I have tried various combinations of options, but currently the integrations is set up all as default ( port 10077 and the only thing checked is auto enroll).

Thanks to anyone with any suggestions on where im going wrong!

I used to have this panel connected to a Vera with the rs232 add in and serial to usb converter (the rs232 addon is currently not connected), but not managed to get HA recognising it yet.

And did the loopback work? Please connect Rx to Tx on the Wemos, can you show me a log file of the loopback please. The integration includes a loopback test, if it detects a loopback is outputs log messages for a counter as a test.
Next things to check:

  • Baud rate, have you set the baud rate correctly for your panel in the esphome config?
  • Voltage levels, what visonic panel do you have?

These 2 things are the only things that could be a problem when the loopback test works (apart from getting the wiring wrong). How are you powering the Wemos? Can you take a photograph of the wiring and upload it?

Hi Dave,
Thanks for any guidance.

Here are the images of the connections:


As a new user I can only post one embedded image, so on the IP port at the top (its hard to see in one image) there is an empty pin, my 3 connections and then one more empty pin.

I have a Powermaster 30
baud set to 9600 (This is what I had it set with the RS232 to USB and vera integration)
I have the Wemos connected by the round DC port, spliced into the 12v power supply on the panel.

I’ve just:
Removed the visonic intruder alarm integration
restarted HA
Powered off the Wemos, reconnected the tx and rx together and then powered back on
Installed the Visonic integration.
Log output from that is:

Regards,
Darryl.

Hi,
Lots to go at here…

First of all, the fact that you have a PM30 may indicate that you need to change the Baud rate, depending on the firmware version in the panel. Is there anywhere on a panel label that tells you the firmware version?
EDIT: Could you try it with the baud set to 38400, it will mean reflashing the wemos

Secondly, for the loopback test you have the port set wrong
In your original post the port is 10077 and in the recent log it’s 1077 and it fails to connect. Can you please redo it and upload another loopback test. I assume it’s a typo as you redid the integration in HA.

Thirdly, as you are powering the Wemos from the panels 12v supply then you do not need to connect the Gnd wire from the Wemos to the panel,looks like your grey wire.

And lastly, I can’t quite see from the photograph but the orange wire should be on the centre pin of the 5, is it

I assume so from your description and so if you remove the grey wire then the orange and yellow should be correct.
:slight_smile:

Hi Dave,
Oops, typo on the port that time. I had GND connected, only because nothing was working and someone else trying to get one of these boards working found that adding GND fixed it… Thats now removed again.

The connections much clearer are now here:

No clear way to find the FW without removing that panel off the wall in the hope it might be there.
I’ve reflashed to 38400 to try that baud rate.

Connected TX and RX and loopback successful - see:

Along with these highlighted warnings:

[handle_msgtype0F] LOOPBACK TEST SUCCESS, Counter is 1

19:48:41 – (WARNING) Visonic Intruder Alarm (custom integration) - message first occurred at 19:48:30 and shows up 3 times

[data receiver] Received Unknown PDU 0x24

19:48:33 – (WARNING) Visonic Intruder Alarm (custom integration)

[data receiver] Warning : Construction of incoming packet unknown - Message Type 0X24

19:48:33 – (WARNING) Visonic Intruder Alarm (custom integration)

Integration removed and then HA restarted.
TX connected back to RX and vice versa
Integration readded with all defaults except auto-enroll and download code 5650 selected.

Then this type of result again:

Hope that helps!

Darryl.

It does help me but it means that I won’t be able to help you much more. The 0X24 related warnings are nothing to worry about and happen as part of the loopback test. In the loopback test the counter is incrementing correctly so it looks OK. That means that the integration is connecting to the Wemos correctly and the Wemos is setup correctly (apart from maybe the baud rate).

When the loopback test works there’s a problem somewhere between the Wemos and the panel itself. It’s likely to be one of the following, working our way from the Wemos to the alarm panel:

  • Baudrate. The loopback test will work with any baudrate setting, try it back at 9600. As long as the Tx and Rx on the Wemos are the same (which they always are), then the loopback will work
  • A broken cable. Try the loopback test with the orange and then the yellow cables to make sure they both work
  • The cables aren’t making a good contact with the pins (on the panel)
  • Voltage levels. On a PM30 the voltage levels are 3.3volts (I believe). The Wemos is probably 5volts (I believe) and so you may need a voltage level shifter. Some people seem to have issues with voltage levels but many don’t so it is unlikely to be this, but it could be
  • As you’re using 12v power from within the panel you shouldn’t need to connect the Gnd cable, but try it just in case
  • Lastly, it could be that the panels interface is busted

Do you have the ability to connect it back up to a Vera and try it?
Can you try iy with the gadget that you used with Vera instead of the Wemos?
I know this is a long shot but do you have an oscilloscope or logic analyser to analyse the Tx and Rx signals on the panel?

Keep me updated

Hi Dave,
OK, so I reflashed to 9600 baud
changed the TX/RX cables for new, and ensured good connections
Connected GND
Result:
Visonic - new tx rx cables, GND connected and baud 9600 - Pastebin.com

I cant easily reconnect to Vera, I deleted all the integration from there (I have a CO sensor that due to the age of the visonic plugin, caused comm exceptions and occasional luup reloads as the plugin didn’t recognise it)
No Oscilloscope, but for times like this I wish I had.

Any more suggestions?
I’ve ordered one of these meanwhile → https://www.amazon.co.uk/AZDelivery-Bi-directional-Converter-Raspberry-including/dp/B07V1FY9W5
Update: Ive ordered an second ebay visonic panel, to rule out some board issue.

Regards,
Darryl.

So a small update. I got another panel and connected it up. First try it connected straight away, allowed arm/disarm etc and even asked me about B0 parameter enabling, and I thought the issue was solved. I opened the panel up to power off and connect the phone line, but once powered back up again, no combination of trying powering or removing/adding the panel integration will get any comms from the panel again. I tried a 5->3v signal step down and just got weirdness (I think it was the component. The logs showed detected a powermax (its powermaster) and things like this:

2022-04-28 21:28:59 WARNING (MainThread) [custom_components.visonic.pyvisonic] [data receiver] Warning : Construction of incoming packet unknown - Message Type 0X46
2022-04-28 21:28:59 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [data receiver] Dumping Current PDU 0d 46 3c 2e 51 72 49 8c b2 ef ef d6 9b ac 16 c7 29 2a 63 96 dc df fd f2 39 9b c4 19 72 be b1 e6 e9 c8 2e fc b9 de 0e e1 38 cd d8 be f9 de 91 87 e1 70 14 ec f6 9d ff cf 7e e2 58 36 53 9f 65 91 66 6b 97 2f bf 81 dc d5 bf 6c 9f e7 f9 d0 a9 fa ae bc 83 62 ca 5c 1a a9 0e c3 2e 26 e1 b2 95 ed d3 aa fd 1d b6 e7 85 42 f7 9f a9 5f 7d 76 f2 16 c9 5d 35 7a fe f1 e1 97 b9 b1 9e ca e1 00 2e cc 7f c4 be e7 df 25 de 7f a7 69 79 19 cf 24 b1 8b 51 bf 3b e7 f5 d2 8c 0d e3 8f 5d f7 37 3d dc 3e d6 26 76 57 da bb 80 9c 4b e3 c7 57 4d e6 3e fb c6 eb e7 f9 a0 d9 18 23 33 24 fd 92 b9 4a c3 13 e9

So after trying multiples of everything, i’ve seen reports from someone in the thread that an ESP8266 nodemcu has worked for them. I’ve ordered one of those and hopefully will make more progress (although never programmed one of those before).

Darryl.

Quick question, did you try disconnecting the phone line?

The info is on my wiki here although it wasn’t me that did this.
EDIT: Although the wiki may be out of date for version numbers of software

Hi to all. I tried to connect to my powermaster 10 but I always have connection error. I do not know witch port I have to use. Maybe 30000 is wrong. I do not have admin pwd because I do not install it. But the installer told me that I didn’t change default port.
Can I have another port to try?

Hi djeghe, the wiki says the port is 10077

Hi Dave,
Yes, I disconnected the line.
I have the nodemcu installed but getting no data in the console (followed the wiki info to get this working, the only not 100% clear part was whether I need to add the visonic intruder integration or just copy/paste the visonic device info into configuration.yaml, i’m thinking the latter and using port 23 as displayed on the device?
. Starting to think the voltage in the wemos might be damaging the interface in the visonic panels, so i have a completely different panel on the way i’m going to try connecting only the nodemcu to, thus ruling that out too

Darryl

I wish I could help you, but my experience is with a USB serial adapter communicating with the panel. My experience ends at the text in the product manuals for the WiFi devices. I expect Dave or someone else will eventually show up and offer some suggestions.

The best thing I can tell you is to be mindful of what logic voltage levels appear at your panel versus your interface (whether it’s a WiFi-to-serial converter or a USB adapter). If they are different, the proper solution is to use a logic level translator. I have described this on the original forum page for Dave’s integration in several posts starting at this one:

https://community.home-assistant.io/t/visonic-powermax-and-powermaster-component/55949/351

There are several other posts regarding getting the WiFi-to-serial devices to work properly. The additional detail may be useful. Just scroll through the posts and you’ll see them.

Good luck.

Hi Dave,
I have the panel now registering and working!
For the benefit of everyone else, here are my findings ( for a Powermaster 30 panel ).
Opting to use a Wemos for the easy way to connect relays for siren etc may not be a good idea for this panel.
I opted to power the device using a power cable spliced into the 12v supply for the board. connecting directly to the tx/rx on the panel will either not work for long or (most likely) damage the visonic panel. I also tried using a step down interface to manage the output voltage, but just saw crc errors in the HA logs (and the integration still not working).
Having got nowhere, except many hours of troubleshooting adding/removing integration, trying 2 different wemos boards and two different powermaster 30 panels, I ordered this NodeMCU, another panel and followed the helpful wiki ( Using NodeMCU PowermaxProModel6 · davesmeghead/visonic Wiki · GitHub ) to flash it:
https://www.amazon.co.uk/gp/product/B06Y1ZPNMS/
I found the easiest way was to connect it to the Pi I run HA on.

Once flashed, here is what i did:
Set a static IP on the device and connected it to the same Wifi network Homeassistant is on
Set all pins to disabled, except UART, which is left as normal.
Baud set to 9600 (despite the Powermaster being a v18 firmware panel)
Connected TX to RX, RX to TX , GND and 3.7v to the end 3v pin/GND on the NodeMCU
Then connected the battery on the panel, then connected the DC 12v mains to the panel

I then saw XXXXXXXXXXXXXXXXXX… on the console output of the NodeMCU - finally something!

Then reinstalled the HA Visonic alarm integration and set only:
Ethernet
Static IP of the NodeMCU
Port: 23 in this case (that’s not mega clear in the Wiki for the NodeMCU)
The option to enroll automatically.

Lo and behold, the console was reporting comms, some readable relating to rooms, and some random characters.

Finally the panel shows in, and could be activated and disarmed in HA after waiting a short while for the comms to complete (I set allow arm and disarm and override user code, so that the keypad wasn’t needed in HA).

I’m very sure the Wemos/voltage damaged the other panels RS232 port, as I was getting zero console output via NodeMCU from a panel I had previously connected the Wemos to, and immediate data when i connected a fresh panel.
Hopefully this will save someone connecting a Wemos and damaging the panel or going through a lot of frustration trying to figure out why it wont work. Specifically for me and might be relevant, a Powermaster 30

One thing I have noticed, sometimes I see a warning on the panel “CPU Tamper” like when coming out of installer mode after enrolling devices, despite the panel not being opened. This seems to clear either by itself or after another entry into installer mode or a disarm. Not yet figured out exactly what causes this, but it has only happened since the Nodemcu or Wemos were connected, and happened on multiple panels

I have currently enrolled on my system, a contactless door sensor, 2x PIR, 1x smoke, 1x CO2 (all enrolled after the integrations was working) and see the following as entities, not sure if expected, the binary sensor has appeared as an entity, and nothing else.


UPDATE: I powered off the panel and restarted HA and the other entities/devices then appeared too.

But super happy I can now see the status and control the panel via HA.

I was prompted to enable B0 features, but haven’t yet - couldn’t find a detailed doc on what actually that does or might break.

Thanks again to Dave for giving suggestions that helped me rule out it wasn’t just me doing it wrong" :slight_smile:

Darryl.

Thank you. Now I will try this port