[OBSOLETE] DSC -> EVL-3(4) -> Alarmserver -> Smartthings

If I change it to host envisalink it doesn’t work at all since then it doesn’t know the IP for it. Here’s my full config, will see if anything jumps out to anyone thanks!

[alarmserver]
# If a filename is given all output will be logged to the filename.
## If left blank output will all be on the console
#logfile=/full/path/to/output.log
logfile=

## Log URL requests
## By default all the url requests are logged. These happen every 5
## seconds with the web ui's. To disable all these set this to False
logurlrequests=True


## The server runs with SSL. You need a certificate and key
## server.crt and server.key are included but you should
## generate your own.
## If left blank the default included cert/key will be used
#certfile=/etc/apache2/ssl/server.crt
#keyfile=/etc/apache2/ssl/server.key
certfile=
keyfile=

## Maximum number of events to display for each zone
maxevents=10

## Total number of events to show for all the zones combined
maxallevents=100

## Port to run the server on
httpsport=8111

## Use a fuzzy time algorithm for displaying dates and times
## True means times will be "4 minutes ago", "3 days ago"
## False means times will be exact "Jun 21st 2013 08:00:00"
eventtimeago=True

## Pretty names for the user ids that arm/disarm alarm.
user1=MyUser1
user2=MyUser2
user3=MyUser3

## Experimental CallbackURL functionality - Mainly for Smartthings right now
## The resulting path for callbackurls looks like this
## This likely needs to be fixed to allow more flexibility for any service?
## Suggestions welcome
## ${callbackurl_base}/${callbackurl_app_id}/panel/${code}/${zoneorpartitionnumber}?access_token=${callbackurl_access_token}

## Smartthings or generic callback URL setup
callbackurl_base=https://graph-na02-useast1.api.smartthings.com/api/smartapps/installations
callbackurl_app_id=xxxxxxxxxxxxxxxxxxxx (using the one from SmartApp under IDE as per above right now)
callbackurl_access_token=xxxx (obtained following the instructions in RESTAPISetup.md)
## Define the event codes you want callbacks for, the codes below
## cover zone open/close, partition ready, not ready, armed, exit delay, entry delay and in alarm status
## these should cover most use cases
callbackurl_event_codes=510,511,601,602,603,604,605,606,609,610,616,620,621,622,623,624,625,626,650,651,652,653,654,655,656,657,663,664,840,841

[pushover]
enable=False
usertoken=tokengoeshere

[envisalink]
## Connection credentials to talk to the Envisalink device
host=192.168.86.39
port=4025
pass=user

## Run a proxy for the Envisalink device to get around the 1 connection limit
enableproxy=True
proxyport=4025
proxypass=user

## Alarm code: If defined you can disarm the alarm without having to
## enter a code.
alarmcode=3521

## Define your partition(s)
## Note: For callbackURL setup only defined zones and partitions are sent callback data
## You can use regular panels or the simple panels, or both. Uncomment and adjust per
## your preference.
[partition1]
name=Home
#stay=DSC Stay Panel 1
#away=DSC Away Panel 1
simplestay=DSC Simple Stay Panel
simpleaway=DSC Simple Away Panel

## Zone names. Delete the zones you're not using to have them hidden.
## Add more [zoneXX] if you need more zones
## Note: For callbackURL setup only defined zones and partitions are sent callback data
[zone1]
name=Front Door
type=contact
[zone2]
name=Kitchen Door
type=contact
[zone3]
name=Basement Motion
type=motion
[zone4]
name=Media Loft Door
type=contact

can you provide all the callback info minus the confidential bit?

Sorry what do you mean by callback info? The post above is my entire alarmserver.cnf file, is there something else?

My EVL is talking to ST and it’s not using the IP where you input it. Let me find where I entered mine

Sorry, misread it. My mistake :stuck_out_tongue:

K sounds good, it’s weird because it seems like it does connect to the EVL. Logging into the EVL directly as well shows ONLINE with the alarm server IP.

