AN39 Mobile apps for iOS to control NETIO power sockets and other devices using HTTP get and other protocols | NETIO products: Smart power sockets controlled over LAN and WiFi
Tags: 
User library

The AN39 Application Note gives an overview of iOS (iPhone) apps that can be used for home automation to control electrical outlets and other devices over http get (URL API) or Modbus/TCP.

 

Do you have any questions?

Supported devices: NETIO 4AllPowerPDU 4CNETIO 4PowerCable REST, PowerCable MQTT, PowerCable ModbusPowerBOX 3Px, PowerPDU 4PS, PowerDIN 4Pz

 

Frequent needs of NETIO customers

 

Control using the URL API (http get) protocol

Very simple control method based on accessing a specific URL over http. The URL includes parameters (output1=1) indicating which outlet to switch and to what state.

 

URL API example (toggles the state of output 1):
http: //192.168.1.30/netio.cgi?pass=netio-psw&output1=4

 

If the value 4 looks surprising because one might expect 0 or 1, here is the list of actions supported by NETIO devices:

 

Actions with the output:

  •  0 = Output switched off (Off)
  •  1 = Output switched on (On)
  •  2 = Output switched off for a short time (short Off)
  •  3 = Output switched on for a short time (short On)
  •  4 = Output switched from one state to the other (toggle)
  •  5 = Output state unchanged (no change)

 

Many manufacturers use a similar method, usually called “http get”, “URL request” and so on.

 

For details about using URL API and creating the control string, see AN19: URL API (http GET) protocol to control NETIO 4x power sockets/outlets.

>> NETIO M2M protocols – URL API

 

 

Configuring URL API in NETIO sockets

The URL API protocol needs to be enabled in the device. In the M2M API Protocols – URL M2M API section of the NETIO web interface, enable URL M2M API.

Set the Passphrase and click Save Changes. After saving the changes, the device restarts (about 1 minute).

 

Online demo access on NETIO device web

NETIO 4All Online demo 

The online demo is a physical NETIO device connected to the Internet at a public IP address. The manufacturer makes available a demo device of each model. The online demos have different configurations, so it is possible to test the behavior without having the devices physically in hand.

In the online demos, configuration changes cannot be saved.

 

To access the online demo of a product, click “TRY ON-LINE DEMO” at the respective product page.

 

iOS apps

Curler

 

Curler is a very simple iOS app that can control NETIO smart socket devices using URL API protocols. Curler is very simple to use as the buttons can be added onto the screen. The Curler mobile app for iOS has an appealing minimalistic design, and if you are willing to spend $0.99 for the Pro version to get more than two buttons, we definitely recommend Curler.

  • Screenshots of Curler, ios app for controlling NETIO networked smart power sockets

 

Curler app for iOS with NETIO products

NETIO device

Device protocols

Can be controlled with Curler

NETIO 4All

Supports URL API

NETIO PowerPDU 4C

Supports URL API

NETIO 4

Supports URL API

NETIO PowerCable REST

Supports URL API

NETIO PowerCable Modbus

-

-

NETIO PowerCable MQTT

-

-

NETIO PowerCable IQRF

-

-

 

 

Alur

 

 

Alur is a free app (the Pro version only gets rid of ads) that lets you specify multiple IP addresses (NETIO devices) and add HTTP requests for them, so that all devices and their associated requests are concisely arranged.

Alur supports all HTTP methods so that you can use URL API or even send raw JSON or XML data. If you prefer free-of-charge apps, this one is for you.

 

The disadvantage is the lack of a simple button, controlling takes more taps.

 

It is also possible to use JSON or XML for control; however, it is more difficult to set the payload in comparison to the simple URL API.

 

When adding a new device, first specify the URL or IP address of the device and then the parameters after a slash.
 

  • Screenshots of Alur, ios app for controlling NETIO networked smart power sockets

 

Setting addresses in the Alur app

