This integration covers a Visonic Powermax and Powermaster Alarm integration with a Wemos D1 R2, giving the following features:
Alarm status (arm status, battery reports and any problem text)
Zone status plus zone names (for most alarm panels) - these appear as separate devices in your SmartThings list
Alarm control to arm and disarm
Integration and automation through tools such as Webcore (both for alarm and for zones)
Integration with MQTT in addition to SmartThings integration. See this post for some instructions to get started.
(You can use other ESP8266 boards, but the Wemos is good as you need some voltage regulation chips to power the ESP from the alarm panel and this is normally 12V - powering from an external USB power supply is a recipe for damaging your panel)
Note that if you have certain Powermax boards then you will also need an Arduino in order for the Wemos to talk to the Powermax (UK models of Powermax+ and US Powermax Pro are the models that need an Arduino). Powermax Express can have an awkward power supply so you might need to do some soldering, but it is very easy and a single connection. Full instructions are on my Github page, but suggest discussions happen here since that way everybody can help each other!!
To control/read alarm status through Webcore you will need to look at the ‘Alarm’ capability of the device (ST sees this as a bell/light and not an alarm panel). To set the alarm through Webcore you will need to change the alarm capability to ‘Siren’ (for example) which will cause the alarm to arm in away mode. Alternatively, if the alarm changes to ‘Off’ then it has been disarmed. The following states show the lookup information for alarm status: Off=Disarm, Siren=ArmAway, Strobe=ArmHome, Both=Alarm . I.e. if Alarm status changes to ‘Both’ then your alarm has been set off (i.e. an intruder).
I am also selling pre-programmed Wemos chips with all required cables and adapters to plug and play with your Powermax. If you are setting up this integration it would be lovely if you would consider supporting development by purchasing a device through me, though you can follow the steps to your hearts content! I am also selling pre-programmed Arduino’s which are needed if you have a UK Powermax+ or US Powermax Pro (plus potentially others). Online Shop
Donations to my beer fund are of course welcome and much appreciated, for those who have asked me for a link - PayPal.Me
Im based in London and I got it off ebay about 3 months ago. Im pretty sure you could do the same with a NodeMCU, but I havent done any testing and it doesnt have any voltage regulation circuitry so you would then need to find a decent voltage regulation board. If you can find a D1 R2 then that would be easiest I expect and can still be bought for a reasonable price, but be very careful to get a good quality one as there are some poor quality ones out there that can either make flashing very difficult or damage the Powermax.
I googled “Wemos D1 R2” and amazon wants $16 while alliexpress wants about $9. There is a new account coupon for $3 off on alliexpress. Alliexpress will take about a week to get to me so I will have plenty of time to review all your documentation carefully.
When buying them you just have to be careful as the serial chips can make flashing difficult as you have to faff with multiple different drivers before it starts to talk to your computer. Also this can make integrating with the alarm harder if you get a bad one.
Might be worth spending a few more mins looking as there may be one closer to home. Also it is DEFINITELY worth getting a good quality board since there are some very poorly built knock-offs on the internet that would either not last long or cause damage through shorts/current draw!
Have just pasted in a big update to the Arduino sketch and the Device handler so that virtually all Wemos configuration is now done by SmartThings, and the inactivity timers are working well (and in fact customisable through SmartThings). This will probably be my last major development for a while as it has been taking up so much of my time!
The files need to be inside a pmax folder inside the libraries folder.
The files should not be in the sketch or libraries folder either
probably (they will possibly do no harm but may cause duplicate includes)
Sorry for late responding. A bit busy. I was successfully loaded the code on it but still don’t have time to hook it up to alarm panel yet. I will let you know the result.
Edit: Hooked it up and it connected to my Wifi. Created smartthing device but cannot find the “Config” button to set the IP address for Wemos.
Edit: JC. I was able Arm my alarm panel but I cannot disarm it and there all other sensors status are inactive. I did’t do any change to zone name or zone number since my alarm panel is using zone 1 to 6.
By the way, could “Instant” arm features?
I will keep you update.
Now I cannot Arm with Smartthings app but I still could Arm (Arm only, not Disarm) with Wemos IP web. I think Powerlink failed to enroll. Does anyone know how to force power link to enroll? I cannot find “Enroll Powerlink” in “installer Mode” of my Powermax Pro Alarm.
Sorry I didnt see your edit, just your original post.
It seems @smoov is having the same problems as you, with the enrolling step not happening, hence it only has access to arm (not disarm or receive zonenames, or receive zoneevents). He also is using a Powermax Pro so it makes me think there is something missing for Powermax Pro enrolling.
I would love to have an answer but it is difficult without the hardware to hand for testing, so I will do a bit more digging and come back with a few options.
Try unplugging and re-plugging the Wemos and see if it will pair after that. It can take a few minutes or more sometimes and can require a couple of restarts (of the wemos).
Also about half way down the Arduino sketch is the initiation delay, you can try increasing it and perhaps have more luck.
//if you have a fast board (like PowerMax Complete) you can pass 0 to init function like this: pm.init(0);
//this will speed up the boot process, keep it as it is, if you have issues downloading the settings from the board.
Change this to have an 8 inside the brackets - pm.init(8);
Also, if you do plug Wemos back into your computer (or use Arduino OTA update), at the top of pmax.h is this line:
#define POWERLINK_PIN 0x3622;
Try changing it to use a 1234 pin, i.e. change the ending of the line to 0x1234;
That might also help force it to pair.
That does sound like the same issue that I was having. I sent my panel off to get a firmware update in hopes of that being the issue, but now I’m not so sure. @KhMeRA how long have you had your panel? Mine is ~5 years old.