-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementing custom Keystroke command #66
Comments
Interesting. Two experiments to try after you enable the chime via send key press:
Those experiments might yield some clues about where the state of the chime is being kept. Given that you are getting back the correct response code, my guess is the command is making it correctly to the panel. I don't think the envisalink is generating the responses like 663 (Partition Home Chime Enabled) by itself. I think that must be coming over the keybus from the panel. I can try some experiments on this over the weekend. It would be good to get the send keystroke command well implemented. Though it's one of those things that might need some throttling. Probably want to at a minimum wait for the command acknowledgement and maybe pause a little more before sending subsequent keystrokes. It is probably worth reporting this on the envisalink support forum. |
@rct thanks for the reply, in meantime I removed my second commend. Here is the actual state: I found the problem: I am trying to send too long commands. But how I can send longer commands? Like *10602#, or *10602#1234?
Sending a single command works, example: *106#,*4#. Maybe can I send more commands one after another like *106# + *102# +*101# etc... then arm? I thought that chime is not working, because there was no audio feedback from the Keypad (like when I enable manually). Is this normal? But as you wrote I enabled/disabled chime from keypad and from AlarmServer and I verified that it works. Bypassing single zone also works: *106# -> then in another command usercode. The Envisalink TPI document says: Send Keystroke String (Max: 6 Keystrokes) Commadn 071, # of Data Bytes 2-7, Data Bytes Partition (1-8), ASCII(0..9, *,#,A) |
I have two keypads, if I remember correctly, when I toggle the chime from one, it doesn't beep the other keypad. It's been a while since I looked at this, need to go back the TPI manual and/or the envisalink forum, but - off the top of my head:
|
Thank you, then I have to look further into this question this weekend. I attach my current code, maybe someone would find it useful: envisalink.py.txt
|
I'll take a look, is it in a branch on your repo? This functionality would be useful to have implemented in the main code, maybe controlled by a configuration to disable it. So I hope you'll submit a PR at some point. |
Yep, just uploaded: |
One more info: I don't know if following project is a fork from this project, but it does have implemented the bypass zone function:
Isn't this what we are looking for? |
@adrianmihalko - There is no link, what repo did you find that in? I can't tell from that snippet whether it's from the pre-tornado version or not. Or whether it matters. Hopefully @juggie can take a look. Certainly we'd all like that, and other functionality including the key pres send, to have a robust, complete api in AlarmServer. Also, I think there is a relatively recent (< 1 year old) envisalink response that shows what zones are bypassed. IIRC, AlarmServer recognizes the response code, but doesn't have code to parse it and change the state for the zones. |
Ahh, sorry, I forgot the link: https://github.com/LXXero/DSCAlarm/ It seem to be actively developed, but it's modified for Smartthings(?!): https://community.smartthings.com/t/dsc-evl-3-4-alarmserver-smartthings/ |
@adrianmihalko That looks ok to me, did you try that change to see if it would work for you? Do you need me to create a branch with the change so you can try it out? |
@juggie I checked LXXero's code and I found this relevant part:
This is what I need? It would be great if you could make a new beta branch with this modification. Other: Sadly, Alarmserver runs for 1-2 day only. I see it in the list of running processes:
(current time when I wrote this: 18.05.2017, 19:05) -> nothing else is in the log, just sitting here. Even the webinfo works, but no new data is added from Envisalink. Of course Envisalink works correctly. |
Do you have the full log eg including the last envisalink event? |
Looks like you have not updated as well. Pull the latest version as I added a keep alive for envisalink. |
Ahh, this is why new keepalive function is for. We'll see, I update ASAP. Thank you. |
@adrianmihalko Give it a try and let me know. I'll try to replicate issues on my unit but I have no issues with it running for weeks. |
With keep alive it is very stable, it's running several weeks now. |
Is there anybody who implemented bypass multiple zones feature? |
I really want to implement custom Keystroke command.
So I started to search in this topic and I found that I need to send '071' command to Envisalink:
'071' Keystroke String 1-6 Characters - [1-6 ASCII Character String] Envisalink
I started with httpslistener.py:
envisalink.py, I added:
(*106#1234 === *1 bypass 06 zone # usercode).
Then I tried:
but nothing happens on the alarm. Is there anything that I am missing? 👍
(I have Envisalink 4 with DSC alarm).
Edit:
Oh, in the log I see:
The text was updated successfully, but these errors were encountered: