May 21, 201610 yr Quassel Notify Based on repository https://github.com/Zren/PyQuassel The Quassel Notify plugin allows you to receive Pushbullet notifications based on keywords from Quassel Core Server. It uses PyQuassel which is a pure python implementation of QuasselClient. Doesn't depend on any PySide or PyQt libraries. 1. Copy the plugin url: https://raw.githubusercontent.com/dmacias72/unRAID-plugins/master/plugins/qnotify.plg 2. Paste url into install plugin text input and click install OptionsSettings/QNotify Host Address: Only localhost will work. Quassel Core has to be in HOST mode. Port: Quassel Core Port User Name: Username used to log in to Quassel Core Server Password: Password used to log in to Quassel Core Server Pushbullet access token: Access token for your Pushbullet Account. If unRAID notifications are setup it will pull the token from there. Pushbullet Device Name: Device name you wish to push to. Notification Keywords: Keywords to search Quassel Core messages. Known bugs: Need to check for Quassel Core running. Have to manually start on boot or after array stop. Change Log: ###2016.06.23 - fix: compile separate Python 3.5.1 for unRAID 6.1 ###2016.05.28 - add log file ###2016.05.22 - fix: get token from notification settings - fix: clear settings when stopping ###2016.05.20 - add dynamix plugin update api ###2016.05.19 - initial unRAID 6 release.
May 21, 201610 yr Author If someone could test this on 6.1.9. I'm not tottally positive it will work since I compiled python3 on 6.2. So I may have to compile for 6.1.
June 23, 201610 yr Installed, and it connects to quassel core OK. However, when it detects a keyword: Error while calling plugin_pushbullet.onMessageRecieved Traceback (most recent call last): File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselbot.py", line 45, in pluginCall fn(self, *args) File "plugins/pushbullet.py", line 37, in onMessageRecieved device = pushNotification.get_device(nickname=bot.config.pushbulletDeviceName) File "/usr/local/emhttp/plugins/qnotify/PyQuassel/pushbullet.py", line 50, in get_device device_list = self.get_device_list() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/pushbullet.py", line 46, in get_device_list data = self.session.get('https://api.pushbullet.com/v2/devices') File "/usr/local/emhttp/plugins/qnotify/PyQuassel/pushbullet.py", line 26, in get return self.request(*args, method='GET', **kwargs) File "/usr/local/emhttp/plugins/qnotify/PyQuassel/pushbullet.py", line 21, in request with urllib.request.urlopen(req) as res: File "/usr/lib64/python3.5/urllib/request.py", line 162, in urlopen return opener.open(url, data, timeout) File "/usr/lib64/python3.5/urllib/request.py", line 465, in open response = self._open(req, data) File "/usr/lib64/python3.5/urllib/request.py", line 488, in _open 'unknown_open', req) File "/usr/lib64/python3.5/urllib/request.py", line 443, in _call_chain result = func(*args) File "/usr/lib64/python3.5/urllib/request.py", line 1310, in unknown_open raise URLError('unknown url type: %s' % type) urllib.error.URLError: <urlopen error unknown url type: https>
June 23, 201610 yr Author Installed, and it connects to quassel core OK. However, when it detects a keyword: Error while calling plugin_pushbullet.onMessageRecieved Traceback (most recent call last): File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselbot.py", line 45, in pluginCall fn(self, *args) File "plugins/pushbullet.py", line 37, in onMessageRecieved device = pushNotification.get_device(nickname=bot.config.pushbulletDeviceName) File "/usr/local/emhttp/plugins/qnotify/PyQuassel/pushbullet.py", line 50, in get_device device_list = self.get_device_list() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/pushbullet.py", line 46, in get_device_list data = self.session.get('https://api.pushbullet.com/v2/devices') File "/usr/local/emhttp/plugins/qnotify/PyQuassel/pushbullet.py", line 26, in get return self.request(*args, method='GET', **kwargs) File "/usr/local/emhttp/plugins/qnotify/PyQuassel/pushbullet.py", line 21, in request with urllib.request.urlopen(req) as res: File "/usr/lib64/python3.5/urllib/request.py", line 162, in urlopen return opener.open(url, data, timeout) File "/usr/lib64/python3.5/urllib/request.py", line 465, in open response = self._open(req, data) File "/usr/lib64/python3.5/urllib/request.py", line 488, in _open 'unknown_open', req) File "/usr/lib64/python3.5/urllib/request.py", line 443, in _call_chain result = func(*args) File "/usr/lib64/python3.5/urllib/request.py", line 1310, in unknown_open raise URLError('unknown url type: %s' % type) urllib.error.URLError: <urlopen error unknown url type: https> What version unRAID are you on? Did you or are you able to select a Pushbullet Device Name?
June 23, 201610 yr 6.1.7. Yes I set Pushbullet device name. Is this a Python issue? I have 2.7.9 installed for something else.. and this needs 3.x?
June 23, 201610 yr 6.1.7. Yes I set Pushbullet device name. Is this a Python issue? I have 2.7.9 installed for something else.. and this needs 3.x? Would recommed you update to 6.1.9 The base Slackware was changed from 14.1 for 6.1.9 to Slackware current for V6.2 onwards. So this requires different versions utilising depending on which version of Unraid is installed.
June 23, 201610 yr Author 6.1.7. Yes I set Pushbullet device name. Is this a Python issue? I have 2.7.9 installed for something else.. and this needs 3.x? Python 2.7.9 is fine. This installs Python 3.5.1. However it was compiled on unRAID 6.2. So I guess you answered my question in the second post. I'll compile Python 3 on unRAID 6.1 and update the plugin. Any other precompiled Python 3 packages I tried won't work. They are either compiled without SSL or with a version that's not compatible with unRAID's SSL version.
June 23, 201610 yr Author 6.1.7. Yes I set Pushbullet device name. Is this a Python issue? I have 2.7.9 installed for something else.. and this needs 3.x? Would recommed you update to 6.1.9 The base Slackware was changed from 14.1 for 6.1.9 to Slackware current for V6.2 onwards. So this requires different versions utilising depending on which version of Unraid is installed. Do you know if there's a native docker command or something to check if a docker is running? If not I'll look through the docker man code. That may not work completely either though. It would still fail if Quassel Core was running but not ready to receive a connection yet. I may have to try and modify the python code.
June 23, 201610 yr It would be nice if there was another way, as my Quassel core is on a remote machine. I rigged your plugin to connect to it through a ssh tunnel I expect this isn't your typical use-case though.
June 23, 201610 yr Author It would be nice if there was another way, as my Quassel core is on a remote machine. I rigged your plugin to connect to it through a ssh tunnel I expect this isn't your typical use-case though. That may be a problem too. I couldn't get the python script to work if my Quassel Core docker was not set to host mode using localhost. I compiled python 3 for unRAID 6.1 and updated the plugin. Give it a try and let me know. Also you could just export the PyQuassel folder from the plugin and run it on the remote machine, replace the symlink to config.py with the config file and just start quasselbot.py with Quassel Core.
June 24, 201610 yr It seems unable to connect to the core now, where as before that part worked. Plugin "plugins/pushbullet.py" loaded. Traceback (most recent call last): File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselbot.py", line 74, in <module> quasselClient.run() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselclient.py", line 269, in run self.createSession() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselclient.py", line 262, in createSession self.readSessionState() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselclient.py", line 114, in readSessionState data = self.stream.read() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/qt.py", line 309, in read buf = self.device.read(4) File "/usr/local/emhttp/plugins/qnotify/PyQuassel/qt.py", line 72, in read buf = self.socket.recv(maxSize) socket.timeout: timed out
June 27, 201610 yr Author It seems unable to connect to the core now, where as before that part worked. Plugin "plugins/pushbullet.py" loaded. Traceback (most recent call last): File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselbot.py", line 74, in <module> quasselClient.run() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselclient.py", line 269, in run self.createSession() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselclient.py", line 262, in createSession self.readSessionState() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselclient.py", line 114, in readSessionState data = self.stream.read() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/qt.py", line 309, in read buf = self.device.read(4) File "/usr/local/emhttp/plugins/qnotify/PyQuassel/qt.py", line 72, in read buf = self.socket.recv(maxSize) socket.timeout: timed out I'll try compiling python3 again maybe I missed a dependency.
November 29, 20169 yr It seems unable to connect to the core now, where as before that part worked. Plugin "plugins/pushbullet.py" loaded. Traceback (most recent call last): File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselbot.py", line 74, in <module> quasselClient.run() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselclient.py", line 269, in run self.createSession() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselclient.py", line 262, in createSession self.readSessionState() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselclient.py", line 114, in readSessionState data = self.stream.read() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/qt.py", line 309, in read buf = self.device.read(4) File "/usr/local/emhttp/plugins/qnotify/PyQuassel/qt.py", line 72, in read buf = self.socket.recv(maxSize) socket.timeout: timed out I get the same error, I'm running unraid version 6.2.4
December 11, 20169 yr Author It seems unable to connect to the core now, where as before that part worked. Plugin "plugins/pushbullet.py" loaded. Traceback (most recent call last): File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselbot.py", line 74, in <module> quasselClient.run() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselclient.py", line 269, in run self.createSession() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselclient.py", line 262, in createSession self.readSessionState() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/quasselclient.py", line 114, in readSessionState data = self.stream.read() File "/usr/local/emhttp/plugins/qnotify/PyQuassel/qt.py", line 309, in read buf = self.device.read(4) File "/usr/local/emhttp/plugins/qnotify/PyQuassel/qt.py", line 72, in read buf = self.socket.recv(maxSize) socket.timeout: timed out I get the same error, I'm running unraid version 6.2.4 Sorry I didn't see your post earlier. I'm on 6.3 but it's working for me. Is your docker set to host?
May 1, 20179 yr Author Any plans to have Pushover support on this?Not really unless someone wants to convert the pushbullet.py to use pushover. The underlying scripts are not mine. Zren had a previous java node implementation that had pushover.
Archived
This topic is now archived and is closed to further replies.