Skip to content

SoulissApp API

dario edited this page Apr 2, 2017 · 21 revisions

Intents

Intents are Android asynchronous messages which allow application components to request functionality from other Android components. Intents allow the interaction with components from the same applications as well as with components contributed by other applications.

SoulissApp intents can be used from any other Android to interact with SoulissApp and with the Souliss network, so that external application can send commands and receive status.

There are several implementation of Itents in SoulissApp and has been designed to integrate with Automate and Tasker application for Android.

If you don't want to spend much time on the theory, skip Generic Intents and go directly to Automate and Tasker integration.

Generic Intents

The following intents are available

PACKAGE ACTION
it.angelic.soulissclient it.angelic.soulissclient.SEND_COMMAND
it.angelic.soulissclient it.angelic.soulissclient.RAW_MACACO_DATA

SEND_COMMAND

The SEND_COMMAND is used to issue a command through the DATA URI that should match the command as per Voice Commands as per below list:

  • [<toggle>|<turn on>|<turn off>|<open>|<close>] [deviceName+] [nodeName]
  • [sceneName]
  • [PING] useful to force SoulissApp to get "connected" with the Gateway

As example, an Intent like the below one will turn on a light called Main Light in SoulissApp. You have to use the language setting for SoulissApp, the commands available in the supported languages are listed here.

PACKAGE  =  it.angelic.soulissclient
ACTION   =  it.angelic.soulissclient.SEND_COMMAND
DATA URI =  turn on main light

You can use multiple deviceName in the same command, renaming your devices with a unique name is reccomended. Consider to don't use spaces in names if you have multiple devices with similar name.

RAW_MACACO_DATA

The RAW_MACACO_DATA is used to receive raw frames from the Souliss network, these can be used to identify the state of the network.

Automate and Tasker Plugin

The Plugin is a special Intent case defined by Tasker and supported in many automation application for Android as Automate. Using the Plugin you can send command or receive state in Automate and Tasker.

Action Plugin

Action Plugin (also called a Setting Plugin) will extend the number of things that a user can cause Tasker to do as execute a scenario, use the following syntax matching the language settings of SoulissApp.

  • [<toggle>|<turn on>|<turn off>|<open>|<close>] [deviceName+] [nodeName]
  • [sceneName]
  • [PING] useful to force SoulissApp to get "connected" with the Gateway

Action Plugin

This integration implements Tasker's Action Plugin. The plugin lets the user control soulissApp via String commands, pretty much like voice commands.

Find the Action Plugin in

Menu
Automate Apps, Plugin Action
Tasker Task, Plugin, SoulissApp

Condition Plugins

Condition Plugins are designed to asynchronously reply to a user-specified query. The result value is a boolean, that specify if the given condition is true. Query must contain the desired status value, to let SoulissApp determine whether the condition is verified or not. For example, the query string "Dining Room Light On" would be true if the specified device's output is "On".

Condition Plugin

Find the Condition Plugin in

Menu
Automate Apps, Plugin Decision
Tasker Profile, Plugin, SoulissApp

Additionally, the query includes the following variables, that will be visible in any tasks that run as a result of a change in plugin state.

  • %devicename - name of the matched device (if any)
  • %numtipici - total number of devices in the accessed Souliss network
  • %devicestatus - actual status of the recognized device (if any)
Clone this wiki locally