Tasker and NodeRED – Streamlining notification system

Making uncomplicated, complicated again!

From the previous write up we know I can use Tasker and NodeRED together. I want to have a very efficient and easy way of sending the notifications to my phone. Instead of creating a single notification and a flow for each project I decided to spend a little more time to unify all the notifications.

New AutoNotifications

To display a dynamic notification I have to assign variables to the AutoNotification action. The message sent by AutoRemote is a string that can be split into a prefix and command. I will start to issue new notification using the following key:

source=:=type=:=message_id=:=notification_details=:=extra

Before any notification to my phone is issued via AutoRemote all fields have to be configured. This way the notification will contain all the information which I can use to update or create a new notification. I can use this also to issue commands.

The picture above should explain how the values are assigned.  A little more information about each section:

  • source – who is issuing the command  (%arpar) which also is the trigger for the Tasker profile(I can assign sender to trigger different profiles – currently set to node/alexa)
  • type – I have two types (not/com) – not – is issuing a notification to be displayed on my phone, com is a command to execute without a notification appearing.
  • message_id – I’m setting this manually as it will give me a choice to update an existing notification or create a new one if the id is different
  • notification_details – contains the info in the following order: title=:=text=:=icon this way I can customise all the notification details.
  • extra – anything else I would like to use – is added to the end of the string




NodeRED subflow

Instead of creating a complicated flow each time I want to send a message, I spent a little more time to create a flow which would compose the message according to your requirements then issue it to the correct device.

To send the AR message I’m still using the HTTP POST node but this time the URL is composed this way:

https://autoremotejoaomgcd.appspot.com/sendmessage?key={{{arkey}}}&message={{{source}}}=:={{{type}}}=:={{{msg_id}}}=:={{{payload}}}
  • arkey – stored in mgs.arkey  – keeps the AR Key for a target device
  • source – stored in mgs.source – keeps the info about the source of the command
  • type – stored in mgs.type – has not or com value
  • mgs_id – stored in mgs.mgs_id – has unique ID for AutoNotification
  • payload – the actual payload mgs.payload from the flow. Contains the info about the notification.

Before I  can use this subflow I have to pass additional arguments either directly from a flow or from a specially designed change node. Depending on arguments submitted to the flow, input goes through switch node which selects the correct values and the change node enters it into the HTTP POST node.




I will link the subflow for you, beware you will have to edit it to your preference.

Tasker AutoNotification profile

To receive the notification correctly I need a profile that will respond to the AR command and either execute the command or display a notification. The AutoNotification action has all the important fields filled in with AR variables.

TASKER PROFILE - NodeRED Notifications




As you can see, I’m using the value from %arcomm1 to display a notification or action a command. I could simply assign – perform a task action based on the value of the other fields if %arcomm1 is set to ‘com’. In the next tutorial, I will show you how I integrated this with the ‘Alexa, wake up my computer’  showcase.
Feel free to follow me on social media as it helps me grow, share it, and comment if you need any advice. You can also support me, and fund my projects directly.

AutoNotification
Price: Free+
AutoRemote
Price: $3.35
SHARE