Visonic Powermax and Powermaster Component

Be careful; that’s not necessarily healthy. I know it sounds like a useless detail, particularly if everything seems to be working, but you could be overstressing some components. Bear with me.

If the idle voltages on the Tx signals are above the power supply on the Rx end, the protection clamp diodes inside the IC on the Rx end will be forward biased. That’s not good for either the Tx driver or the Rx receiver ICs. If you isolate each Tx signal by disconnecting the wire to it’s respective Rx end, the Tx idle voltage should be no more than about 0.3 volts above the power supply of the Rx end. The power supply of each Rx end can be determined by measuring the idle state voltage of it’s respective Tx signal.

There is a solution which will require adding a resistor in series with the Tx signal and a resistor between the first resistor and ground toward the Rx end. The values of the resistors can be easily determined by knowing the power supply voltages on each side of the interface. Hopefully, the power supply voltages are within a few tenths of a volt of one another. Additionally, if they are too far apart, there is a chance the Tx signal from the side with the lower voltage power supply will not cross the digital threshold of the Rx device on the side with the higher voltage. The easier and ‘cleaner’ fix for either of these problems is to select the USB adapter cable or the power supply configuration of the USR to match the alarm panel interface.

Yes, that’s very possible. See post 239. The good news is you have a setup allowing Dave to know exactly how your panel responds. He’s been both gracious and patient in sorting out similar issues.

Not sure I can help much at this stage and pocket seems to be doing better than me with the voltages and such!
What I can answer is that the 48 93 in your download command is the space for the download code, this is normally 56 50 (hex), this is “VP” in ascii for visonic panel. Note that in my code the 99 99 gets replaced with 56 50 when the command is sent. I use 99 99 as a place holder, this isn’t actually used. You’ll also need to calculate the checksum, this is the value just before the terminator 0A. I don’t think that the protocol is different but I’m no expert on this, you could be right.

00000053	2019-05-04 15:44:13,2292535	+0,0000053	IRP_MJ_WRITE	DOWN	0x00000000	0d 24 00 00 48 93 00 00 00 00 00 00 00 0a 	.$..H.........
00000076	2019-05-04 15:44:13,3465332	+0,0000026	IRP_MJ_READ	UP	0x00000000	0d 02 fd 0a 0d 22 fd 0a 01 16 15 00 0d 00 00 00 9c 0a 	....."............
00000083	2019-05-04 15:44:13,3492847	+0,0000042	IRP_MJ_WRITE	DOWN	0x00000000	0d 02 fd 0a 	....
00000103	2019-05-04 15:44:14,3662742	+0,0000086	IRP_MJ_WRITE	DOWN	0x00000000	0d 5a ba 09 04 00 00 00 00 00 00 00 dd 0a 	.Z............
00000126	2019-05-04 15:44:14,4857858	+0,0000056	IRP_MJ_READ	UP	0x00000000	0d 33 fd 0a 13 18 63 00 00 00 00 00 36 0a 	.3....c.....6.
00000133	2019-05-04 15:44:14,4924121	+0,0000110	IRP_MJ_WRITE	DOWN	0x00000000	0d 02 fd 0a 	....

So, to try and explain:

0d is used as the message header, it is the start of a message
0a is the footer or terminator, it is the end of the message
the value before the 0a is the checksum
0a is allowed inside messages, check the checksum for validity and if not valid then keep going!
the value after the 0d header is the command i.e the message type

The PC sends a Download command (24) with download code 48 93. I’m not sure where it gets that download code, as I said in my previous post this is usually 56 50. Also, the checksum is “00” which is unusual but not impossible.
EDIT: The checksum is 00, it is valid

The panel then sends “0d 02 fd 0a”, this is an acknowledge

The panel then sends “0d 22 fd 0a 01 16 15 00 0d 00 00 00 9c 0a”.
NOTE: It could be “0d 22 fd 0a” followed by an illegal message but lets assume that it isn’t.
This is a panel status “22”, I have never seen this sequence from the panel before.

