Step by step guide: Visonic Powermax Pro integration

In this subforum you can show projects you have made, or you are busy with. Please create your own topic.

Moderator: leecollings

belibaste
Posts: 1
Joined: Monday 23 December 2013 19:41
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by belibaste »

To BornToKill,
I want to go to Home assistant but I have nothing; I used Wiki but nothing. have you tutorial?

To ayasystems,
I am waiting for an ESP 8266 from China for controling my Powermax with your programs.

I am french and beginner in linux programs
BornToKill
Posts: 15
Joined: Sunday 18 September 2016 9:41
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by BornToKill »

@belibaste I’m French too.
Contact me in PM.
Ivo1986
Posts: 16
Joined: Tuesday 07 January 2020 10:27
Target OS: Raspberry Pi / ODroid
Domoticz version: 2020.2
Location: Urmond - Netherlands
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by Ivo1986 »

Hi Nice work!

Will this aso work for the Alphahome?
Image

It has also the 5x2 connection (center right)
Image
Ivo1986
Posts: 16
Joined: Tuesday 07 January 2020 10:27
Target OS: Raspberry Pi / ODroid
Domoticz version: 2020.2
Location: Urmond - Netherlands
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by Ivo1986 »

Can someone help me with the Alphahome?
ayasystems
Posts: 66
Joined: Tuesday 19 April 2016 23:37
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by ayasystems »

Ivo1986 wrote: Tuesday 21 July 2020 18:02 Hi Nice work!

Will this aso work for the Alphahome?
Image

It has also the 5x2 connection (center right)
Image
AlphaHome is not a PowerMax alarm system...
Ivo1986
Posts: 16
Joined: Tuesday 07 January 2020 10:27
Target OS: Raspberry Pi / ODroid
Domoticz version: 2020.2
Location: Urmond - Netherlands
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by Ivo1986 »

I know. It was a try ;)
Frisk
Posts: 4
Joined: Sunday 27 March 2022 18:30
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by Frisk »

ayasystems wrote: Sunday 14 June 2020 13:57 I have create an ESP8266 program to control Powermax Alarm with MQTT over Wifi....

If anyone wants test it -> https://github.com/ayasystems/PowerMaxEsp8266

Best regards!
Well done!

I've been looking at this for years, added the ESP to the alarm and got communication working a couple of years ago but didn't take it any further.

Now I got a new energy meter and wants to add it to the system, time to finish the alarm as well, think mqtt is the way to go. Have it running at the same pi as domoticz and can control switches by mqtt in domoticz.

To summarise my question, how do you read the information from the alarm in to domoticz?

Something tells me I don't want to use node red, probably silly but don't want to add an extra layer. Can you read and react off a specific topic from mqtt?

Best regards
ayasystems
Posts: 66
Joined: Tuesday 19 April 2016 23:37
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by ayasystems »

Hi
I'm using node red to read, process and send it back to domoticz
Frisk
Posts: 4
Joined: Sunday 27 March 2022 18:30
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by Frisk »

ayasystems wrote: Sunday 10 April 2022 13:45 Hi
I'm using node red to read, process and send it back to domoticz
Thank you for your fast reply even in reply to an old thread!
Maybe I should think about Node red. Seems nice, but something tells me I don't want another layer...

Or adjust the ESP-code to public at Domoticz inputs and read its outputs. Maybe user definable from web UI, path and unit indexes... I haven't programmed for a long time so that would be a great challenge... Probably not worth the time spent, but I believe it's the way it should be as an hobby.
breynsv
Posts: 5
Joined: Friday 26 July 2024 16:20
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by breynsv »

Hi,
I would likt to install this on my Visonic Powermax pro. However he XPL hub website does no longer exists. Does anyone know where I can find the repository?
Thank,
Kind regards
Sven
ayasystems
Posts: 66
Joined: Tuesday 19 April 2016 23:37
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by ayasystems »

breynsv wrote: Friday 26 July 2024 16:22 Hi,
I would likt to install this on my Visonic Powermax pro. However he XPL hub website does no longer exists. Does anyone know where I can find the repository?
Thank,
Kind regards
Sven
You can use an esp8266 version.

https://github.com/ayasystems/PowerMaxEsp8266

The best option is compilig from github code
breynsv
Posts: 5
Joined: Friday 26 July 2024 16:20
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by breynsv »

Hi,
thanks for your reply. I've tried compiling the code from https://github.com/ayasystems/PowerMaxEsp8266. I've added all the libraries etc.

However I get this error message.