In Alur, the way of specifying addresses is a little peculiar. Enter the address of your NETIO device as the project (device) address (e.g. http://192.168.101.165), and for each HTTP request, specify the rest of the URL API string (e.g. /netio.cgi?pass=&output1=4).

 

Alur app for iOS with NETIO products

NETIO device

Device protocols

Can be controlled with Alur

NETIO 4All

Supports URL API

NETIO PowerPDU 4C

Supports URL API

NETIO 4

Supports URL API

NETIO PowerCable REST

Supports URL API

NETIO PowerCable Modbus

-

-

NETIO PowerCable MQTT

-

-

NETIO PowerCable IQRF

-

-

 

 

HTTPBot

 

Upgrade to paid version:

  • $12.99
  • Full history of all HTTP requests (the free version only keeps the last 10)
  • HTTP requests organized into collections
  • Load a web page and explore what HTTP requests it makes
  • Filter specific data from the HTTP responses

 

HTTPBot is a nicely designed app that lets you create custom HTTP GET and POST requests. For NETIO, the URL API as well as JSON API or XML API can be used.

 

HTTPBot keeps a history of submitted requests and lets you create a list of favorite requests. The Pro version can create groups of devices and requests and keeps a history of all your requests, not just the 10 most recent ones.

 

A disadvantage of the app is that the history is needed in case of multiple commands (multiple buttons to be controlled). There is no simple control panel.

  • Screenshots of HTTPBot, ios app for controlling NETIO networked smart power sockets

 

HTTPBot app for iOS with NETIO products

NETIO device

Device protocols

Can be controlled with HTTPBot

NETIO 4All

Supports URL API, XML, JSON

NETIO PowerPDU 4C

Supports URL API, XML, JSON

NETIO 4

Supports URL API, XML, JSON

NETIO PowerCable REST

Supports URL API, XML, JSON

NETIO PowerCable Modbus

-

-

NETIO PowerCable MQTT

-

-

NETIO PowerCable IQRF

-

-

 

 

 

Netio Mobile

 

 

NETIO Mobile is an app created directly by the producer of NETIO smart socket devices. However, it only supports NETIO devices so it cannot be used with third-party products.

 

All types of NETIO devices can be added. The main screen shows energy consumption. Scheduler can be activated/deactivated for each output. 

 

NETIO Mobile shows the current output states (listed by device). Swipe to switch the output.

 

The app does not support cloud services; your mobile phone must be connected to the same network.

  • Screenshots of NETIO Mobile, ios app for controlling NETIO networked smart power sockets

 

NETIO Mobile app for iOS

NETIO device

Device protocols

Can be controlled with NETIO Mobile

NETIO 4All

XML communication

NETIO PowerPDU 4C

XML communication

NETIO 4

XML communication

NETIO PowerCable REST

-

-

NETIO PowerCable Modbus

-

-

NETIO PowerCable MQTT

-

-

NETIO PowerCable IQRF

-

-

 

>> NETIO Mobile app

 

 

Actions – HTTP Request Sender

 

 

The Actions – HTTP Request Sender app is very easy to use, has a nice design and is one of the few that can store a HTTP request as a button. This reduces the number of taps needed to send a HTTP request.

 

The app supports all HTTP methods, such as HTTP GET and POST, allowing the use of the standard URL API as well as JSON API or XML API if needed. New HTTP requests are very easy to create, without unneccessary steps. The app arranges requests (butttons) into concise groups, making it easy to control one particular device amongst many.

  • Screenshots of Actions – HTTP Request Sender, ios app for controlling NETIO networked smart power sockets

 

Modifying an existing HTTP request button in Actions

Swipe the button from right to left to pop up its options.

 

Actions – HTTP Request Sender with NETIO products

NETIO device

Device protocols

Can be controlled with Actions – HTTP Request Sender

NETIO 4All

Supports URL API, XML, JSON

NETIO PowerPDU 4C

Supports URL API, XML, JSON

NETIO 4

Supports URL API, XML, JSON

NETIO PowerCable REST

Supports URL API, XML, JSON

NETIO PowerCable Modbus

-

-

NETIO PowerCable MQTT

-

-

NETIO PowerCable IQRF

-

-

 

 

iHTTP

 

 

iHTTP is a very simple app. It supports all HTTP methods, including the POST method to send raw JSON or XML. You can create a list of your favourite HTTP requests.

 

iHTTP is available free of charge and shows small, unobtrusive ads. The app is completely free and contains everything needed for simple control.

  • Screenshots of iHTTP, ios app for controlling NETIO networked smart power sockets

 

iHTTP with NETIO products

NETIO device

Device protocols

Can be controlled with iHTTP

NETIO 4All

Supports URL API, XML, JSON

NETIO PowerPDU 4C

Supports URL API, XML, JSON

NETIO 4

Supports URL API, XML, JSON

NETIO PowerCable REST

Supports URL API, XML, JSON

NETIO PowerCable Modbus

-

-

NETIO PowerCable MQTT

-

-

NETIO PowerCable IQRF

-

-

 

 

MQTTool

 

If you want or need to use MQTT to control your smart sockets, MQTTool is a good choice. The simple iOS app with an elegant design works as a MQTT client that can control your smart devices and display subscribed messages. MQTTool remembers the most recently used “Topic”, making it easier to send new messages.

 

Due to the way MQTT works, the app communicates with a MQTT broker. The NETIO smart outlet or another controlled device needs to be connected to the same broker. The app will not work without a MQTT broker. For an example that uses a free account at HiveMQ, see:

 

 

 

For more information, see: MQTT in the NETIO Glossary

  • Screenshots of MQTTool, ios app for controlling NETIO networked smart power sockets with OPEN API

 

MQTTool with NETIO products

NETIO device

Device protocols

Can be controlled with MQTTool

NETIO 4All

Supports MQTT / MQTTflex

NETIO PowerPDU 4C

Supports MQTT / MQTTflex

NETIO 4

Supports MQTT / MQTTflex

NETIO PowerCable REST

-

-

NETIO PowerCable Modbus

-

NETIO PowerCable MQTT

Supports MQTT / MQTTflex

-

NETIO PowerCable IQRF

-

-

 

 

Reflection for UNIX SSH Client

 

This utility is intended rather for testing than for regular use.

 

With this one, you can go really “old school” and use (or test) the Telnet protocol when controlling devices such as smart sockets. From this perspective, Reflection for UNIX SSH Client is the best in its class.

 

The application is essentially a Telnet client with a nice and simple design. All connections that you create are stored for possible future use. The Pro version only adds Task Automation, iCloud synchronization and barcode scanning; the basic usage is not restricted in any way.

  • Screenshots of Reflection for UNIX SSH Client, ios app for controlling NETIO networked smart power sockets with OPEN API

 

Reflection for UNIX SSH Client with NETIO products

NETIO device

Device protocols

Can be controlled with Reflection for UNIX SSH Client

NETIO 4All

Telnet M2M API

NETIO PowerPDU 4C

Telnet M2M API

NETIO 4

Telnet M2M API

NETIO PowerCable REST

-

-

NETIO PowerCable Modbus

Telnet M2M API

NETIO PowerCable MQTT

-

-

NETIO PowerCable IQRF

-

-

 

 

FAQ

1) Where can I find information on how to set the URL API string?