The PC then sends an acknowledge “0d 02 fd 0a”

The PC then sends “0d 5a ba 09 04 00 00 00 00 00 00 00 dd 0a”
A “5A” command kicks off the downloading of EPROM data.

The panel then starts to stream the EPROM data as “0d 33 fd 0a 13 18 63 00 00 00 00 00 36 0a”
Each “33” is followed by an acknowledge from the PC “0d 02 fd 0a”

Lots more “33” downloads, each followed by an acknowledge

Hope this helps

OK, thanks both for explanation, it makes it a lot clearer. I will have a look at it this evening or maybe tomorrow.

I have measured all the pins, there was none connection between ftdi and panel. These are the results (all voltages are measured from GND as reference):

VCC TX RX
FDTI 5.08 V 5.08 V 5.03 V
PowerMax 0.01 V 4.98 V 0.29 V

For the VCC of the PowerMax, I measured the voltage over the right pin (GND) and the left pin (VCC). But when I see at the results (0.01V for PowerMax’s VCC), I’m not sure if this is correct.

It appears your interfaces are 5-volt logic rather than 3.3-volt logic. This is good information, and means the FTDI cable is proper for communication. More recent panels use a voltage closer to 3.3 V.

Your measurements all look OK except the Vcc for the PowerMax. Either the pin you think is Vcc is not that, or you made an error with your measurement. There is an exposed plated-through hole under the RS that looks like ground. You can probe this point for your ground reference (i.e. black probe) and make your measurement again. The measurement is only useful if you intend to power the USR module from the panel versus an external power supply. In either case, you’ll have to identify the proper way of powering the module for a 5-volt logic interface. I’ve quickly looked at the documentation, and the English translation leaves some room for misinterpretation. I’ll see if I can find better info on the 'net.

I’ve looked more closely at the USR-TCP232-E2 Hardware Manual:

https://www.usriot.com/download/M4/USR-TCP232-E2-Hardware-Manual_V1.0.0.1.pdf

Although the device can be powered by 5 volts, the device only accommodates 3.3 volt serial I/O. They suggest two discrete device interfaces and these are shown in Figure 4 of the manual.

There are other options out there. Here’s one that looks simpler than the one in the Hardware Manual:

http://www.hobbytronics.co.uk/mosfet-voltage-level-converter

And here are two more prepackaged solutions for your interfacing pleasure. :wink:
Hopefully, you can find local sources.

https://www.ebay.com/itm/221919114584?ul_noapp=true#rwid

https://www.adafruit.com/product/1875

As for powering any of these level-translation circuits, I’m guessing if you apply 5 volts to pin 1 of the USR module, you’ll find a 3.3 volt output appearing at pin 2 (you’ll need both). I recommend you verify this before making any decisions on which circuit to use. If you don’t see 3.3 volts, that’s a simple matter to address.

I haven’t figure that out yet, so thank you! I’ve bought some of that logic voltage converters and I’m waiting for it, but that could take a while…
Meanwhile, I will try to figure out which commands are used for my alarm panel.

Good plan. In the meantime, hook 5 volts to the USR module and see if 3.3 volts appears on pin 2.

Thanks for the component, I have it + the powermaster 30 setup, as with my smartthings setup I can’t see the motion on the PIRs unless the alarm is armed, however I believe this is a visonic powermaster 30 issue, not a code issue… and to be honest I’m happy without them. (fyi the door sensors do trigger all correctly).

I have been trying today to get the alarm to arm on a button press, however after reading above & trying a few things I can see that is not possible through the serial connection, however I have read on the smartthings forum of:
git hub - smartthings visonic alarm - relay

I am going to go and buy a relay (well order one from ali-express / equivilant) and then try to get it working… do you think your code could be expanded to accommodate a relay + 8266/32 or do you think it best to keep that part separate?

I think it best to keep it separate, I don’t want to get the component mixed up with other functionality even though you’re using it with the panel.

No worries, will let you know of my progress once I get the relays and perhaps others might want to use the same way to trigger their alarms…

Hi, I’m new. New to both HA and English. But I hope you can help me. Trying to connect Powermax Plus and HA. Using USB-TTL (CH340) successfully connected PowerMax to the system. Success is arming and disarming. Now I am trying to connect the USR-C215b module to the system. This is a newer model, USR-WIFI232-T.
Where can I get 3.3V for VCC? From the characteristics of USR-C215b - Working voltage 3.0V ~ 3.6V. And I think 5 volts will fry USR-C215b.
On the pins PowerMax + found only 5v.

I’m no expert at this but have you thought about just buying a simple voltage regulator, something that takes in 5v and regulates to 3.3v, e.g. this or this. Some voltage regulators have a minimum current in order to work so just check it out to make sure. You would also need a couple of 10uF 50V Electrolytic Capacitors for stability, one on input and one on output.

Yes, I considered. I can not open your links. But I have a converter on the stabilizer lm1117.
This is plan “B” :), - the less DIY - the more stable the system. I read that users found 3.75V. This is a good option for me.
Power-Supply

You will also need to convert the logic levels between the USR-WIFI232-T module and the panel. The maximum logic voltage on the USR module UART Rx input cannot be higher than DVDD (3.3-3.6 V), which is possible if the PowerMax panel uses 5 V logic. Additionally, the Tx signal from the USR module UART output might be too low to guarantee a high logic state at the PowerMax RS-232 input.

See: https://community.home-assistant.io/t/visonic-powermax-and-powermaster-component/55949/366

But this is bad news. The conversion of logic levels can be done using the Logic Level Converter. But with a low level of Tx, I can not do anything.
I think that I will study the USR-TCP232-T2. At least it can work on 5v. I have it. I could not make work. Spent a little time on it.

That’s not correct. You’ll have both 3.3 and 5.0 volts to power each side of the level converter. It will accommodate both signals and have an appropriate input logic threshold and output level for each.

Look at the links I posted. If you don’t see some of them, I can find others. There are several solutions. I admit it’s a complication for you, but it’s necessary for your situation.

Thank you for your help and patience. I remind you that my knowledge in anshliy language ends up with a google translator: (
I will try to streamline the knowledge gained.
What would earn USR-C215b need:

  1. USR-C215b
  2. Logic Level Converter 5V ~ 3.3V How many channels? Do I understand correctly that I need to convert Rx and Tx?
  3. External power supply to power the USR-C215b and Logic Level Converter. 3.3V and 5V (for example HLK-PM03 and HLK-PM01(or DC-DC Step Up Module 3.3 to 5V)
    I think about the external power configuration. In this [forum] https://forum.athom.com/discussion/1264/app-visonic-powermax-app-1-1-1/p5), connecting the USR-TCP232-t2 to the powermax pin 5V got a poor performance from the powermax.
    A significant disadvantage of this configuration is the lack of autonomy.

Let’s refer to the user manual:

https://www.usriot.com/download/WIFI/USR-C215-User-Manual-V1.0.pdf

I have yet to see if that particular device has been demonstrated to work with the Visonic component, so I can only comment regarding the electrical interfaces.

From sections 3.1.2 and 3.2.2, you will need to power the module with a nominal 3.3 volts.

Yes, that is correct. You will need to convert the 3.3. volt logic levels to those suitable for your 5 volt panel. As such, you will need a 5 volt supply and circuitry for translating the levels of the Tx and Rx signals for your 5 volt panel. The manual suggests you do this with the circuitry shown in section 3.2.3. I have suggested other ways to do this in a previous post, but you might not have ready access to those products.

I think one solution would be to start with a single 5-volt supply (like the HLK-PM01) and use a low-dropout 3.3 volt linear regulator. Certainly, using two power converters can work, but it’s your choice based upon how you wish to address the requirements. You might also find a 5 volt source on the control panel, but there would be some risk associated with inadvertently damaging your panel.

If you mean there is additional circuitry associated with external power supplies, then I agree. There are laws regarding the conservation of misery when working with home automation. :wink: