JasonCarter80 / concord232

Apache License 2.0
22 stars 17 forks source link

Client/Server vs Event or Message Driven #2

Open marbaugh opened 7 years ago

marbaugh commented 7 years ago

First off, thanks for publishing your code! I have a Concord 4 system and have been looking for ways to interface with it using the Automation Module.

I notice you decided to use a Client / Server model. I was interested in your thoughts on doing something that would be event driven as opposed to the client needing to make a request to the server.

For example your summary option that returns the status of all the zones and the alarm. Would it be possible to instead listen for a message that is received by the server (zone status) and say for example trigger an IFTTT action using Maker to send an alert to my phone or send an email. Or is there a reason you implemented the client needing to make the request in order to receive the updates?

JasonCarter80 commented 7 years ago

As you can see in the commit history, the implementation details are not mine to claim, as I used the framework of the https://github.com/kk7ds/pynx584 project, and it works for my needs, so I would be hard-pressed to venture further into modifications that alter the structure too much.

But as Github goes, i highly recommend you to fork the project and take it to whatever new heights you aspire to reach.

lehighkid commented 7 years ago

One benefit of the event driven that would be valuable would be the ability to push state changes from the panel - i.e. armed/disarmed from keypad so that other actions could be driven from the alarm system

I may have missed it but I did not see the output come from the server when these events occurred - even pushing to the standard output would be valuable.

Per your point above I am happy to modify the code but would appreciate your thoughts on implementing.

rwa commented 6 years ago

An event driven rather than a polling model would be nice to have.

Perhaps something MQTT based. It's not an urgent priority for me, but something to consider.