Virtual HTTP Input

INTRODUCTION

The virtual HTTP inputs allows you to readout a value from a website or a XML-File. This feature makes it possible to implement data inquiry of a device with web interface without PicoC.

Fields of application: heating control, PV-inverter, multimedia uses, etc.

CREATE VIRTUAL HTTP INPUT

In the periphery window click on virtual inputs and then select virtual HTTP input.

Loxone Config Virtual HTTP Input

In the Properties window of the virtual HTTP input, the protocol, address and port of the device to be controlled can be entered. Furthermore, you can set the polling cycle.

In this example a value from a website gets periodically read out. To keep it simple we use the state of a Miniserver input in this example. However, it works in a similar manner with other devices.

If authentication is needed, you can add username and password to the string as follows: We only support the Basic Authentication Scheme.

http://USERNAME:PASSWORD@IP-address

In this example we connect to the IP 10.44.44.40 with user “admin” and password “admin”.

/dev/sps/io/Test/state is the webservice-command to get the value of input “Test” on the Miniserver.

Loxone Config Virtual HTTP Input Properties

VIRTUAL HTTP COMMAND

So far the website will be reloaded every 10 seconds. To get a value, we need a virtual command.

Highlight the recently created virtual HTTP input in the periphery window and then select virtual HTTP input command.

Loxone Config Virtual HTTP Input Command

Now we take a look on the website we would like to analyse.

For that reason we simply open the page in our browser.

As shown in the screenshot, there is the keyword value=” in front of the value we would like to get:

Loxone Config Virtual HTTP Input Command Value

This is significant for the command recognition.

Our setting: value=”\v

That means: take the value (\v), after value=”

Loxone Config Virtual HTTP Input Command Value 2

A common mistake is to use \1 instead of \v. On websites, numbers are often displayed as single ASCII signs. If you interpret the sign as ASCII it will be the value it shows plus 38. For example the digit 3 has the ASCII value 41.

Back to the example:

Every 10 seconds we will receive the value of input Test on the Miniserver with the IP 10.44.44.30.

en_kb_config_virtual_http_value_test

EXTENDED COMMANDS

Just a brief overview which commands and control signs are available:

\v Using the variable \v, the virtual HTTP input can take on the value given by the sender
\1 Byte 1 (lowest significant bit)
\2 Byte 2
\3 Byte 3
\4 Byte 4 (most significant bit)
\h Using the variable \h, the virtual HTTP input can take on the hex value given by the sender
\x hexadecimal such as \x09 for 0x09
\\ \ (Backslash)
\. any sign
\w any word
\# any number
\t tab(0x09)
\b tab (0x09) or blank (0x20)
\r Carriage Return (0x0D)
\n Line Feed (0x0A)
\d any digit (0-9)
\m any alphabetic< character (A-Z,a-z) or digit (0-9)
\a anyalphabetic character (A-Z,a-z)
\s12 skip 12 characters (\s17 = skip 17 characters)
\ixxx\i jump to xxx such as \ivalue\i jumps after value

It is possible to use and combine multiple control signs in one command.