Integration ob web-services and other devices is simple
This is all too complicated - really?
The www protocol
The most relevant protocol of the world wide web is HTTP. The client, most probably a web browser sends a request to a server and receives a response
A request starts with a header containing additional information and eventually additional informational data. The server's reply also contains a header and the requested data.
Different types of requests are used for different server actions. The most common type is a GET request to fetch data connected to an address.
To decide if the request was successful, the response-header contains an HTTP status code. Common codes are 200 - OK if everything was fine or 404 - Not Found if the requested resource does not exist.
EibPC², do I need an umbrella today?
Where to get weather information?
Multiple services provide access to current conditions and forecast free of charge.
EibStudio 4 integrates the service WeatherBit.
How to get actual data?
Many services provide a documentation of their Web-API as an interactive page to send and test requests. A successful request often requires certificate-based encryption (TLS). The certificate must be accepted by the EibPC² or validation of the server certificate must be disabled.
Many services alsp need some kind of authentication. See below for details.
Having a smartphone app does not make a Smart device
How smart can it be to require multiple separate apps, one for every device?
Integrate your Hue lights into KNX scenes and you are even not required to turn on your light by hand.
Or control your FRITZ!DECT radiator controller together with your automated KNX heating actuator.
We show how to request information from the web service Tankerkönig which provides fuel prices. The server response is processed and visualized.
This video teaches how to use the EibPC² as Modbus TCP gateway. It can be used as ModBus TCP Master and Slave, to talk to EV chargers, batteries, heating devices, and many more.
Multiple different authentication methods exist, and for every service the supported ones have to be checked. Common methods are:
HTTP Basic Auth
The server expects a special header containing username and password to be sent with every request.
Challange-Response with Shared Secret
Instead of transmitting the password directly, the server sends a random number which is encrypted by the client using his password. The server, aware of the correct password, compares the client's response with what it expects. If it is correct, the client must know the correct password.
Bearer-Authentication / Bearer-Token / JSON Web Token
The server creates a key which has to be added to every request. This is very common for Web-APIs.