Coder Social home page Coder Social logo

OpenSSL Issues about honeyalarmserver HOT 59 CLOSED

Sastozki avatar Sastozki commented on August 10, 2024
OpenSSL Issues

from honeyalarmserver.

Comments (59)

MattTW avatar MattTW commented on August 10, 2024

Are you running Linux? It looks like there is a install bug in the initial version of pyOpenSSL 0.14 on that platform where a couple of dependencies were not specified and thus not getting pulled in.

https://bugs.archlinux.org/task/39388#comment120549

Looks like it can be resolved by pulling down 0.14-2 or later of that package or manually installing the cryptography package as discussed in that thread.

Let us know if that works for you!

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

Thanks Matt, when i tried the "fixed" package I am getting this error:

Do you know if there is a work around to get this Honeywell ArlarmServer working?

Downloading https://pypi.python.org/packages/source/c/cffi/cffi-0.8.2.tar.gz#md5=37fc88c62f40d04e8a18192433f951ec
Processing cffi-0.8.2.tar.gz
Writing /tmp/easy_install-sMWWe0/cryptography-0.4/temp/easy_install-ZxAGkG/cffi-0.8.2/setup.cfg
Running cffi-0.8.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-sMWWe0/cryptography-0.4/temp/easy_install-ZxAGkG/cffi-0.8.2/egg-dist-tmp-IMQ0OR
cc -c c/check__thread.c -o c/check__thread.o
unable to execute cc: No such file or directory
the above error message can be safely ignored;
will not use '__thread' in the C code
unable to execute gcc: No such file or directory
error: Setup script exited with error: command 'gcc' failed with exit status 1

from honeyalarmserver.

MattTW avatar MattTW commented on August 10, 2024

The workaround would be to take SSL support out. It is obviously more secure but not essential. Ideally this would be config flag so people can choose whether they want the web communication to be SSL or not. I will look at adding something like that. In the meantime a couple of quick code changes will remove SSL for the time being so you can keep moving forward.

change the line:

from twisted.internet import ssl, reactor

to be

from twisted.internet import reactor

and change the line

reactor.listenSSL(config.HTTPSPORT, factory,ssl.DefaultOpenSSLContextFactory(config.KEYFILE, config.CERTFILE))

to be

reactor.listenTCP(config.HTTPSPORT, factory)

i.e. reverse this commit that I made a while back that added SSL support:
0474c60

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

thanks, I am going to give this a try.

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

That worked. Thanks a bunch. Now onto getting this to integrate with Smartthings.

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

Hi Matt,

I had the same issues with SSL which are resolved by taking SSL support out. I have a working alarmserver.py reporting events. Could you please direct me how to proceed further so alarmserver can report/talk to smartthings ? Where can we put the callback url's?

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

In the meantime, I am trying to take the code that is working for Smartthings supporting DCSs and build a plug-in for of it. My coding days are long behind me, but giving it a try.

from honeyalarmserver.

MattTW avatar MattTW commented on August 10, 2024

Hi nitinbali60 -

You will want to take the same route as Sean and create a plugin for it. The readme has a section on the plugin system. It is simple but hopefully useful. I am not familiar with the Smartthings API, however take a look at the plugin-examples directory for some things that I have written for myself to integrate AlarmServer with other systems. The pushoverPlugin is probably a good basic example to start with. If it is a matter of an HTTP POST or GET to a URL and passing some parameters, the python Requests module makes that really easy - there is also good out of the box support for a few different types of HTTP authentication.

from honeyalarmserver.

kholloway avatar kholloway commented on August 10, 2024

Just FYI I forked the repo and added a plugin for Smartthings, I had to extend the basePlugin.py file but otherwise no changes to the rest of the code base. It's not tested yet but should work for zone status right now, I need to look at partition states a little more in the Ademco/Envisalink TPI first since it's not like my DSC setup.

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

Thanks Guys. I am going to try this out in a few. I will let you know what happens.

from honeyalarmserver.

MattTW avatar MattTW commented on August 10, 2024

Cool!

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

When I add the smartthings plug in that Kent created to the plugin folder, I am getting this error:
I ran easy_install requests, however this didn't fix the issue.

