Fledge Plugins

The following set of plugins are available for Fledge. These plugins extend the functionality by adding new sources of data, new destinations, processing filters that can enhance or modify the data, rules for notification delivery and notification delivery mechanisms.

South Plugins

South plugins add new ways to get data into Fledge, a number of south plugins are available ready built or users may add new south plugins of their own by writing them in Python or C/C++.

Fledge South Plugins

Name

Description

am2315

Fledge south plugin for an AM2315 temperature and humidity sensor

b100-modbus-python

A south plugin to read data from a Dynamic Ratings B100 device over Modbus

benchmark

A Fledge benchmark plugin to measure the ingestion rates on particular hardware

cc2650

A Fledge south plugin for the Texas Instruments SensorTag CC2650

coap

A south plugin for Fledge that pulls data from a COAP sensor

coral-enviro

A south plugin for the Google Coral Environmental Sensor Board

csv

A Fledge south plugin in C++ for reading CSV files

csv-async

A Fledge asynchronous plugin for reading CSV data

csvplayback

Plays a CSV at some configurable speed and each column of the file will become a datapoint of an asset using pandas library.

dht

A Fledge south plugin in C++ that interfaces to a DHT-11 temperature and humidity sensor

dht11

A Fledge south plugin that interfaces a DHT-11 temperature sensor

dnp3

A south plugin for Fledge that implements the DNP3 protocol

expression

A Fledge south plugin that uses a user define expression to generate data

FlirAX8

A Fledge hybrid south plugin that uses fledge-south-modbus-c to get temperature data from a Flir Thermal camera

game

The south plugin used for the Fledge lab session game involving remote controlled cars

http

A Python south plugin for Fledge used to connect one Fledge instance to another

iec104

A south plugin to gather data using the IEC 104 protocol.

iec61850

A south plugin for collecting data via the IEC 61850 protocol

ina219

A Fledge south plugin for the INA219 voltage and current sensor

J1708

A plugin that uses the SAE J1708 protocol to load data from the ECU of heavy duty vehicles.

J1939

A CANBUS J1839 plugin to collect data into Fledge.

lathesim

A simulation plugin used as a demonstration to show how data can be collected within Fledge. This plugin simulates various properties of a lathe.

modbus-c

A Fledge south plugin that implements modbus-tcp and modbus-rtu

modbustcp

A Fledge south plugin that implements modbus-tcp in Python

mqtt

Fledge South MQTT Subscriber Plugin

mqtt-sparkplug

A Fledge south plugin that implements the Sparkplug API over MQTT

opcua

A Fledge south service that pulls data from an OPC-UA server

open62541

A open62541 south plugin

openweathermap

A Fledge south plugin to pull weather data from OpenWeatherMap

person-detection

Fledge south service plugin that detects person in the live video stream

playback

A Fledge south plugin to replay data stored in a CSV file

pt100

A Fledge south plugin for the PT100 temperature sensor

random

A south plugin for Fledge that generates random numbers

randomwalk

A Fledge south plugin that returns data that with randomly generated steps

roxtec

A Fledge south plugin for the Roxtec cable gland project

rpienviro

A Fledge south service for the Raspberry Pi EnviroPhat sensors

s2opcua

An OPCUA south plugin based on the Safe & Secure OPCUA library. This plugin offers similar functionality to the fledge-south-opcua plugin but also offers encryption and authentication.

s7-python

fledge-south-s7-python repository

sensehat

A Fledge south plugin for the Raspberry Pi Sensehat sensors

sensorphone

A Fledge south plugin the task to the iPhone SensorPhone app

sinusoid

A Fledge south plugin that produces a simulated sine wave

systeminfo

A Fledge south plugin that gathers information about the system it is running on.

usb4704

A Fledge south plugin the Advantech USB-4704 data acquisition module

wind-turbine

A Fledge south plugin for a number of sensor connected to a wind turbine demo

North Plugins

North plugins add new destinations to which data may be sent by Fledge. A number of north plugins are available ready built or users may add new north plugins of their own by writing them in Python or C/C++.

Fledge North Plugins

Name

Description

azure

A north plugin that sends data to Microsoft Azure IoT Core.

gcp

A north plugin to send data to Google Cloud Platform IoT Core

harperdb

A north plugin that sends data to the HarperDB SQL/NoSQL data management platform

http

A Python implementation of a north plugin to send data between Fledge instances using HTTP

http-c

A Fledge north plugin that sends data between Fledge instances using HTTP/HTTPS

iec104

A Fledge north plugin for sending data using the IEC-104 protocol.

kafka

A Fledge plugin for sending data north to Apache Kafka

kafka-python

A Python implementation of a north plugin that can send data to Apache Kafka