All information about using the NETIO URL API can be found in AN19: URL API (http GET) protocol to control NETIO 4x power sockets/outlets.

 

2) How can I use raw JSON?

Enable the JSON M2M API protocol for READ-WRITE on your NETIO smart socket device. For apps that can use raw JSON, set the HTTP method to HTTP POST, and copy the netio.json file that you wish to use for controlling your NETIO smart socket as a string into the Body parameter in the request settings.

 

3) Is it necessary to physically have a NETIO smart socket device for testing?

No, the apps can be tested with the online demos that NETIO makes available for you.

To access the NETIO online demos, log in as demo / demo at the following websites:

http://netio-4all.netio-products.com/

https://netio-4c.netio-products.com/

http://netio-4.netio-products.com/

http://pc-modbus.netio-products.com:22888/

http://pc-rest.netio-products.com:22888

http://pc-mqtt.netio-products.com:22888

 

4) How can I set the address in the Alur app?

Addresses in the Alur app are configured in a different way compared to other applications. Enter the address of your NETIO device as the project (device) address (e.g. http://192.168.101.165), and for each HTTP request, specify the rest of the URL API string (e.g. /netio.cgi?pass=&output1=4).

  • Screenshot of Alur, ios app for controlling NETIO networked smart power sockets with URL API

 

 


 

Supported FW version for NETIO 4x:

3.1.0 and higher  (Firmaware archive)

 

Supported FW version for PowerCable xxx:

2.0.2 and higher (Firmware archive)

 

 


 

Ask for a price or technical parameters

For device testing use name/password demo/demo