/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino: In member function 'virtual void MyPowerMax::OnStatusChange(const PlinkBuffer*)':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:191:34: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
191 | addLog("Default case"+String(Buff->buffer[4]));
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino: In member function 'virtual void MyPowerMax::OnSytemArmed(unsigned char, const char*, unsigned char, const char*)':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:199:27: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
199 | addLog("Armed by : "+(String)whoArmedStr);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino: In member function 'virtual void MyPowerMax::OnSytemDisarmed(unsigned char, const char*)':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:204:30: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
204 | addLog("Disarmed by : "+(String)whoDisarmedStr);
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino: In member function 'virtual void MyPowerMax::OnAlarmStarted(unsigned char, const char*, unsigned char, const char*)':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:209:41: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
209 | addLog("System ALARM raised by : "+(String)zoneTrippedStr);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino: In member function 'virtual void MyPowerMax::OnAlarmCancelled(unsigned char, const char*)':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:214:34: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
214 | addLog("Alarm called by : "+(String)whoDisarmedStr);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino: In member function 'virtual void MyPowerMax::OnStatusUpdatePanel(const PlinkBuffer*)':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:226:52: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
226 | addLog("Zone: "+(String)zoneId+" Name: "+this->getZoneName(zoneId));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino: In function 'void setTime()':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:1149:74: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
1149 | year = (unsigned char) getEpochStringByParams(CE.toLocal(now()),"%y").toInt();
| ^~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:1150:74: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
1150 | month = (unsigned char) getEpochStringByParams(CE.toLocal(now()),"%m").toInt();
| ^~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:1151:74: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
1151 | day = (unsigned char) getEpochStringByParams(CE.toLocal(now()),"%d").toInt();
| ^~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:1152:74: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
1152 | hour = (unsigned char) getEpochStringByParams(CE.toLocal(now()),"%H").toInt();
| ^~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:1153:74: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
1153 | minutes = (unsigned char) getEpochStringByParams(CE.toLocal(now()),"%M").toInt();
| ^~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:1154:74: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
1154 | seconds = (unsigned char) getEpochStringByParams(CE.toLocal(now()),"%S").toInt();
| ^~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino: In function 'boolean loopMQTT()':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:1189:43: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
1189 | addLog("Mqtt failed connection "+(String)clientMqtt.state());
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/fs.ino: In function 'void wifiManagerSetup()':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/fs.ino:96:20: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
96 | addLog("SAVE: "+String(jsonLog));
| ~~~~~~~~^~~~~~~~~~~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/fs.ino: In function 'void createFS()':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/fs.ino:144:30: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
144 | addLog("LOAD: "+String(jsonLog));
| ~~~~~~~~^~~~~~~~~~~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/mqtt.ino: In function 'void callbackMqtt(char*, byte*, unsigned int)':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/mqtt.ino:53:50: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
53 | addLog("MQTT: callbackMqtt: "+(String)topic+" "+message);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/mqtt.ino: In function 'void publishSytemDisarmed(unsigned char, const char*)':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/mqtt.ino:215:22: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
215 | addLog("DISARMED: "+output);
| ~~~~~~~~~~~~^~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/mqtt.ino: In function 'void publishSytemArmed(unsigned char, const char*, unsigned char, const char*)':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/mqtt.ino:232:19: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
232 | addLog("ARMED: "+output);
| ~~~~~~~~~^~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/mqtt.ino: In function 'void publishAlarmStarted(unsigned char, const char*, unsigned char, const char*)':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/mqtt.ino:250:26: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
250 | addLog("ALARMSTARTED: "+output);
| ~~~~~~~~~~~~~~~~^~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/mqtt.ino: In function 'void publishAlarmCancelled(unsigned char, const char*)':
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/mqtt.ino:267:28: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
267 | addLog("ALARMCANCELLED: "+output);
| ~~~~~~~~~~~~~~~~~~^~~~~~~
/Users/svenbreynaert/Downloads/ESP8266mqtt/PowerMaxEsp8266/PowerMaxEsp8266/PowerMaxEsp8266.ino:118:21: note: initializing argument 1 of 'void addLog(String&)'
118 | void addLog(String& string)
| ~~~~~~~~^~~~~~

exit status 1

Compilation error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
breynsv
Posts: 5
Joined: Friday 26 July 2024 16:20
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by breynsv »

Hi again, nevermind I've uploaded the compiled 1MB version directly via usb interface. It works perfect thanks!
breynsv
Posts: 5
Joined: Friday 26 July 2024 16:20
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Step by step guide: Visonic Powermax Pro integration

Post by breynsv »

Hi again,
I got everything to work. I'm able to arm, disarm and see the event log.
I'm also able to read everything in my MQTT Gateway.

Now I want to disarm/arm home/arm away with my Loxone domotica system.
What would be the mqtt commands that I should give?

I've tried this command with my MQTT client as a test: powermax/command {"payload": "ARMHOME"}
After this I see that this is published in the log of the ESP8622 -> MQTT: callbackMqtt: powermax/command {"payload": "ARMHOME"}

But my alarm does not seem to go on. Is there anything I'm doing wrong in the syntax?

I'm new to Mqtt so apologies upfront ;)

Thanks
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests