Page 6 of 6

Re: Step by step guide: Visonic Powermax Pro integration

Posted: Monday 20 July 2020 15:42
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

Re: Step by step guide: Visonic Powermax Pro integration

Posted: Monday 20 July 2020 18:59
by BornToKill
@belibaste I’m French too.
Contact me in PM.

Re: Step by step guide: Visonic Powermax Pro integration

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

Will this aso work for the Alphahome?
Image

It has also the 5x2 connection (center right)
Image

Re: Step by step guide: Visonic Powermax Pro integration

Posted: Tuesday 22 December 2020 14:25
by Ivo1986
Can someone help me with the Alphahome?

Re: Step by step guide: Visonic Powermax Pro integration

Posted: Wednesday 23 December 2020 11:20
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...

Re: Step by step guide: Visonic Powermax Pro integration

Posted: Wednesday 23 December 2020 12:02
by Ivo1986
I know. It was a try ;)

Re: Step by step guide: Visonic Powermax Pro integration

Posted: Sunday 10 April 2022 13:36
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

Re: Step by step guide: Visonic Powermax Pro integration

Posted: Sunday 10 April 2022 13:45
by ayasystems
Hi
I'm using node red to read, process and send it back to domoticz

Re: Step by step guide: Visonic Powermax Pro integration

Posted: Wednesday 13 April 2022 21:07
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.

Re: Step by step guide: Visonic Powermax Pro integration

Posted: Friday 26 July 2024 16:22
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

Re: Step by step guide: Visonic Powermax Pro integration

Posted: Friday 26 July 2024 17:17
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

Re: Step by step guide: Visonic Powermax Pro integration

Posted: Saturday 27 July 2024 12:04
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'

Re: Step by step guide: Visonic Powermax Pro integration

Posted: Saturday 27 July 2024 12:33
by breynsv
Hi again, nevermind I've uploaded the compiled 1MB version directly via usb interface. It works perfect thanks!

Re: Step by step guide: Visonic Powermax Pro integration

Posted: Saturday 27 July 2024 22:13
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