Visonic Powermax and Powermaster Component

The Visonic Powermax Software does not connect in Powerlink. It accesses the EPROM in the panel by download and upload mechanisms. When you use the panel menu to change settings, all the data is stored in this EPROM. The Visonic Powermax Software is for a Visonic qualified installer to set these settings easily without using the panels menu system.

Yes, but again:

So, it’s going BACK to armed_away, instead of the alarm is activated?

That’s my problem, which i found very odd :slight_smile:

Upload a log file and I’ll take a detailed look, see what the panel status actually is and see if there’s something wrong with my component code :smile:

Is it possible to use the node-MCU connection with powermax +?

Hi Dave.

I’ve updated the files and had a few issues. FYI, I’m on Release 0.109.1.

The first is an easy one to fix. Apparently, there was a change in the name of the language file subdirectory. Instead of .translations it should be translations (no leading ‘.’). I think all that’s needed is to change the directory name in the distribution.

The second issue was that prior to HA Restart, the check configuration validation failed for the panellog entries. This inhibited a restart until they were commented out.

The third issue is that there is no Visonic instance on my HA Integrations UI. I can see a line item for the integration in the Developer Tools>INFO list, but no integration appears on the list when clicking the (+) on the Integrations UI.

Otherwise, everything is still functional.

Yeah, I got that warning in my log file as well after updating to 0.109.1. It will work as it is, it means that when HA goes to 0.111 it won’t work. I’ll update it though so we’re ready.

Can you let me know what panel log entries you have in your configuration.yaml file. This is an area that I have had to alter to incorporate the integration so it is likely a change that I’ve made. I use these as it works for me :slight_smile:

  panellog_logentry_event: yes
  panellog_csv_add_title_row: yes
  panellog_xml_filename: 'panel_log.xml'
  panellog_csv_filename: 'panel_log.csv'
  panellog_complete_event: yes
  panellog_reverse_order: yes
  panellog_max_entries: 10

I have no idea what’s wrong, are there any clues in the log file?
This is what mine looks like

EDIT: I forgot that I edited the manifest locally, it might say “Visonic Intruder Alarm - PowerMax and PowerMaster Series” instead

Here’s what’s in the configuration file:

visonic:
  device:
    type: usb
    path: !secret Visonic_panel_port
  motion_off: 120
  language: 'EN'
  force_standard: 'no'
  sync_time: 'yes'
  allow_remote_arm: 'yes'
  allow_remote_disarm: 'yes'
  panellog_logentry_event: yes
  panellog_csv_add_title_row: yes
  panellog_xml_filename: 'panel_log.xml'
  panellog_csv_filename: 'panel_log.csv'
  panellog_complete_event: yes
  panellog_reverse_order: yes
  panellog_max_entries: 10

This is the error it generates:

Invalid config for [visonic]: [panellog_logentry_event] is an invalid option for [visonic]. Check: visonic->visonic->panellog_logentry_event. (See /config/configuration.yaml, line 284). 

Line 284 corresponds the top of the configuration entries: visonic:
It generates an error for any entry starting with panellog.

All I see is the normal warning when restarting.

2020-04-30 23:52:11 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for 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.

Yes, that’s what’s in the manifest and I do see it listed in the Developer Tools>INFO list. It’s absent from the Integration UI.

EDIT: I see the integration is showing in HACS. Should I uninstall it using HACS and then reinstall the integraion manually to see if that was the issue?

More to report.

I removed the HACS integration and restarted HA. The good news is the integration is visible. I was able to configure the port and a couple of options and restarted HA again. This time, I saw no communications with the panel and the trouble indicator is lit. I returned to Integrations and went back to check if I made a mistake. This time I saw a persistent activity indicator with the message “Please wait while integration is being installed.” I could manually get back to the dashboard by typing in the URL, but the integration is deadlocked.

Here’s the system log traceback info:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 216, in async_setup
    hass, self
  File "/config/custom_components/visonic/__init__.py", line 110, in async_setup_entry
    await hass.async_add_executor_job(client.connect)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/visonic/client.py", line 523, in connect
    success = self.connect_to_alarm()
  File "/config/custom_components/visonic/client.py", line 354, in connect_to_alarm
    event_callback = self.visonic_event_callback_handler, disconnect_callback = self.disconnect_callback, loop = self.hass.loop)