mqtt-scripted

A mqtt-scripted north plugin

opcua

A north plugin for Fledge that makes it act as an OPC-UA server for the data it reads from sensors

opcuaclient

fledge-north-opcuaclient repository

s7-python

fledge-north-s7-python repository

thingspeak

A Fledge north plugin to send data to Matlab’s ThingSpeak cloud

OMF

Send data to OSIsoft PI Server, Edge Data Store or OSIsoft Cloud Services

Filter Plugins

Filter plugins add new ways in which data may be modified, enhanced or cleaned as part of the ingress via a south service or egress to a destination system. A number of north plugins are available ready built or users may add new north plugins of their own by writing them in Python or C/C++.

It is also possible, using particular filters, to supply expressions or script snippets that can operate on the data as well. This provides a simple way to process the data in Fledge as it is read from devices or written to destination systems.

Fledge Filter Plugins

Name

Description

asset

A Fledge processing filter that is used to block or allow certain assets to pass onwards in the data stream

change

A Fledge processing filter plugin that only forwards data that changes by more than a configurable amount

delta

A Fledge processing filter plugin that removes duplicates from the stream of data and only forwards new values that differ from previous values by more than a given tolerance

expression

A Fledge processing filter plugin that applies a user define formula to the data as it passes through the filter

fft

A Fledge processing filter plugin that calculates a Fast Fourier Transform across sensor data

Flir-Validity

A Fledge processing filter used for processing temperature data from a Flir thermal camera

log

A Fledge filter that converts the readings data to a logarithmic scale. This is the example filter used in the plugin developers guide.

metadata

A Fledge processing filter plugin that adds metadata to the readings in the data stream

omfhint

A filter plugin that allows data to be added to assets that will provide extra information to the OMF north plugin.

python27

A Fledge processing filter that allows Python 2 code to be run on each sensor value.

python35

A Fledge processing filter that allows Python 3 code to be run on each sensor value.

rate

A Fledge processing filter plugin that sends reduced rate data until an expression triggers sending full rate data

rename

A Fledge processing filter that is used to modify the name of an asset, datapoint or with both

replace

Filter to replace characters in the names of assets and data points in readings object.

rms

A Fledge processing filter plugin that calculates RMS value for sensor data

scale

A Fledge processing filter plugin that applies an offset and scale factor to the data

scale-set

A Fledge processing filter plugin that applies a set of sale factors to the data

threshold

A Fledge processing filter that only forwards data when a threshold is crossed

Notification Rule Plugins

Notification rule plugins provide the logic that is used by the notification service to determine if a condition has been met that should trigger or clear that condition and hence send a notification. A number of notification plugins are available as standard, however as with any plugin the user is able to write new plugins in Python or C/C++ to extend the set of notification rules.

Fledge Notification Rule Plugins

Name

Description

average

A Fledge notification rule plugin that evaluates an expression based sensor data notification rule plugin that triggers when sensors values depart from the moving average by more than a configured limit.

delta

A delta rule plugin

outofbound

A Fledge notification rule plugin that triggers when sensors values exceed limits set in the configuration of the plugin.

simple-expression

A Fledge notification rule plugin that evaluates an expression based sensor data

watchdog

Notification rule designed to be triggered if data for a given asset is not ingested for a period of time.

Notification Delivery Plugins

Notification delivery plugins provide the mechanisms to deliver the notification messages to the systems that will receive them. A number of notification delivery plugins are available as standard, however as with any plugin the user is able to write new plugins in Python or C/C++ to extend the set of notification deliveries.

Fledge Notification Delivery Plugins

Name

Description

alexa-notifyme

A Fledge notification delivery plugin that sends notifications to the Amazon Alexa platform

asset

A Fledge notification delivery plugin that creates an asset in Fledge when a notification occurs

blynk

A Fledge notification delivery plugin that sends notifications to the Blynk service

control

A control notify plugin

customasset

A customasset notify plugin

email

A Fledge notification delivery plugin that sends notifications via email

google-hangouts

A Fledge notification delivery plugin that sends alerts on the Google hangout platform

ifttt

A Fledge notification delivery plugin that triggers an action of IFTTT

mqtt

A notification delivery plugin that sends messages via MQTT when a notification is triggered or cleared. This is the example used in the notification delivery plugin writers guide.

operation

A notification delivery plugin that will cause an operation to be trigger via the set point control operation API of a south service.

python35

A Fledge notification delivery plugin that runs an arbitrary Python 3 script

setpoint

A fledge notification plugin that invokes a set point operation on a south service.

slack

A Fledge notification delivery plugin that sends notifications via the slack instant messaging platform

telegram

A Fledge notification delivery plugin that sends notifications via the telegram service