Sean@Office ~/HoneyAlarmServer
$ python alarmserver.py
Using configuration file alarmserver.cfg
Config option pollinterval not set in [envisalink] defaulting to: '300'
Config option zonedumpinterval not set in [envisalink] defaulting to: '60'
Config option commandtimeout not set in [envisalink] defaulting to: '30'
Config option kpeventtimeout not set in [envisalink] defaulting to: '45'
Wed, 25 Jun 2014 20:44:57 INFO Alarm Server Starting
Wed, 25 Jun 2014 20:44:57 INFO Currently Supporting Envisalink 2DS/3 only
Wed, 25 Jun 2014 20:44:57 INFO Tested on a Honeywell Vista 15p + EVL-3
Wed, 25 Jun 2014 20:44:57 INFO Starting factory <main.EnvisalinkClientFactory instance at 0x6ffff5c65f0>
Wed, 25 Jun 2014 20:44:57 DEBUG Started to connect to Envisalink...
Wed, 25 Jun 2014 20:44:57 INFO Site starting on 8111
Wed, 25 Jun 2014 20:44:57 INFO Starting factory
Wed, 25 Jun 2014 20:44:57 DEBUG TCP connection estblished to 192.168.0.140:4025
Wed, 25 Jun 2014 20:44:57 DEBUG resetting connection delay
Wed, 25 Jun 2014 20:44:57 DEBUG searching plugins.basePlugin
Wed, 25 Jun 2014 20:44:57 DEBUG searching plugins.smartthings
Wed, 25 Jun 2014 20:44:57 ERROR Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 88, in callWithLogger
return callWithContext({"system": lp}, func, args, **kw)
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 73, in callWithContext
return context.call({ILogContext: newCtx}, func, args, kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, _args, kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
return func(_args,**kw)


File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 619, in doReadOrWrite
why = selectable.doWrite()
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 593, in doConnect
self.connectDone()
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 607, in connectDone
self.protocol = self.connector.buildProtocol(self.getPeer())
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1052, in buildProtocol
return self.factory.buildProtocol(addr)
File "alarmserver.py", line 149, in buildProtocol
self.envisalinkClient = EnvisalinkClient(self.config)
File "alarmserver.py", line 186, in init pluginClasses = BasePlugin.find_subclasses("./plugins/")
File "/home/Sean/HoneyAlarmServer/plugins/basePlugin.py", line 57, in find_subclasses
cls.look_for_subclass(modulename)
File "/home/Sean/HoneyAlarmServer/plugins/basePlugin.py", line 64, in look_for_subclass
module = import(modulename)
File "/home/Sean/HoneyAlarmServer/plugins/smartthings.py", line 1, in
import requests
exceptions.ImportError: No module named requests

Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 88, in callWithLogger
return callWithContext({"system": lp}, func, args, **kw)
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 73, in callWithContext
return context.call({ILogContext: newCtx}, func, args, kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, _args, kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
return func(_args,**kw)


File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 619, in doReadOrWrite
why = selectable.doWrite()
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 593, in doConnect
self.connectDone()
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 607, in connectDone
self.protocol = self.connector.buildProtocol(self.getPeer())
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1052, in buildProtocol
return self.factory.buildProtocol(addr)
File "alarmserver.py", line 149, in buildProtocol
self.envisalinkClient = EnvisalinkClient(self.config)
File "alarmserver.py", line 186, in init pluginClasses = BasePlugin.find_subclasses("./plugins/")
File "/home/Sean/HoneyAlarmServer/plugins/basePlugin.py", line 57, in find_subclasses
cls.look_for_subclass(modulename)
File "/home/Sean/HoneyAlarmServer/plugins/basePlugin.py", line 64, in look_for_subclass
module = import(modulename)
File "/home/Sean/HoneyAlarmServer/plugins/smartthings.py", line 1, in
import requests
exceptions.ImportError: No module named requests
Wed, 25 Jun 2014 20:44:57 DEBUG Connection failed to Envisalink. Reason: [Failure instance: Traceback (failure with no frames): : An error occurred while connecting: [Failure instace: Traceback (failure with no frames): : No module named requests
].
]
Wed, 25 Jun 2014 20:44:57 ERROR Unhandled Error
Traceback (most recent call last):
File "alarmserver.py", line 675, in
reactor.run()
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1173, in run
self.mainLoop()
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1185, in mainLoop
self.doIteration(t)
File "/usr/lib/python2.7/site-packages/twisted/internet/pollreactor.py", line 169, in doPoll
log.callWithLogger(selectable, drdw, selectable, fd, event)


File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 88, in callWithLogger
return callWithContext({"system": lp}, func, args, **kw)
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 73, in callWithContext
return context.call({ILogContext: newCtx}, func, args, kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, _args, kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
return func(_args,**kw)
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 627, in doReadOrWrite
self._disconnectSelectable(selectable, why, inRead)
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 263, in disconnectSelectable
selectable.connectionLost(failure.Failure(why))
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 483, in connectionLost
self.failIfNotConnected(error.ConnectError(string=reason))
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 460, in failIfNotConnected
self.connector.connectionFailed(failure.Failure(err))
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1058, in connectionFailed
self.factory.clientConnectionFailed(self, reason)
File "alarmserver.py", line 165, in clientConnectionFailed
self.currentLoopingCall.stop()
exceptions.AttributeError: 'NoneType' object has no attribute 'stop'

Unhandled Error
Traceback (most recent call last):
File "alarmserver.py", line 675, in
reactor.run()
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1173, in run
self.mainLoop()
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1185, in mainLoop
self.doIteration(t)
File "/usr/lib/python2.7/site-packages/twisted/internet/pollreactor.py", line 169, in doPoll
log.callWithLogger(selectable, drdw, selectable, fd, event)


File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 88, in callWithLogger
return callWithContext({"system": lp}, func, args, **kw)
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 73, in callWithContext
return context.call({ILogContext: newCtx}, func, args, kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, _args, kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
return func(_args,**kw)
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 627, in doReadOrWrite
self._disconnectSelectable(selectable, why, inRead)
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 263, in disconnectSelectable
selectable.connectionLost(failure.Failure(why))
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 483, in connectionLost
self.failIfNotConnected(error.ConnectError(string=reason))
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 460, in failIfNotConnected
self.connector.connectionFailed(failure.Failure(err))
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1058, in connectionFailed
self.factory.clientConnectionFailed(self, reason)
File "alarmserver.py", line 165, in clientConnectionFailed
self.currentLoopingCall.stop()
exceptions.AttributeError: 'NoneType' object has no attribute 'stop'

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

looks like its failing to import requests module. I used "pip install requests", don't know if that would make any difference. I also replaced basePlugin.py with the one that Kent extended.

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

agree, I will try again.

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

Still no luck. Its odd because when i run without the plug in it works, once I add the Smartthings plug-in is when i get the error.

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

try to delete all the python compiled files .pyc and run again. Did you rename the smartthings files to
smartthingsPlugin.py and smartthingsPlugin.cfg?

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

i removed the import requests line n the smartthings.py and the code ran. however I am not sure this is going to work with Smartthings.

from honeyalarmserver.

kholloway avatar kholloway commented on August 10, 2024

Hey guys try this as a debug step:

Launch Python on your system by typing 'python' in an open terminal or shell window.
Then type 'import requests' without the quotes and hit enter.

If you get an error message then your Python/requests module is not installed properly, if you get nothing but the prompt back then it should work just fine with the plugin I wrote.

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

yea I got the error. how can I can ensure this install correctly?

from honeyalarmserver.

kholloway avatar kholloway commented on August 10, 2024

Try pip install requests or easy_install requests.

If either of those succeed then try the import requests bit again until it returns nothing.

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

In my case it runs with no problem but there is no activity on smartthings devices. How can see if the correct URL is being posted to smartthings?

from honeyalarmserver.

MattTW avatar MattTW commented on August 10, 2024

The requests module logs info/debug message when it is making calls that will show that info. The server can generate a lot of debug message for the Envisalink comm traffic so you might have to search a bit for it. If you aren't seeing those log messages from requests, then the call isn't being made.

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

I really appreciate everyone's support on this!

I did the import and it worked fine after install requests. However when i try to run i still get the same error:

Note: If remove the import requests from the smartthings.py plug in the code will work, however I am not sure its working with Smartthings. Also the code works without the smartthings plugin, but it does me no good :)

Any way to find out what this is:
Thu, 26 Jun 2014 12:55:48 ERROR Unhandled Error

Sean@Office ~/HoneyAlarmserver
$ python alarmserver.py
Using configuration file alarmserver.cfg
Config option pollinterval not set in [envisalink] defaulting to: '300'
Config option zonedumpinterval not set in [envisalink] defaulting to: '60'
Config option commandtimeout not set in [envisalink] defaulting to: '30'
Config option kpeventtimeout not set in [envisalink] defaulting to: '45'
Thu, 26 Jun 2014 12:55:47 INFO Alarm Server Starting
Thu, 26 Jun 2014 12:55:47 INFO Currently Supporting Envisalink 2DS/3 only
Thu, 26 Jun 2014 12:55:47 INFO Tested on a Honeywell Vista 15p + EVL-3
Thu, 26 Jun 2014 12:55:47 INFO Starting factory <main.EnvisalinkClientFactory instance at 0x6ffff39b2d8>
Thu, 26 Jun 2014 12:55:47 DEBUG Started to connect to Envisalink...
Thu, 26 Jun 2014 12:55:47 INFO Site starting on 8111
Thu, 26 Jun 2014 12:55:47 INFO Starting factory <twisted.web.server.Site instance at 0x6ffff39b6c8>
Thu, 26 Jun 2014 12:55:47 DEBUG TCP connection estblished to 192.168.0.140:4025
Thu, 26 Jun 2014 12:55:47 DEBUG resetting connection delay
Thu, 26 Jun 2014 12:55:47 DEBUG searching plugins.basePlugin
Thu, 26 Jun 2014 12:55:47 DEBUG searching plugins.smartthingplugin
Thu, 26 Jun 2014 12:55:48 ERROR Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 88, in callWithLogger
return callWithContext({"system": lp}, func, _args, *_kw)
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 73, in callWithContext
return context.call({ILogContext: newCtx}, func, _args, *_kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, _args, *_kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
return func(args,*kw)
--- ---
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 619, in _doReadOrWrite
why = selectable.doWrite()
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 593, in doConnect
self._connectDone()
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 607, in _connectDone
self.protocol = self.connector.buildProtocol(self.getPeer())
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1052, in buildProtocol
return self.factory.buildProtocol(addr)
File "alarmserver.py", line 149, in buildProtocol
self.envisalinkClient = EnvisalinkClient(self._config)
File "alarmserver.py", line 186, in init
pluginClasses = BasePlugin.find_subclasses("./plugins/")
File "/home/Sean/HoneyAlarmserver/plugins/basePlugin.py", line 57, in find_subclasses
cls.look_for_subclass(modulename)
File "/home/Sean/HoneyAlarmserver/plugins/basePlugin.py", line 64, in look_for_subclass
module = import(modulename)
File "/home/Sean/HoneyAlarmserver/plugins/smartthingplugin.py", line 1, in
import requests
exceptions.ImportError: No module named requests

Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 88, in callWithLogger
return callWithContext({"system": lp}, func, _args, *_kw)
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 73, in callWithContext
return context.call({ILogContext: newCtx}, func, _args, *_kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, _args, *_kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
return func(_args,__kw)
--- ---
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 619, in _doReadOrWrite
why = selectable.doWrite()
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 593, in doConnect
self._connectDone()
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 607, in _connectDone
self.protocol = self.connector.buildProtocol(self.getPeer())
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1052, in buildProtocol
return self.factory.buildProtocol(addr)
File "alarmserver.py", line 149, in buildProtocol
self.envisalinkClient = EnvisalinkClient(self._config)
File "alarmserver.py", line 186, in init
pluginClasses = BasePlugin.find_subclasses("./plugins/")
File "/home/Sean/HoneyAlarmserver/plugins/basePlugin.py", line 57, in find_subclasses
cls.look_for_subclass(modulename)
File "/home/Sean/HoneyAlarmserver/plugins/basePlugin.py", line 64, in look_for_subclass
module = import(modulename)
File "/home/Sean/HoneyAlarmserver/plugins/smartthingplugin.py", line 1, in
import requests
exceptions.ImportError: No module named requests
Thu, 26 Jun 2014 12:55:48 DEBUG Connection failed to Envisalink. Reason: [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectError'>: An error occurred while connecting: [Failure instace: Traceback (failure with no frames): <type 'exceptions.ImportError'>: No module named requests
].
]
Thu, 26 Jun 2014 12:55:48 ERROR Unhandled Error
Traceback (most recent call last):
File "alarmserver.py", line 688, in
reactor.run()
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1173, in run
self.mainLoop()
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1185, in mainLoop
self.doIteration(t)
File "/usr/lib/python2.7/site-packages/twisted/internet/pollreactor.py", line 169, in doPoll
log.callWithLogger(selectable, _drdw, selectable, fd, event)
--- ---
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 88, in callWithLogger
return callWithContext({"system": lp}, func, *args, *_kw)
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 73, in callWithContext
return context.call({ILogContext: newCtx}, func, _args, *_kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, _args, *_kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
return func(args,*kw)
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 627, in _doReadOrWrite
self._disconnectSelectable(selectable, why, inRead)
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 263, in _disconnectSelectable
selectable.connectionLost(failure.Failure(why))
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 483, in connectionLost
self.failIfNotConnected(error.ConnectError(string=reason))
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 460, in failIfNotConnected
self.connector.connectionFailed(failure.Failure(err))
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1058, in connectionFailed
self.factory.clientConnectionFailed(self, reason)
File "alarmserver.py", line 165, in clientConnectionFailed
self._currentLoopingCall.stop()
exceptions.AttributeError: 'NoneType' object has no attribute 'stop'

Unhandled Error
Traceback (most recent call last):
File "alarmserver.py", line 688, in
reactor.run()
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1173, in run
self.mainLoop()
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1185, in mainLoop
self.doIteration(t)
File "/usr/lib/python2.7/site-packages/twisted/internet/pollreactor.py", line 169, in doPoll
log.callWithLogger(selectable, _drdw, selectable, fd, event)
--- ---
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 88, in callWithLogger
return callWithContext({"system": lp}, func, _args, *_kw)
File "/usr/lib/python2.7/site-packages/twisted/python/log.py", line 73, in callWithContext
return context.call({ILogContext: newCtx}, func, _args, *_kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, _args, *_kw)
File "/usr/lib/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
return func(args,*kw)
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 627, in _doReadOrWrite
self._disconnectSelectable(selectable, why, inRead)
File "/usr/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 263, in _disconnectSelectable
selectable.connectionLost(failure.Failure(why))
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 483, in connectionLost
self.failIfNotConnected(error.ConnectError(string=reason))
File "/usr/lib/python2.7/site-packages/twisted/internet/tcp.py", line 460, in failIfNotConnected
self.connector.connectionFailed(failure.Failure(err))
File "/usr/lib/python2.7/site-packages/twisted/internet/base.py", line 1058, in connectionFailed
self.factory.clientConnectionFailed(self, reason)
File "alarmserver.py", line 165, in clientConnectionFailed
self._currentLoopingCall.stop()
exceptions.AttributeError: 'NoneType' object has no attribute 'stop'

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

Hi Matt,

Does the requests module shows logs in the command line itself or does it creates some log file. I am not seeing any callbacks happening in the command line. I see other DEBUG entries for zone status and all.
How can I make sure the plugins are loaded and processed

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

nitinbali60,
what platform are you running this on? I have not been able to get the request issue fix on Cygwin, however I ran it on windows and I was able to get the script to run.

But now I am getting another error when i try to trigger a sensor:

Thu, 26 Jun 2014 15:35:52 ERROR Unhandled Error
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\twisted\python\log.py", line 88, in callWithLogger
return callWithContext({"system": lp}, func, _args, *_kw)
File "C:\Python27\lib\site-packages\twisted\python\log.py", line 73, in callWithContext
return context.call({ILogContext: newCtx}, func, _args, *_kw)
File "C:\Python27\lib\site-packages\twisted\python\context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, _args, *_kw)
File "C:\Python27\lib\site-packages\twisted\python\context.py", line 81, in callWithContext
return func(args,*kw)
--- ---
File "C:\Python27\lib\site-packages\twisted\internet\selectreactor.py", line 149, in _doReadOrWrite
why = getattr(selectable, method)()
File "C:\Python27\lib\site-packages\twisted\internet\tcp.py", line 214, in doRead
return self._dataReceived(data)
File "C:\Python27\lib\site-packages\twisted\internet\tcp.py", line 220, in _dataReceived
rval = self.protocol.dataReceived(data)
File "C:\Python27\lib\site-packages\twisted\protocols\basic.py", line 454, in dataReceived
self.lineReceived(line)
File "alarmserver.py", line 317, in lineReceived
handlerFunc(data)
File "alarmserver.py", line 443, in handle_partition_state_change
plugin.partitionStatus(partitionNumber, partitionState)
File "C:\Python27\AlarmServer\plugins\Smartthings.py", line 79, in partitionStatus
code = dscCodes[status]
exceptions.TypeError: unhashable type: 'dict'

Unhandled Error
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\twisted\python\log.py", line 88, in callWithLogger
return callWithContext({"system": lp}, func, _args, *_kw)
File "C:\Python27\lib\site-packages\twisted\python\log.py", line 73, in callWithContext
return context.call({ILogContext: newCtx}, func, _args, *_kw)
File "C:\Python27\lib\site-packages\twisted\python\context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, _args, *_kw)
File "C:\Python27\lib\site-packages\twisted\python\context.py", line 81, in callWithContext
return func(args,*kw)
--- ---
File "C:\Python27\lib\site-packages\twisted\internet\selectreactor.py", line 149, in _doReadOrWrite
why = getattr(selectable, method)()
File "C:\Python27\lib\site-packages\twisted\internet\tcp.py", line 214, in doRead
return self._dataReceived(data)
File "C:\Python27\lib\site-packages\twisted\internet\tcp.py", line 220, in _dataReceived
rval = self.protocol.dataReceived(data)
File "C:\Python27\lib\site-packages\twisted\protocols\basic.py", line 454, in dataReceived
self.lineReceived(line)
File "alarmserver.py", line 317, in lineReceived
handlerFunc(data)
File "alarmserver.py", line 443, in handle_partition_state_change
plugin.partitionStatus(partitionNumber, partitionState)
File "C:\Python27\AlarmServer\plugins\Smartthings.py", line 79, in partitionStatus
code = dscCodes[status]
exceptions.TypeError: unhashable type: 'dict'
Thu, 26 Jun 2014 15:35:52 INFO Disconnected from 192.168.0.140:4025, reason was unhashable type: 'dict'
Thu, 26 Jun 2014 15:35:52 DEBUG Cleaning up Envisalink client...
Thu, 26 Jun 2014 15:35:52 DEBUG Lost connection to Envisalink. Reason: [Failure instance: Traceback (failure with no frames): <type 'exceptions.Type
rror'>: unhashable type: 'dict'
]

from honeyalarmserver.

kholloway avatar kholloway commented on August 10, 2024

All, the requests module is required for this to work, it's the module that is sending the HTTP GET to Smartthings, without that module nothing will ever happen on the smartthings side. I have the URL being logged to DEBUG level so you should be able to see it if your alarmserver.cfg file has 'loglevel=DEBUG' set.

@Sastozki I just fixed that error, grab the latest copy from my repo.
Note: So far I have patched the basePlugin.py file AND the 'alarmserver.py' file to support all this so make sure are replacing both those files if you are not pulling directly from my repo.

@MattTW Do you want a PR for all this stuff or should I just keep it in my fork?

from honeyalarmserver.

MattTW avatar MattTW commented on August 10, 2024

Makes sense to me to add it in. What you have looks solid - do a PR when ready.

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

Kent,
Almost there.
did i have to set this to something in the smartthings.cfg?
ConfigParser instance has no attribute 'CALLBACKURL_BASE'

from honeyalarmserver.

MattTW avatar MattTW commented on August 10, 2024

@nitinbali60 There will be a debug messages at startup that show the plugins directory being scanned and listing each valid plugin that it finds and loads.

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

Hi Kent,

I just grabbed the latest fork. Please see the results. It is not able to log/debug callback_url's. As you can see the GarageDoor is open but no callback_urls or probably it fails trying. Please advice.

Using configuration file alarmserver.cfg
Config option pollinterval not set in [envisalink] defaulting to: '300'
Config option zonedumpinterval not set in [envisalink] defaulting to: '60'
Config option commandtimeout not set in [envisalink] defaulting to: '30'
Config option kpeventtimeout not set in [envisalink] defaulting to: '45'
Thu, 26 Jun 2014 14:41:47 INFO Alarm Server Starting
Thu, 26 Jun 2014 14:41:47 INFO Currently Supporting Envisalink 2DS/3 only
Thu, 26 Jun 2014 14:41:47 INFO Tested on a Honeywell Vista 15p + EVL-3
Thu, 26 Jun 2014 14:41:47 INFO Starting factory <main.EnvisalinkClientFactory instance at 0x03934F08>
Thu, 26 Jun 2014 14:41:47 DEBUG Started to connect to Envisalink...
Thu, 26 Jun 2014 14:41:47 INFO Site starting on 8111
Thu, 26 Jun 2014 14:41:47 INFO Starting factory <twisted.web.server.Site instance at 0x03951030>
Thu, 26 Jun 2014 14:41:47 DEBUG TCP connection estblished to 192.168.1.20:4025
Thu, 26 Jun 2014 14:41:47 DEBUG resetting connection delay
Thu, 26 Jun 2014 14:41:47 DEBUG searching plugins.basePlugin
Thu, 26 Jun 2014 14:41:47 DEBUG searching plugins.smartthings
Thu, 26 Jun 2014 14:41:47 DEBUG Found subclass: SmartthingsPlugin
Thu, 26 Jun 2014 14:41:47 INFO Connected to 192.168.1.20:4025
Thu, 26 Jun 2014 14:41:47 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:41:47 DEBUG RX < Login:
Thu, 26 Jun 2014 14:41:47 DEBUG TX > user
Thu, 26 Jun 2014 14:41:47 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:41:47 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:41:47 DEBUG RX < OK
Thu, 26 Jun 2014 14:41:47 INFO Password accepted, session created
Thu, 26 Jun 2014 14:41:47 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:41:48 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:41:48 DEBUG RX < %00,01,0028,10,00,FAULT 10 GARAGE DOOR $
Thu, 26 Jun 2014 14:41:48 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:41:52 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:41:52 DEBUG RX < %00,01,0028,10,00,FAULT 10 GARAGE DOOR $
Thu, 26 Jun 2014 14:41:52 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:41:56 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:41:56 DEBUG RX < %00,01,0028,10,00,FAULT 10 GARAGE DOOR $
Thu, 26 Jun 2014 14:41:56 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:42:00 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:42:00 DEBUG RX < %00,01,0028,10,00,FAULT 10 GARAGE DOOR $
Thu, 26 Jun 2014 14:42:00 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:42:04 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:42:04 DEBUG RX < %00,01,0028,10,00,FAULT 10 GARAGE DOOR $
Thu, 26 Jun 2014 14:42:04 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:42:08 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:42:08 DEBUG RX < %00,01,0028,10,00,FAULT 10 GARAGE DOOR $
Thu, 26 Jun 2014 14:42:08 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:42:12 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:42:12 DEBUG RX < %00,01,0028,10,00,FAULT 10 GARAGE DOOR $
Thu, 26 Jun 2014 14:42:12 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:42:16 DEBUG ----------------------------------------
Thu, 26 Jun 2014 14:42:16 DEBUG RX < %01,0002000000000000$
Thu, 26 Jun 2014 14:42:16 DEBUG FrontDoor Contact (zone 9) is Closed/Not Faulted
Thu, 26 Jun 2014 14:42:16 ERROR Unhandled Error
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\twisted-14.0.0-py2.7-win32.egg\twisted\python\log.py", line 88, in callWithLogger
return callWithContext({"system": lp}, func, _args, *_kw)
File "C:\Python27\lib\site-packages\twisted-14.0.0-py2.7-win32.egg\twisted\python\log.py", line 73, in callWithContext
return context.call({ILogContext: newCtx}, func, _args, *_kw)
File "C:\Python27\lib\site-packages\twisted-14.0.0-py2.7-win32.egg\twisted\python\context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, _args, *_kw)
File "C:\Python27\lib\site-packages\twisted-14.0.0-py2.7-win32.egg\twisted\python\context.py", line 81, in callWithContext
return func(args,*kw)
--- ---
File "C:\Python27\lib\site-packages\twisted-14.0.0-py2.7-win32.egg\twisted\internet\selectreactor.py", line 149, in _doReadOrWrite
why = getattr(selectable, method)()
File "C:\Python27\lib\site-packages\twisted-14.0.0-py2.7-win32.egg\twisted\internet\tcp.py", line 214, in doRead
return self._dataReceived(data)
File "C:\Python27\lib\site-packages\twisted-14.0.0-py2.7-win32.egg\twisted\internet\tcp.py", line 220, in _dataReceived
rval = self.protocol.dataReceived(data)
File "C:\Python27\lib\site-packages\twisted-14.0.0-py2.7-win32.egg\twisted\protocols\basic.py", line 454, in dataReceived
self.lineReceived(line)
File "C:\Python27\AlarmServer\alarmserver.py", line 317, in lineReceived
handlerFunc(data)
File "C:\Python27\AlarmServer\alarmserver.py", line 420, in handle_zone_state_change
plugin.zoneStatus(zoneNumber, zoneStatus)
File "C:\Python27\AlarmServer\plugins\smartthings.py", line 63, in zoneStatus
logger.debug("URL: %s" % self._urlbase)
exceptions.NameError: global name 'logger' is not defined

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

Ok, got it to work. changed "logger" to logging in smartthings.py

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

That is awesome. I think i am just about there.
What do you have CALLBACKURL_BASE' set to in your smartthings.cfg?

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

CALLBACKURL_BASE is generic : https://graph.api.smartthings.com/api/smartapps/installations

Have you gone through smartthings setup yet ? You should have your own app_id and access token created.

from honeyalarmserver.

kholloway avatar kholloway commented on August 10, 2024

@Sastozki Nice catch on the logging issue, I use logger everywhere for my log name so for whatever reason I didn't even look at what @MattTW was using, anyway fixed and pushed, thanks!.
Also you need to walk through the REST_API setup in my other AlarmServer repo, that part is all Smartthings related and eventually you will end up with values for those config settings in the plugin.

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

@kholloway it was @nitinbali60 that caught the error.

from honeyalarmserver.

kholloway avatar kholloway commented on August 10, 2024

Ahh crap.. I got up too early this morning.. Sorry @nitinbali60! Thanks for the fix!

The Rest API instructions are below also:

https://github.com/kholloway/smartthings-dsc-alarm/blob/master/RESTAPISetup.md

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

All the thanks to Kent and Matt for helping out us novices.

from honeyalarmserver.

MattTW avatar MattTW commented on August 10, 2024

You bet - I was a novice not long ago too. :) Glad you are getting it working.

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

curious if zone devices can report battery status?

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

also, I can see there is a partition status code as well. Is it suppose to report if the panel is armed, ready to arm or not ready?

from honeyalarmserver.

kholloway avatar kholloway commented on August 10, 2024

@nitinbali60 Look at the Envisalink TPI info to see if battery status is something a zone can report?
Also yes you should get partition status updates for the panel device type of Ready/Armed/Not Ready/etc.. You have to have a panel device that matches the partition number the plugin is sending.

If that's not working for some reason send me some of your output for a panel status change from the alarmserver debug or info log along with the URL it's calling on the smartthings side (scrub out your API and access token bits though first).

from honeyalarmserver.

kholloway avatar kholloway commented on August 10, 2024

@nitinbali60 Looks like the TPI has a single low battery event that the panel can send to the virtual keypad.

Bit Pos: Description
14: LOW BATTERY

I'm not sure though if that's a low battery for the system as a whole or low battery for a zone, it doesn't specify which. Page 3 of the Envisalink Ademco TPI doc.

I suppose you could pull the battery on your main system and see if that event gets sent?

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

Thanks Kent. Now its calling back for partition status.In partitionstatus function the url included config

self._config.CALLBACKURL_APP_ID

changed to

self._CALLBACKURL_APP_ID

then it started reporting partition status.

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

For some reason, I still cant get smart things to see anything. I have an app_id and token, etc..

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

Although it reports instantly when contact/sensor is open, it takes about 2-3 minutes to report its closed.
I also noticed that callbacks are made every minute or two for all the zones regardless of any activity on those zones. Is this normal?

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

@Sastozki If you already have DSC Integration app, go to your smartthings app on phone.
Go to alarm panel in things and then smartapps and click DSC Integration app. There under DSC Zones, include all the devices you created and try again.

from honeyalarmserver.

kholloway avatar kholloway commented on August 10, 2024

@nitinbali60 great, I updated the config variables as you said and pushed the code again. Thanks!

This forum posting on Eyez-on seems to indicate that the Ademco panel doesn't know when a zone closes and instead guesses.
http://forum.eyez-on.com/FORUM/viewtopic.php?f=6&t=1073

The TPI docs also mention that there is a per zone timer that counts down in 5 second ticks until it hits 0 where 0 means 'too long ago to remember'. The forum post suggests that the Envislink stuff is using those timers to make an educated guess at a zone 'closing' based on it's previous open/countdown timer.

Seems like the Ademco panel is not all that feature rich.. :(

The upside with most of these security panels is the contacts/zones almost always work in a consistent fashion that is not specific to any panel (just using normally open/normally closed logic) so if you ever feel like replacing the Ademco you could make the switch to something else fairly easily without having to replace the zones/sensors themselves.

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

@kholloway
Is it normal to have long delays in reporting with alarmserver project?
First few tries, contact open was instantaneous but contact close took over 5 minutes even though I can see the logs reporting that zone has been closed for 4 min 30 sec then why it didnt trigger callback for close. My Honeywell touch panel on wall reports open/close within 5 seconds of the event which is still acceptable. Not sure where to look for a fix.

from honeyalarmserver.

kholloway avatar kholloway commented on August 10, 2024

The DSC stuff I use reports open and close within a half-a-second of it doing the event, the only delay is calling the Smartthings REST API.

So you see the alarmserver log outputting that the zone was closed but you don't see the corresponding Smarttthings URL/push until 5 minutes later? If that's the case that seems odd...
Can you post some of your alarmserver info and debug logs here so I can take a look at them?
Please include a zone open and the zone close for the same zone, you can strip out most of the smartthings URL but include the zone number and event number that gets sent (609, 610 for example).

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

You are right Kent. I checked the envisalink web page and panel doesnt report zone closed until 2-3 minutes although the partition status goes "Ready" right away.
What Alarm Panel do you have?

from honeyalarmserver.

kholloway avatar kholloway commented on August 10, 2024

I have the DSC PowerSeries PC1832 panel and keypads and the slightly older Envisalink2 device.
Other than it being a bit cryptic to program (lots of panels have that issue) I have no other complaints. All status/panel/zone events are reported immediately when they happen and the AlarmServer program I use reports them less than a second later to Smartthings without issue (that's the other juggie/AlarmServer repo project which is DSC specific).

from honeyalarmserver.

nitinbali60 avatar nitinbali60 commented on August 10, 2024

Here is my log below:

First event when door was opened. Door was closed after 10 sec

Thu, 26 Jun 2014 20:22:20 DEBUG PatioDoor Contact (zone 12) is Open/Faulted
Thu, 26 Jun 2014 20:22:20 DEBUG URL: https://graph.api.smartthings.com/api/smartapps/installations/------/panel/609/12?access_token=------

Second event after 35 sec-- Reports Open even though the door was closed

Thu, 26 Jun 2014 20:22:55 DEBUG PatioDoor Contact (zone 12) is Open/Faulted
Thu, 26 Jun 2014 20:22:55 DEBUG URL: https://graph.api.smartthings.com/api/smartapps/installations/------------------/panel/609/12?access_token=-------------

Third Event -- At this point it knew that contact was closed

Thu, 26 Jun 2014 20:23:06 DEBUG PatioDoor Contact (zone 12) Last Closed 55 seconds ago

4th Event

Thu, 26 Jun 2014 20:24:05 DEBUG PatioDoor Contact (zone 12) Last Closed 1 minute, 55 seconds ago

5th Event -- Status is still open in smartthings app

Thu, 26 Jun 2014 20:25:05 DEBUG PatioDoor Contact (zone 12) Last Closed 2 minutes, 55 seconds ago

6th Event : Finally closed callback -- Total turnaround about 3 min

Thu, 26 Jun 2014 20:25:20 DEBUG PatioDoor Contact (zone 12) is Closed/Not Faulted
Thu, 26 Jun 2014 20:25:20 DEBUG URL: https://graph.api.smartthings.com/api/smartapps/installations/---------------------/panel/610/12?access_token=--------------

from honeyalarmserver.

kholloway avatar kholloway commented on August 10, 2024

@nitinbali60 ok so that looks good other than the fact that it takes so long. I poked around in the AlarmServer code and double checked the TPI docs again, even @MattTW has a note in the code for the zone updates that says "# Envisalink TPI is inconsistent at generating these".
Seems like it might be a bug (or possibly a feature) of the Envisalink with this panel.

Anyway the debug log looks good but I was hoping to see the actual conversation from the TPI like you sent in an earlier post on this thread, like this one "Thu, 26 Jun 2014 14:42:12 DEBUG RX < %00,01,0028,10,00,FAULT 10 GARAGE DOOR $"

Specifically I'm curious if some other TPI event comes in that says the contact is closed and it's getting missed (or misread) or it just never sends any event at all (I think this is the more likely answer)?

from honeyalarmserver.

MattTW avatar MattTW commented on August 10, 2024

@kholloway in my experience it is always the latter. I had an email exchange with Kieran, the guy that does the firmware on the Envisalink and the author of the TPI docs - and it is a limitation of Ademco panels. He said the zone stuff is the #1 question he gets for the Ademco stuff so he just added more explanation in section 3.5 of the latest version of the doc. He basically has to make educated guesses about the status of zones based on other data that is available. I think he primarily has to rely on the text portion of the keypad updates (00) that say things like "Fault 02" when a zone is open and are simply no longer displayed once closed - as well as envisalink's own zone timers.

Even given these limitation, it seems like there are probably still some bugs in its zone reporting - stuff seemed to just be missed or delayed too long - but I haven't gotten to the point of gathering info and opening a ticket with him. As somebody mentioned on this thread, the more sophisticated Honeywell GUI screens seem to show more immediate feedback about zone status, so it would seem like there must be something more that can be done.

I also agree with the idea that if you really care about immediate zone open/close events, you are probably better off with a DSC panel. In general the sensors are compatible as noted, it is just a matter of putting the new panel and keypads in.

re: porting the plugin system back to the DSC version - I will do that. I think the plugin system has turned out to be useful for adding specialized integration without needing to mod the main code. I will need your help with testing since I don't have a DSC system, similar to you with the Honeywell stuff.

Thanks!
Matt

from honeyalarmserver.

kholloway avatar kholloway commented on August 10, 2024

I'm happy to help test out the plugin stuff once it's there, thanks again!

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

I am still having issues with getting Smartthings to work correctly with Alarm Server. I have tried forking and redoing the Smartthings integration portion of the process but the things are always showing "open" or "armed" and "motion". The Ev3 is working with the python code, but just can't get Smartthings to work.

Can I be missing something? Was I supposed to use the three different device types with the Honeywell Alarmserver?

I am seeing this on the alarmserver..
Tue, 01 Jul 2014 11:20:21 DEBUG URL: https://graph.api.smartthings.com/api/smartapps/installations/bfde915a-e833-452c-a88d-2e63f5e51778/panel/610/zone
2?access_token=(removed token)
Reply as new Topic

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

Where can i edit the code to have the zonename display on the output like in this example:

This is what I see now:
%00,01,0028,10,00,FAULT 17 $

Want to see this
00,01,0028,10,00,FAULT 10 GARAGE DOOR $

from honeyalarmserver.

MattTW avatar MattTW commented on August 10, 2024

What you currently see is a debug line with the raw data from the Envisalink device being sent back.

If you have zone names defined in your alarmserver.cfg then there will another debug line print out that looks similar to this:

Garage Door (zone 10) is Open/Faulted.

If you don't have the zone name properly configured in the cfg, then the second line will not be printed. Also, as Kent has currently written the plugin support, plugins will not be called on zone state change unless the zone name is configured for a zone.

In other words, if you don't have a zone name configured for a zone, it will be hidden/ignored - as documented in the cfg file.

from honeyalarmserver.

Sastozki avatar Sastozki commented on August 10, 2024

got it. Thanks for the quick reply!

from honeyalarmserver.

Related Issues (17)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.