The HTTP Request Sender module in Xeoma IP security cameras software
Starting from Xeoma 14.5.19, released on May 13, 2014, IP security cameras software Xeoma offers to use its HTTP Request Sender module.
This module allows you to generate and send HTTP requests. It will work perfectly with smart home systems or supplement your home security system.
Here is a glossary of terms you are going to encounter throughout this article:
- URL* – Uniform Resource Locator, the address of a resource/device we are going to contact over HTTP. Sample:
- URN* – Uniform Resource Name, the name of the specific part of the resource/device (the one from URL) we’d like to communicate with. Sample:
- URI* – Uniform Resource Identifier, a unique combination of URL and URN that identifies both the exact part and the exact address of a resource/device. Sample:
*If you happen to know the intricacies of HTTP/HTTPS, it’s possible that you have a different way to define these terms – there are, indeed, multiple approaches. However, we chose this one for simplicity’s sake, since overall HTTP terminology is not the subject of this article.
If you want to send motion-triggered requests, connect the module after the Motion Detector. The module will send HTTP requests with configurable parameters to the specified address when it receives the signal from the previous module in the chain (this is called an “event”). For example, when the motion is detected, the module will send HTTP request to the “HTTP Switcher” module and it will enable other modules, for example:
Here we see that “HTTP Request Sender” sends requests to enable sound alarm when motion is detected. Please pay attention to the sensitivity level and the object size settings of the Motion Detector.
Let’s have a closer look at the HTTP Request Sender’s settings:
- Test – this button allows you to test the connection between the sender and the receiver of the HTTP request; if something goes wrong, it will show an appropriate error message.
- Resulting URL – this box will show the full text (URI) of the HTTP request, this is useful for troubleshooting, since you can see exactly what is going to be sent.
- User name (login) and Password – if the request’s receiver requires authorization, you can indicate the credentials here; if not – these can be left blank.
- Host name or IP address and Port – here you can input the request’s content, including the receiver’s address (direct IP addresses and DNS names are both fine), port and any other parameters (e.g. URN, HTTP or HTTPS).
- Show all parameters – when checked, this box shows extra spots for inputting parameter/value pairs, those will be added to the Resulting URL as
parameter_name=value, each pair separated from another with a “&” sign.
- Send – this drop-down menu decides when the request is to be sent: before, after or during the event; if “at a fixed interval” is chosen, you will see a slider allowing you to pick the time between such requests.
- Event name – here you can input the text you wish to associate with that request; this box directly relates to the next item on this list.
- Show on screen – when checked, this box causes Xeoma to show the Event name in the camera’s window; this is useful for both troubleshooting and user notifications.
- Sending method – this drop-down menu defines which HTTP method to use when sending the request; the following methods are currently available:
If POST is selected, Xeoma will also show a separate box for “Additional headers” – here you can indicate custom headers for the HTTP request.
Here is an example of a simple request:
This is an HTTP GET request without any authorization that sends one parameter (state=on) to the address 192.168.1.23 with this URN: “/protect/rb08.cgi” (“?” is used to separate the URN from the actual command). This request is sent only after the event is finished (i.e. the previous module in the chain started triggering and then stopped).
Here is a more comprehensive example:
This is an HTTPS POST request with authorization that sends to the URI
https://192.168.0.12/report a custom header (Extra-Token: 1122ggff123123) and one parameter (problem), whose value comes from the Problems Detector. This request is sent right as the event starts.
This request uses a macro
%REPORT%, read more on what they are and how to use them in this article.
21 May 2014; updated 01 October 2021
HTTP Switcher module to get HTTP requests
HTTP Marking – another good pair for HTTP Request Sender
API for integration of Xeoma