Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Pushbullet Driver
Pushbullet is a cross-platform messaging service that has both paid and free account options. It allows users to send text notifications, links, and files to multiple devices, such as computers and phones. Pushbullet can connect to IFTTT, Android Tasker, and even has a few community tools for the platforms/connections that aren't directly developed by Pushbullet. Free accounts (without a Pro subscription) are limited to 500 pushes per month.

This driver can send and process Pushbullet messages of type: note and link. File operations are not supported by this driver. To send a push, simply write to the field 'SendPush' with a properly formatted string, such as:

{"body":"Space Elevator, Mars Hyperloop, Space Model S (Model Space?)","title":"Space Travel Ideas","type":"note"}

If the format (of the text written to 'SendPush') is unacceptable to Pushbullet or if the send fails, the field '$Naks' will increment. Further options for sending push events are available at:

Fields prefixed with 'LatestPush-' are user-defined in the config file, per the parameter 'PushElementPairs'. This is a comma-separated list of element pairs. The first half of each pair is the element name, such as 'type'. The second half of each pair is a unique token, that can be included in the parameter, 'HistoryFormat', which defines the template format for each historical entry.

For example, if the config file was defined as:


Then two fields, 'LatestPush-title' and 'LatestPush-body' would be created, and each listing in the field 'History' will be formatted as "<title>-<body>". 'LatestPush-Localtime' is always created to provide a native time for the latest processed push event.

Other push element options include: type, iden, url, body, title, modified

Account rate limit information is provided via 3 fields. The units are a sort of generic 'cost' number. A request costs 1 and a database operation costs 4. 'Ratelimit-Limit' is the total units for the account, 'Ratelimit-Remaining' is the remaining units, and 'Ratelimit-Reset' is the datetime for the next usage cycle.

Additional fields are available for troubleshooting: 'Command' and 'LastKeepAliveTime'. If the websocket is active, the 'LastKeepAliveTime' will increment every 30 seconds. 'Command' allows a user to perform low-level operations, that shouldn't ever be needed (hopefully).
The driver initiates a websocket connection, so new data notices are pushed (instead of polled), and then performs a secure HTTPS request for new data. If requires a secure tunnel, such as stunnel, to create a safe connection to pushbullet servers.


Setup Directions

1) Obtain access token from Pushbullet account

2) Configure stunnel (or similar) for new connection
---When configuring stunnel, select an unused port for the 'accept' line, then enter the same port number when configuring the CQC driver

3) Create driver config file, updating line starting 'Token~' with access token. Move config file to MacroFileRoot (or subfolder).

4) Configure CQC driver.

----If stunnel is installed on the same machine as CQC, enter '' for the address. Otherwise, a IPv4 address is recommended. 'localhost' does not work, at least for me.


Sample Pushbullet config file:

###############        CONFIG FILE - for Pushbullet Device Driver        ###############
#### ---- One config item per line, Use '~' for seperator. Lines with '#' will be ignored. ---- ####
# Required - below:

# Access Token is alpha-numerical string

# Optional - Defaults/info provided below:

# csv pairs of push element and token for history format

# template string for history entries
HistoryFormat~%(T) - %(B)

# number of entries in history list

# enables logging to file

# interval for poll cycle, in milliseconds


Sample stunnel config section, but be sure to update port on 'accept' line:

client = yes
accept =
connect =
checkHost =
verifyChain = yes
CAfile = ca-certs.pem


Hope you enjoy!
Feel free to reply in the thread, even if you just are trying the driver out. I'm curious about interest. Thanks!

Attached Files
.cqcdrvpack   Pushbullet-v1-0.CQCDrvPack (Size: 16.06 KB / Downloads: 5)
Future Development Possibilities:

-) Custom Field
>> Similar to POP & IMAP drivers, allows custom field creation and updates based on properly formatted messages

-) Subscriptions/Following
>> IÔÇÖm not yet certain how these should implemented, so IÔÇÖm still exploring options.

-) File Processing
>> Is there a desire for this?

Possibly Related Threads…
Thread Author Replies Views Last Post
  RainMachine Sprinkler Irrigation Controller Driver kblagron 50 3,353 06-01-2020, 01:18 PM
Last Post: Dean Roddey
  Russound MCA-66 on TCP driver 5 317 05-24-2020, 06:23 AM
Last Post: gReatAutomation
  Samsung SmartTV Driver George M 0 96 05-20-2020, 09:04 AM
Last Post: George M
  OpenWeatherMap Weather Driver Using OneCall API kblagron 11 530 05-18-2020, 04:09 AM
Last Post: dlmorgan999
  Tesla Driver Driver kfly 10 1,023 05-08-2020, 08:49 AM
Last Post: gReatAutomation
  JVC D-ILA Driver jokermac 34 4,764 04-13-2020, 01:28 AM
Last Post: Mark Stega
  LIFX Driver bobskie708 15 6,177 01-05-2020, 11:00 AM
Last Post: simplextech
  Universal Devices ISY Insteon Driver wuench 369 175,533 12-28-2019, 05:15 PM
Last Post: simplextech
  RunTimer2 driver rbroders 18 7,907 10-17-2019, 04:38 PM
Last Post: rbroders
  Writing Driver - Varying commands based on checksum gReatAutomation 3 869 07-22-2019, 01:08 PM
Last Post: Dean Roddey

Forum Jump:

Users browsing this thread: 1 Guest(s)