TypeError: create_usb_visonic_connection() got an unexpected keyword argument 'port'
2020-05-01 15:39:04 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for nwsradar 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.
2020-05-01 15:39:42 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_protocol.py", line 418, in start
    resp = await task
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_app.py", line 458, in _handle
    resp = await handler(request)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_middlewares.py", line 119, in impl
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/real_ip.py", line 39, in real_ip_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 73, in ban_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 127, in auth_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 125, in handle
    result = await result
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 186, in post
    return await super().post(request)
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 54, in wrapper
    result = await method(view, request, *args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 63, in post
    handler, context={"source": config_entries.SOURCE_USER}
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 124, in async_init
    flow, flow.init_step, data, init_done
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 196, in _async_handle_step
    result: Dict = await getattr(flow, method)(user_input)
  File "/config/custom_components/visonic/config_flow.py", line 257, in async_step_init
    self.powermaster = client.isPowerMaster()
  File "/config/custom_components/visonic/client.py", line 94, in isPowerMaster
    return self.visprotocol.isPowerMaster()
AttributeError: 'NoneType' object has no attribute 'isPowerMaster'

Deleted and reintegrated the component. Same thing, with no communication. Deleted the UI integration and it’s still not communicating. I think I need to restore a backup configuration.

I’ve spotted the problem and uploaded 0.4.0.1, it’s difficult for me to fully test the USB connection.

Hi Rob, when we get to a point where it’s stable I’ll push a HACS release :smile:
For panellog_logentry_event can you try putting single quotes around all the ‘yes’ values, as you have for allow_remote_disarm. If this fixes the import I’m not sure why as what you have should work, I tried it and it works on my install, exactly the same as yours.

Hmm…I’m not sure how I lost the quotes, but my old snapshot file had them. I’m shaking my head in frustration.

The problem I’m having now is the UI configuration boxes after the comm interface settings have no text to the right of the check boxes. Perhaps I should start over.

In the meantime, I’m going to see if there’s Scotch in the cabinet.

I figured out the absence of text and it was my mistake. When I restored an earlier snapshot, it removed the translations sub-directory and the en.json file in it. I should’ve known.

Whatever change you made in 4.0.1 didn’t help with my installation. I’m still attempting to see what’s going on, but I don’t have any content in the HA log file other than these startup entries.

2020-05-01 20:52:46 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for hacs 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.
2020-05-01 20:52:46 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for 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.
2020-05-01 20:52:52 INFO (MainThread) [custom_components.visonic.pyvisonic] Initialising Protocol - Component Version 0.4.0.1
2020-05-01 20:52:52 INFO (MainThread) [custom_components.visonic] ************* create connection here **************
2020-05-01 20:52:52 INFO (MainThread) [custom_components.visonic.client] Exclude sensor list = []     Exclude x10 list = []
2020-05-01 20:52:52 INFO (SyncWorker_3) [custom_components.visonic.client] Checking HA Entity ID: binary_sensor.remote_ui

I was able to see the integration on the new UI list and can install it, however, it still doesn’t communicate with the panel. When I select options to review the configuration, there’s the same persistent activity indicator as before. I can kill the indicator by refreshing the browser, but still can’t edit the options unless I delete and reinstall the integration.

I must be doing something wrong. I’ll keep looking.

Apologies for all the useless traffic.

After having v0.4.0.0 working initially without the UI, I don’t understand why I can’t get back to that initial functional configuration. Perhaps it’s because I’m now running HA v0.109.2.

I’ve tried what I could think of with v0.4.0.1. I’ve uninstalled the Visonic integration using HACS. I’ve manually removed the panel entity of the integration and I’ve selectively commented out the visonic portion in configuration.yaml. I’ve un-commented the entries and tried to let the UI integration use the configuration.yaml entries to configure itself. I’ve uninstalled everything and attempted an installation via the UI with manual config entries. And after all that, i deleted it and reluctantly restored v0.3.7.0. The integration immediately started working again.

Dave, I’ll test whatever you’d like to help you get the UI integration working. I might even learn something in the process. Just say the word.

Thanks Rob, I’ve uploaded 0.4.0.2 for you to give it a try please and let me know how it goes :smile:

I’ve uploaded the files and restarted HA. I can see no communication with the panel. That is, there is no download activity. I’ve enabled debug logging, but don’t see any activity from it.

Here’s the system log:

2020-05-02 12:31:44 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for hacs 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.
2020-05-02 12:31:44 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for 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.
2020-05-02 12:31:49 INFO (MainThread) [custom_components.visonic.pyvisonic] Initialising Protocol - Component Version 0.4.0.2
2020-05-02 12:31:49 INFO (MainThread) [custom_components.visonic]       Adding job
2020-05-02 12:31:49 INFO (MainThread) [custom_components.visonic.config_flow] Importing settings from configuration.yaml but something went wrong or some essential data is missing.
2020-05-02 12:31:49 INFO (MainThread) [custom_components.visonic.config_flow]                      The current data is OrderedDict([('device', OrderedDict([('type', 'usb'), ('path', '/dev/ttyUSBxx')])), ('motion_off', 120), ('language', 'EN'), ('force_standard', 'no'), ('sync_time', 'yes'), ('allow_remote_arm', 'yes'), ('allow_remote_disarm', 'yes'), ('panellog_logentry_event', 'yes'), ('panellog_csv_add_title_row', 'yes'), ('panellog_xml_filename', 'panel_log.xml'), ('panellog_csv_filename', 'panel_log.csv'), ('panellog_complete_event', 'yes'), ('panellog_reverse_order', 'yes'), ('arm_without_usercode', 'yes')])

Thanks for the help.

Thankyou that helped, I’ve uploaded 0.4.0.3, hopefully this should be better :wink:. I’ve changed it so it is not mandatory to set the baud rate for usb connections.

Progress to report. The panel is still indicating a communication fault, but apparently it’s in Standard mode. No PowerLink just yet.

I reset the panel (in and out of installer mode), and I can get status. I can’t arm the panel, though.

See debug log.

https://pastebin.com/5fpeKxYD

Remainder of log starting before the reset.

https://pastebin.com/NtPY8rRt

Hi Rob, I’ve just uploaded 0.4.0.4 to Github for you to try.

This is a bug fix for the ability to create/edit the integration from within Home Assistant and includes a breaking change when importing exclude_x10 and/or exclude_sensor settings from a configuration.yaml file. They need to be formatted as a string and not a list, for example
The old way

exclude_x10: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]

The new way

exclude_x10: '0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15'

Rob, I notice that you don’t have these settings but there are other changes as well to hopefully fix your problem too :smile:
As a bit of an explanation, I set (among other settings) force_standard to be a python bool boolean setting instead of a home assistant special boolean called config_validation.boolean.
This meant that your setting

  force_standard: 'no'

was being interpreted as setting Force Standard to True and so we attached to your panel as standard mode and didn’t try to get to powerlink.

Hi Rob, I’ve just uploaded 0.4.0.5 to Github for you to try. The last update messed up the ability to edit the options so I’ve had to double up on the config settings. One set for configuration.yaml and the second for editing/creating the integration