Does it work from the Wemos webpage? It is surprising that you can do disarm and not arm since normally the disarm command requires greater security… Maybe try restarting the Wemos as a first step if you havent done that already
thanks cjcharles - i had rebooted Wemos but did it again and all working!
Hi cj you may remember me. Powermax Pro. all been working fine for a long while now, I upgraded to the new device handler (1.01 )about 2 months ago…all good for a while. i recently noticed my zones weren’t refreshing when active etc. had this once before so i removed the devices and tried to re add using version 1.01 but i cannot get it to populates the zone info when clicking configure (step 11). The app is communicating with the alarm and i can arm / disarm, but it wont populate zone names when i hit configure. (it does have the right amount of zone boxes and they are stating activity).
I have tried updating to version 1.03 but still the same.
everything seems to be workign ok but unable to populate zone names from configure and hence i cannot create the independent zones in the app.
Thanks for your help in advance.
Thanks for your help as usual CJ (direct contact). all working ok now. Flashed with new firmware and initialised the test device and all working again.
thanks as always.
My best device!
Got a new firmware update coming soon (hopefully this weekend if I can find time to test it all) with a few improvements including:
- A much nicer settings and configuration interface. This also provides the base for a plan I have which will enable the Wemos to work with more Powermax models. It also provides the base to allow me to add password protection onto the Wemos webpage.
- The option to set a static IP address in the Wemos (at last). Note this isnt as good as setting a static IP address in your router, but its better than nothing.
- A couple of small improvements in JSON formatting that may help prevent ST getting stroppy when processing the zone names
- The basics to prevent the Wemos broadcasting its own access point in case your WiFi network goes down, and should help with more security
- A reset mechanism where you can remove all customisations by powercycling the Wemos 5x with about 1s gap between each reset, this should help ensure you can easily cancel any static IP addresses that you enter incorrectly.
Cross your fingers!
First, I would really thank you for this massive work! Exactly what I was looking for. Second… I have a problem. I think it has been addressed before but I couldn’t really find the final solution.
I have the Powermax+ and ordered an wemos D1r2 to wire it up. But I cant’t get any communication across the uart.
I’ve tried some fault tracing and while connecting an bluetooth adapter to TX-pin of PM+ I get some data while choosing Enrolment, while in “Direct mode” I receive nothing when SSH in to the ESP8266.
If I connect UART TX to ESP8266 RX I receive everything, and can also write from ESP8266(RX-TX connected…)
So my problem, ass addressed earlier seems to be the UART from PM to ESP. I realized my PM+ seems to have 5V TTL-levels so I added a voltage divider down to 3.33V, if the input was saturated and had some settling time back but it didn’t solve my problem. (But… I used first resistors to find, so it got a bit to high Ohmic, ~10k) 18k parallel with 18k and another 18k to ground.
I tried the windows application but it timed out connecting to the bluetooth link, and I can’t find any FTDI cable to try with.
I thought of trying dual MAX2232-cables from TTL to RS232 to TTL but seems a little messy and I couldnt find any crossed RS232 cable here.
Is it any way to verify the communication from ESP to PM? I’m pretty sure about I found the problem other way around.
What’s really the problem with the UART, looks like you searched in to it a bit before. Is it enough with a buffer of the signal or is it also timing problems?
Think you did some serious false tracing in this before did you have the PM+? I’m a hardware developer and have access to oscilloscopes etc. At the moment I haven really measured anything serious, doesn’t have what I needed at home today but please tell if I in any way can help.
Thanks in advance!
Been using a Wemos and Arduino from you successfully with a UK Powermax+ for some time - its great!
Updating IPs etc recently so decided to update handler to 1.03 and Wemos firmware to your latest .bin version. All went fine and IPs etc are updated and working. Wemos/arduino communicating successfully with panel. Listing zones etc. Live logging showing data coming back, including complete status and zone list.
However zones not appearing on Smartthings Alarm Panel Device. Looking at live logging there is a parse error showing on uri /getzonenames. Restarted Wemos and Arduino. Error still there. Parse error appears to be the closing brackets at the end of the complete zone list returned from Wemos to ST. Summary detail below. Any thoughts? Thanks a mill.
error groovy.json.JsonException: Unable to determine the current character, it is not a string, number, array, or object
The current character read is ‘]’ with an int value of 93
Unable to determine the current character, it is not a string, number, array, or object
line number 94
index number 1907
^ @line 394 (parse)
Relevant Zone list entry (last one) – the line 94 error is the very last ]} entry:
Thanks a mill. Your solution in the followup message worked perfectly!
@cmcgold This is the problem mentioned in this post [RELEASE] Visonic Powermax Alarm and I have a temporary fix for now if you want it, here . I do hope that I can get everything done as planned today and then can release a significantly improved version with lots of extras!
@Frisk The easiest solution is using an Arduino between Powermax+ and Wemos/ESP since that can be used to fix the problems most reliably in my experience. I wont discuss too much on thread as it isnt really relevant to everybody, but, Wemos to Powermax+ I found fairly reliable, and I only discovered a problem with one model ever (in lots of testing with multiple panels) and actually this panel did start working eventually in the end, I could never understand this except if something was reset at some point. On the Powermax+ to Wemos I found numerous issues, partially the voltage levels as you listed, but I also found there was some noise on the signal transitions which really upset the ESP input, causing you to have multiple 0x00 0x58 and 0x88 packets received in error (which then totally confuses the ESP and crashes its serial buffer). Using the Arduino in between was the only way I could reliably solve this issue despite trying multiple level shifters and different filters (though perhaps you have had more luck with some extra resistor networks). Solving Powermax to Wemos allowed Wemos to Powermax to work on its own (again possibly related to voltage levels). PM for further discussion now!
Thank you for the reply, sorry about continue writing of topic in the thread but I found a solution working for me at least for 6 hours now so I want to share it if it helps anyone else.
I had some RS232 boards at home bought just in case. These are equipped with max3232 I simply connected tx pin to rx pin on outside and powermax+ rx to logic side rx(was a bit confused abot this connection…wanted to connect other way around) then I connected logic tx to ESP tx. By supplying the board with 3.3V I also get the level conversion. And the IC have pins tolerant of 6V independent of supply voltage. I get a little of threshold voltage compared to TTL but seems to work.
This was a simple solution for me with easy to find circuits. There are for sure more correct solutions with curve shaping circuits, but probably not something available at home or as standard breake out board.
Sorry for ot, just wanted to share my solution when first write about my problem…
Wait what? You connected tx to tx and managed to get anything happening at all? Thats weird, maybe send me a circuit diagram please! As for general users, the Arduino solves the problem really well and should be just as easy.
I really can’t find where to send PM.
TX to TX was just of the strange naming of my module something like this:
I suppose TX ment it was the TX pin of the converter… Always a bit tricky to know what it is.
It’s not the best way to convert voltages up and down but since I had the board at home and not any arduino it was for me the simpliest solution. It doesn’t drain much current and is for sure 5V tolerant.
Just one circuit with few surronding components and no programming It was a neat solution for me at the moment and a very small card, without the dsub-connector. It’s still working without any problems this long.
Glad you got it sorted in the end, yes a MAX232 is a useful chip, though it should be included on quite a few of the ESP devices anyway, just maybe need to use different pins. Anyway, the Arduino is a good solution from the devices Ive tested but glad to hear there are other options!
Hi, I’ve noticed over the past few days my two PIRs from this device handler are stuck reporting “Active” and I can’t get them to change. Has been fine for months but seems broken now, tried resetting the Wemos, no luck.
I expect this is an ST issue with children. If you look in the parent device (the panel) do you see the status updating?
For those interested, Ive finally had some time to test my new code, and the main bits are sorted, I just need to confirm that the static IP parts are working.
Nah, the status is stuck in the main panel too.
And has a name or zone changed in the panel? Do you get all the other status messages about the alarm arming/disarming?
It’s reporting the current state (armed/disarmed/home) correctly but none of the zones are updating.
Hi all, I am new on this, but I will try to give info and work to the project.
First of all, thank you to all the developers involved in the project. I was 10 years ago working on this and I didn’t get any result.
Reading this post, I was aimed to try…
I have a Powermax + (year 2005), with no Powerlink enrollment option at all. I have the pm+ rs232 original adapter, and I am able to connect the original Powermax + Remote Programer and the powermaxwin utility from irekzielinsky. The Powermax.exe using direct wired connection is not able to download EPROM. It gets “Access denied”.
I guess that it has something to do with the Download Code that the Remote Programer uses to get all the panel info. How can I set this download code in the Powermaxwin utility?
My idea is first to test this wired utility and later on move to the WiFi setup using Wemos and your development @cjcharles. Just to learn what I have to adapt in the Pmax library to work with my old Powermax+. Could you give me some support @cjcharles?
Thank you all for your work, it is brilliant!
New firmware is finally live!!!
- Static IP configuration
- A new settings/config page
- Password protection
- Added MQTT settings and configuration, so you can migrate to another platform if needed for some reason
- Improved wifi security
- An option to prevent broadcasting a wifi access point when it cannot connect to your wifi
- A reset-to-factory-defaults process when you power cycle the device 5 times with 1 second uptime in between each cycle
- And finally some JSON improvements.
I have uploaded it to github and you can upload it from the /update page on the Wemos. After doing this, you will need to reconfigure your settings for the ST IP address.
If you look at the code changes you will see literally 40% of the code base has had to change, hence the delay. There might be a bug somewhere but I tried testing LOADS AND LOADS of different things in the process
@aelorenzo I expect there are a few things going on. The Powermax+ has some very poor serial timing and voltages so it is incredibly difficult to get it working without using an extra device. The access denied message is normal, that comes whenever the powerlink device has not enrolled in the Powermax, normally after that message it attempts enrolling, but that is not possible without the extra device to improve the comms.
Thank you @cjcharles. I have read that two possible solutions could be an arruino nano (I will look for the appropriate firmware) or an rs232 conversion levels chip, I have several DB9 TTL LEVEL conversors, but I don’t have clear which are the levels of both sides, WEMOS and PM+ / RS232 have the same levels? WEMOS has 3.3v. Is it a question of voltage levels or timing and signal quality?
Which option is more reliable? Arduino nano or levels conversor?