Visonic Powermax and Powermaster Integration

Hi,

Here
davesmeghead/visonic at dev_b0 (github.com)

Click on Green “Code” and then “Download Zip”.
You then need to delete backup the existing visonic directory in your /config/custom_components (to put it back if you need to later) and replace it with the visonic directory from the zip file. Then restart Home Assistant.

Please note that this is a development release and not very well tested

Dave

Ok, thank you! I will give it a try.
Stefan

Hi, i did some job here here, could you have a look at it and give me a feedback? :slight_smile:
No rush at all :slight_smile:

1 Like

I will work on the pt.json to have the tranlations for Portuguese.

Hello Dave,

I Also have a Powermax+ and since a while Powerlink did not work.

Powerlink is working since version 0.9.8.0.
Only when I restart H.A. Powerlink it is broken.
After that when I manually enroll the powerlink again it works again.

What is the best way to give a log?
The “Panel Log Entry Event” and Panel Log Completion Event, are not created.
While I activated the tick boxes.

Hi All,

I’ve just released 0.9.8.1 to dev_B0 as a development release.
This is purely a language translation development release
There are no other changes for the startup sequence etc that are related to the other issues.
I believe that I’ve captured 99% of the language settings for the panel (is anyone ever 100%, I’m sure that someone will spot something than needs adding to the translations).

The English translation file en.json is the basis of the translations. To translate to any other language please use this as your starting point and rename it e.g. German would be de.json, Spanish would be es.json

I have also included an Italian it.json that is about 40% complete (thankyou iaxexo) and I have had a go at the French (about 20% complete, but my French isn’t that good). So if anyone wants to have a go at updating or just checking them and commenting then let me know so you all don’t double up doing the same language.

Joao Sousa has also offered to do a Portuguese translation i.e pt.json.

To change your language settings in Home Assistant you need to change 2 settings:

  • The Settings / General language setting, don’t forget to click update
  • Select your name icon bottom left, change the language

I don’t know why there are 2 settings

EDIT: I’ve also messed up some of the accented characters so if anyone knows what they should be and how to fix them then please go for it :slight_smile:

Dave

Thanks for making a good start on this, I’m not a good person to comment on your Italian translations so I’ve just included it in the latest 0.9.8.1 release. I merged your file in to the main much larger file. If you want to continue and do the remaining translations then please do so.

Ah OK, you’re getting confused. The Panel log file that the integration creates is about the panel events.

With some older panels such as very early Powermax+ panels you’ll need to manually enrol after restarting, but I can take a look at a Home Assistant debug log file to check for you.

To create a Home Assistant log file with debug information please add this to your configuration.yaml file and then zip the log file. Either upload it to Dropbox or similar and place a link here or create an Issue on Github and that will allow you to include zip files in the issue itself.

logger:
  default: error
  logs:
    custom_components.visonic: debug

Dave

Hallo Dave, because there is no panel log created, I was indeed confused.

About the manually enrol. In the past I never had te enroll it after a restart.
Thats way I was wondering if its normal or not.

I have created a log file. There ar some other errors to work on at :slightly_smiling_face:

Log file

Hi all,

Development release 0.9.8.2 uploaded to dev_B0 on github.

This development release is for a test for a Powermax+ (and other panels that manually enrol) and an update to the 3 current language files.

For language file development it’s probably best if we track updates as Github Issues:
French here
Italian here
Dutch here

As before,

Please can you create an Issue on Github for it i.e. “Translation in Portuguese” for inclusion and discussion.

Please give this release a try. In your log file the panel is sending Powerlink alive messages from the start but refusing to download EPROM until you manually enrol. So in this release, if it receives Powerlink alive messages at the start it asks to panel to enrol, I want to see if this fixes your issue or if not then I want to see how the panel responds. So please be prepared, this might not be a fix but I’d like to see a log file in either case to see what the panel response is.

For all the panels that automatically enrol, I’ve tried to test using my panels but only once did I get the right conditions i.e. the panel outputting an alive at the start, and it seemed to work but be prepared for it not working just in case. In other words this release has had very limited testing.

Thanks for your patience with this issue
Dave :grin: :+1:

Yes, I can. Thank you.

