User Guide: Anomaly Detection
WARNING: This Feature is currently still in development and not yet implemented in the main codebase
OpenRemote includes the functionality to set up anomaly detection on all numeric attributes. This can be useful when you want to keep track of all the times a sensor sends an abnormal datapoint or if you want to be notified when such an datapoint is received.
Image of history chart with anomaly marked here
Currently there are 3 different types of detection methods you can use when configuring the anomaly detection on an attribute. All of these have their strengths and weaknesses based on the different types of data they receive.
This is the simples method to detect an outlier. To validate a datapoint it will look at a period of time before that datapoint, find the highest and lowest value and add an error margin on top of those values. These new minimum and maximum values will be the limit in which an point will be valid and any value outside these boundaries will be marked as an anomaly. The error margin and period of time the detection method uses can both be changed when configuring the method. Visualization of the limits generated by the Range method
The advantage of this method is that it's easy to understand but can still detect the larger outliers. However it falls short when detecting a big increase during a time where the data is already far below the maximum value.
The change method works in a similar way to the Range method. It also looks at a previous period of data but instead of checking the value of the datapoints it calculates the difference between all points to get the largest increase and decrease in that period. Using these largest changes in the data it will calculate the limits for the next incoming datapoint using the last known value as a starting point. Visualization of the limits generated by the Change method
This method will follow the data more closely as seen in the visualization above but needs more careful configuration to ensure it wont detect to to many false anomalies.
If the attribute you are configuring already has predicted datapoints, this will be the easiest method to set up. When new data is received it is compared to predicted datapoints from that time and if the difference is larger as a limit you can configure yourself it will be marked as an anomaly. Visualization of the limits generated by the Forecast method
This accuracy of this method is dependent on the quality of the predicted data. This can come from different sources like OpenRemote's build in Forecasting service
To get started with anomaly detection add the 'anomaly detection' configuration item to the attribute you want to monitor. This will add a panel where you can add different methods.
- Overview
- Bluetooth Mesh
- HTTP
- KNX
- LoRa
- MQTT
- Simulator
- SNMP
- Serial
- TCP
- UDP
- Velbus
- Websocket
- Z-Wave
- Partner Integrations
- OpenRemote as Edge Gateway
- Auto provisioning devices and users
- Connect ESP32 or ESP8266 using MQTT
- Firmware updating with Hawkbit
- Partner Integrations
- Weather data using HTTP Agent
- Connect Your MQTT Client
- ChirpStack LoRaWAN Integration
- Celcius to Fahrenheit with Flow
- Configure mobile app behaviour
- Simulating data in attribute
- Preparing the environment
- Installing and using Docker
- Setting up an IDE
- Building and testing
- Working on UI and apps
- Working on maps
- Docker compose profiles
- Creating a custom project
- Maintaining an installation
- Adding Widgets on Insights
- Working on the mobile consoles
- Connecting Protocol adaptors with Agents
- Edge device firmware updating
- Licensing guidelines for contributors
- Useful commands and queries
- Data migration