ParadoxAlarmInterface / pai

Paradox Magellan, Spectra and EVO, with MQTT, Signal, Pushbullet, Pushover and others
https://gitter.im/paradox-alarm-interface
Eclipse Public License 2.0
344 stars 92 forks source link

Utilities keys #482

Open BsCmOD opened 1 month ago

BsCmOD commented 1 month ago

Hi to everyone and many thanks for this great work, I've just a simple question, is there a possibility to use utilities keys with PAI? I've got some automations with this function such as gate open, lights and so on so it's something foundamental for me. Thank'you

yozik04 commented 1 month ago

I do not personally have any utility keys. So it is not possible for me to develop the support.

BsCmOD commented 1 month ago

mmm... ok but, how do you act with "external" relays such as on PGM4 board with PAI? I use utilities key with Paradox keyoard (TM70), mobile application and also with remote (REM2)

yozik04 commented 1 month ago

PAI supports controlling PGMs on the main board.

BsCmOD commented 1 month ago

So, even without using utilities key there're no possibilities to interact with "external" PGMs isn't it? Is there some possibilites at least to integrate in PAI the external PGMs?

yozik04 commented 1 month ago

It is possible, but requires not an easy development. First of all it is required to understand where in memory PGM statuses for external modules are located. How this location will change if more than one module is connected. How to understand how many external modules are connected and what corresponding memory blocks needs to be read. Then a more simple thing is to capture what packets BabyWare sends to trigger PGM on external board and do we receive any LiveEvent payload in return. Repeat this in next rounds for EVO192, EVOHD(might differ) and SP/MG hardware (certainly differs).

BsCmOD commented 1 month ago

So in near future we could have that functionality, sounds cool, could be implented even utilities keys or there are no hope about that? I ask you because action a pgm it's not the same think as use a utility key, for example, to open the gate the pgm must close the relay just for a second (simulating a button press), or to open/close the blinds, there is a counter in order to completly open or close them

yozik04 commented 1 month ago

If someone will implement it then yes, you can expect that. I stopped making new development in the project. New functionality requires a lot of time and extra hardware that I do not have and do not need for my personal needs. I would need a separate stand because I do not want to mess with my own setup. Additionally, encrypted serial is starting to make problems. It seems that in future there will be no new panels that PAI would support if we won't figure out the used encryption. That is a more critical problem for the life of the project than adding PGM support from external modules. Plus latest Python version support cannot be added because latest version of dependency Construct to which we would need to update lost some of the functionality that we used. Fix requires breaking backward compatibility.

If you have skills then I always welcome PR's, but learning curve is steep because there is no documentation and all is reverse engineered.

lpaolini commented 2 weeks ago

@BsCmOD If you need to emulate a utility key you can use a Paradox PRT3 board.

Connect it to the bus and it will expose a very simple ASCII protocol which allows arming/disarming the panel with a user code or emulating virtual keys, zones and PGMs. Very useful, except its protocol doesn't support bypassing zones...

BsCmOD commented 2 weeks ago

Interesting, so this interface could be connected to alarm main panel bus and the other side via usb to HASS server, are there any library or add on to use this alternative way?

lpaolini commented 2 weeks ago

No idea if such an add-on exists, but it would be easy to create one, as the ASCII protocol is very simple. Programming manual here.