I used to think that until I changed it back to envisalink and it worked for me.

[pushover]
enable=False
usertoken=tokengoeshere

[envisalink]

Connection credentials to talk to the Envisalink device

host=envisalink
port=4025
pass=user

Run a proxy for the Envisalink device to get around the 1 connection limit

enableproxy=True
proxyport=4025
proxypass=user

I just tried and it didn’t work, gave like 10 errors about cannot find Envisalink when I did that.

Traceback (most recent call last):
File “alarmserver.py”, line 858, in
server = AlarmServer(config)
File “alarmserver.py”, line 620, in init
self._envisalinkclient = EnvisalinkClient(config)
File “alarmserver.py”, line 263, in init
self.do_connect()
File “alarmserver.py”, line 274, in do_connect
self.connect((self._config.ENVISALINKHOST, self._config.ENVISALINKPORT))
File “/usr/lib/python2.7/asyncore.py”, line 347, in connect
err = self.socket.connect_ex(address)
File “/usr/lib/python2.7/socket.py”, line 224, in meth
return getattr(self._sock,name)(*args)
socket.gaierror: [Errno -2] Name or service not known

Where as putting the actual IP I get:

2017-03-18 19:02:35 Envisalink Proxy Started
2017-03-18 19:02:35 Connected to 192.168.86.39:4025
2017-03-18 19:02:35 RX < 505 - 3 - Login Interaction
2017-03-18 19:02:35 TX > 005user54
2017-03-18 19:02:35 RX < 500 - 005 - Command Acknowledge
2017-03-18 19:02:35 RX < 505 - 1 - Login Interaction
2017-03-18 19:02:35 TX > 00191
2017-03-18 19:02:37 TX > 0711*1#47

Do you have the correct info here for the curlbackurl app_id and the access token? You can run the steps again to recheck that.
callbackurl_app_id=xxxxxxxxxxxxxxxxxxxx (using the one from SmartApp under IDE as per above right now)
callbackurl_access_token=xxxx (obtained following the instructions in RESTAPISetup.md)

You don’t in the config. You set the name envisalink in /etc/hosts.

So ran the steps again and the access token came out the same. Then for app_ID I’m using the one I was instructed to above, going to the SmartApp in IDE and to the very bottom of it. That doesn’t match the one I got following the instructions, but doesn’t matter which of them I use I get the same issue.

You need to set the EVL ip in /etc/hosts

and the smart app definitely needs to come from the instructions I posted to make this work

Does the same thing, that’s just telling it the IP for that host, same thing as putting the IP in the config file directly, it still resolves to the same place. Same old Unsupported input errors. :frowning:

Just checked also, that app ID is the exact same one I have that I obtained by following the instructions doing it the other way via the URLs so it must be correct at least. Also as mentioned I can arm the alarm and disarm it once then it stops working. But all sensors don’t change and say doors are open and alarm is going off when they aren’t.

DId you get it form My locations, click on smartapps, towards the bottom click on DSC Integration, on the pop up window scroll to the bottom and right under Enable local child app discovery: that is the app_ID

Yep, and that one is the exact same one I already had that I obtained doing the long URL method where you have to keep changing the URL to finally get the app ID. They are the same, so must be correct. So strange no idea lol.

Hmmm. Well I configured the host file and it was reporting but no control. By putting the IP into my config I now have full control… at least it seems so? So… @Nathan_Frank is that gonna cause problems?

HAHA Good question…I dunno. I had it like that at one point as well, but I changed it. I make about a 100 changes I think to try to get this working so I am not sure of my exact steps now.

Only thing is instructions say:
Test URL:

https://graph.api.smartthings.com/api/smartapps/installations/$appID/panel/609/1?access_token=$access_token

That does not work for me no matter what I do. I’m using the useast URL as well and all I ever get is:

{
“error”: true,
“type”: “SmartAppException”,
“message”: “Not Found”
}

I have never gotten the test to work.