Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Quassel Notify

Featured Replies

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
     
    Options
    Settings/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.

  • 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.

  • 1 month later...

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>

  • 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?

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?

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.

  • 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.

 

  • 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.

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.

  • 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.

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

  • 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.

 

  • 5 months later...

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

  • 2 weeks later...
  • 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?

Yes,  it is set to host.

 

Sent using Tapatalk

 

 

  • 4 months later...

Any plans to have Pushover support on this?

  • 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.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.