Thanks for your patience with this issue `

No problem at all.

I have replaced the files this morning.
With version 0.9.8.2 I still have to manual enroll the powerlink after a restart.

Log 0-8-9-2

Hi all,

I’ve just uploaded 0.9.8.3 with language updates, linked entities to devices and various fixes.

French is just about 100% complete, if you have any problems then please add to the Github Issue on the French Translation.
Translation in french · Issue #154 · davesmeghead/visonic (github.com)

I have added a translation for the Netherlands but this only includes the text in the original integration so is very dodgy and only about 20% complete. If anyone wants to edit it to complete it or just improve it further then post in the Github Issue
Translation for Netherlands · Issue #157 · davesmeghead/visonic (github.com)

Entities are now linked to their Device so for example the Image and Select Entities are linked to the Binary Sensor Device.

Dave

@davesmeghead hi, i have a question. I reinstall integration and now i have a little config problem in a automation.
Before, my panel name is alarm_control_panel.visonic_alarm. Now it’s alarm_control_panel.visonic_alarm_2.
My automation doesn’t work :

alias: Notification - Alarme Sonne
description: Notification sur Oneplus8t Alarm Sonne Home Assistant & Telegram
trigger:
  - platform: event
    event_type: visonic_alarm_panel_state_update
    event_data:
      condition: 3
condition: []
action:
  - data:
      message: "☠️ ☠️ L'alarme de la maison sonne !! "
      title: "Alarme Maison :"
      data:
        image: /local/Photos/IMG_20210415_175246.jpg
    action: notify.mobile_app_iphone

what did i put in event type ? Is it always visonic_alarm_panel_state_update ?
Thanks

Hi,

This is an HA issue
Why do my entity names end with “_2”, “_3” etc. and how do I fix it? - Configuration / Zigbee - Home Assistant Community (home-assistant.io)

You’ll need to convert all Automations after the new release, I did state this in the release notes. See the wiki here for more info.

Dave,

after a fresh installation from the intergration and updating it to version 0.9.8.3, Powerlink is working again with my Powermax+. And it is reconnecting to Powerlink after each restart from H.A.

For your info here is the log:
Log 0.9.8.3

Thank you !! :pray:

Hi @davesmeghead

I change the name, thanks. Now i try the other thing

I’ve created a HACS release 0.9.9.3 that includes all changes and updates to the integration. It’s on the master branch on Github and is the default release so you should be able to install it using HACS.

The dev and dev_B0 branches are on hold.

Any general issues please report them here.
Any specific issues please report them as issues on Github.
In either case please include a debug Home Assistant log file.

For this type of setup in the old version

trigger:
  platform: event
    event_type: visonic_alarm_panel_state_update
    event_data:
    condition: 3

So condition 3 meant siren triggered, one of the reasons to change is that it’s easy to get this wrong. You need to look at the main state of the Alarm Entity being set to Triggered.

Using the latest HA 2024.10

triggers:
  - trigger: state
    entity_id: alarm_control_panel.visonic_alarm
    to: triggered

I hope that everyone can see that this is much better than condition: 3 in an Event.

EDIT: Please see the next post by me as I’ve added a Siren Entity
EDIT 2: Try this using the latest HA 2024.10

Hi,
I’ve spent a couple of hours this morning adding a Siren Entity to the integration. I have created Github release 0.9.9.4 but not made it a HACS release so you will need to download the zip and manually install it.

EDIT: I didn’t make it a HACS release as it’s had very little testing, if you’re willing to test it and let me know it’s OK or not then I’ll make it a HACS release when I’m sure it’s robust enough

So what does it do:

  • It makes a slight change to the operation of Panic, Emergency and Flood. These no longer trigger the Alarm Control Panel Entity.
  • Only “Intruders” trigger the Alarm Control Panel Entity.
  • The Siren is triggered by all possible sources i.e. whatever is set in the configuration.
  • The Siren Entity is also a Switch and so it can be set from other HA automations etc.
  • The Mute service call seems to mute the actual siren but it doesn’t notify the integration so the Siren Entity is still “on”
  • I have copied the “Alarm” language translations from the Alarm Control Panel Entity to the Siren Entity
  • The alarm attribute of the Alarm Control Panel Entity and Siren Entity are the same, except when the Siren Entity is used in HA as a Switch which overrides the setting
  • The Siren Entity includes an attribute called trigger. When the alarm type is Intruder this attribute tells you the zone entity that triggered the siren.

So this automation works with this release, using the Siren Entity

alias: Alarm Siren Triggered Action
triggers:
  - trigger: state
    entity_id:
      - siren.visonic_s01
    to: "on"
    from: "off"
actions:
  - data:
      title: >-
        {% set fn = trigger.to_state.attributes.friendly_name|string %}
        {{ fn }} Panel Siren is Sounding 
      message: >-
        {% set fn = trigger.to_state.attributes.friendly_name|string %}
        The {{ fn }} Panel Siren is Sounding
        {% set etys = trigger.to_state.attributes.trigger|string %}  
        {% set alrm = trigger.to_state.attributes.alarm|string %}  
        {% if etys == "" %} 
            Alarm siren due to {{ alrm }}  
        {% else %}
            {% set ety = 'binary_sensor.{}'.format(etys) | string %}
            The Sensor that triggered the Siren is the {{ state_attr(ety, 'friendly_name') }}
        {% endif %}
    action: notify.persistent_notification
initial_state: true

EDIT: The trigger attribute is only set when the alarm attribute is intruder but you don’t need to check it, checking the length of the trigger attribute is the short cut way of doing it i.e. check trigger attribute length, if not “” then assume intruder alarm and it’s the sensor that triggered the siren

I’m sure that you’ll let me have any feedback, what do you think?

EDIT (again): After reading it through I thought I’d add this. When panic, emergency, fire are triggered in the actual alarm panel, it doesn’t change it’s state. If the panel is disarmed and panic it triggered, the panel remains disarmed but the siren is sounding. So that is why I created a new Siren Entity. The Alarm Control Panel Entity now only represents “intruder”, the Siren Entity represents all possible sources (including “intruder”).