Skip to content

Commit b24b4dd

Browse files
committed
Water metering solution
1 parent 8255f61 commit b24b4dd

33 files changed

+543
-231
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
2+
* TOC
3+
{:toc}
4+
5+
{% include templates/solution-templates.md %}
6+
7+
Fleet Tracking template refers to the bus tracking solution.
8+
With this template you get an interactive dashboard with real-time vehicles’ tracking
9+
as well as route details, status of the asset on the route, etc.
10+
11+
{% include images-gallery.html imageCollection="solution-highlights" %}
12+
13+
### Dashboard
14+
15+
As part of this solution, we have created the "Fleet Tracking" dashboard that displays data from multiple buses. You may use the dashboard to:
16+
17+
* observe location and status of the buses;
18+
* monitor bus tracking events (alarms);
19+
* browse individual bus route, speed and fuel level history;
20+
21+
The dashboard has two states. The main state displays the list of the buses, their location on the map as well as the list of their alarms.
22+
You may browse bus location history popup by clicking on the "Route history" icon located on the right side of the bus table row.
23+
You may drill down to the bus details state by clicking on the table row. The bus details state allows to browse alarms, location, speed, and fuel level history.
24+
25+
You may always customize the "Fleet Tracking" dashboard using dashboard development [guide](/docs/{{docsPrefix}}user-guide/dashboards/).
26+
27+
### Devices
28+
29+
We have already created four bus tracking devices and loaded some demo data for them.
30+
See solution [instructions](/docs/{{docsPrefix}}solution-templates/overview/#install-solution-template) for the list of created devices and their credentials.
31+
32+
Solution expects that the bus tracking device will upload "latitude", "longitude", "speed", "fuel" and "status" values.
33+
The most simple example of the expected payload is in JSON format:
34+
35+
```json
36+
{"latitude": 37.764702, "longitude": -122.476071, "speed": 50, "fuel": 5, "status": "On route"}
37+
```
38+
{: .copy-code}
39+
40+
41+
You may find the exact commands to send data on behalf of created devices in the solution [instructions](/docs/{{docsPrefix}}solution-templates/overview/#install-solution-template).
42+
See [connecting devices](/docs/{{docsPrefix}}getting-started-guides/connectivity/) for various connectivity options to connect real devices.
43+
44+
### Alarms
45+
46+
Alarms are generated using two Alarm rules in the "bus" [device profile](/docs/{{docsPrefix}}user-guide/device-profiles/).
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
2+
* TOC
3+
{:toc}
4+
5+
ThingsBoard Cloud provides convenient IoT solution templates to reduce time-to-market for your IoT products.
6+
The template includes interactive dashboards, processing logic, sample devices, users and all other required [entities](/docs/paas/user-guide/entities-and-relations/).
7+
You can treat template as a complete PoC/MVP.
8+
9+
This guide covers basic operations with solution templates.
10+
11+
{% include templates/solution-templates.md %}
12+
13+
## Browse solution templates
14+
15+
As a tenant administrator, you may perform the following actions over solution templates
16+
17+
{% include images-gallery.html imageCollection="browse-solution-templates" showListImageTitles="true" %}
18+
19+
## Install solution template
20+
21+
{% include images-gallery.html imageCollection="install-solution-template" showListImageTitles="true" %}
22+
23+
## Remove solution template
24+
25+
Navigate to the "Solution templates" menu item. Locate the template and use "Delete" button.
26+
This will delete all [entities](/docs/paas/user-guide/entities-and-relations/) that were created during the installation.
27+
Please note that entities that you might have created through the solution dashboard (users, devices, etc) will not be deleted automatically.
28+
29+
{% include images-gallery.html imageCollection="remove-solution-template" %}
30+
31+
## Connect real devices
32+
33+
The template instruction includes information about the payload that solution expects to receive from device to function properly.
34+
The instruction also contains sample commands to push the data. Those commands use valid credentials of the auto-generated devices.
35+
We recommend to use those commands to get familiar with the solution. Use [How to connect your device?](/docs/paas/getting-started-guides/connectivity/) guide afterwards.
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
2+
* TOC
3+
{:toc}
4+
5+
{% include templates/solution-templates.md %}
6+
7+
Smart Office template represents a basic work space monitoring and management solution.
8+
With this template you get an interactive dashboard with the ability to control HVAC system,
9+
and have a high-level report of key metrics necessary for effective and proactive office management.
10+
11+
{% include images-gallery.html imageCollection="solution-highlights" %}
12+
13+
### Dashboard
14+
15+
As part of this solution, we have created the "Smart Office" dashboard that displays data from multiple devices. You may use the dashboard to:
16+
17+
* observe office sensors and their location;
18+
* browse indoor temperature and power consumption history;
19+
* monitor temperature alarms;
20+
* control HVAC (requires connected device);
21+
* observe specific details for each sensor.
22+
23+
The dashboard has multiple states. The main state displays the list of the devices, their location on the office map as well as the list of their alarms.
24+
You may drill down to the device details state by clicking on the table row. The device details are specific to the device type.
25+
26+
You may always customize the "Smart Office" dashboard using dashboard development [guide](/docs/{{docsPrefix}}user-guide/dashboards/).
27+
28+
### Devices
29+
30+
We have already created "Office" asset and 4 devices related to it. We have also loaded demo data for those devices.
31+
See solution [instructions](/docs/{{docsPrefix}}solution-templates/overview/#install-solution-template) for the list of created devices and their credentials.
32+
33+
Solution expects specific telemetry from each device based on its type.
34+
You may find payload examples below.
35+
36+
**Energy meter**
37+
38+
39+
Payload example:
40+
41+
```json
42+
{"voltage": 220, "frequency": 60, "amperage": 16, "power": 3000, "energy": 300 }
43+
```
44+
{: .copy-code}
45+
46+
**Water meter**
47+
48+
49+
Payload example:
50+
51+
```json
52+
{"water": 2.3, "voltage": 3.9 }
53+
```
54+
{: .copy-code}
55+
56+
**Smart sensor**
57+
58+
59+
Payload example:
60+
61+
```json
62+
{"co2": 500, "tvoc": 0.3, "temperature": 22.5, "humidity": 50, "occupancy": true}
63+
```
64+
{: .copy-code}
65+
66+
67+
**HVAC**
68+
69+
70+
Payload example:
71+
72+
```json
73+
{"airFlow": 300, "targetTemperature": 21.5, "enabled": true}
74+
```
75+
{: .copy-code}
76+
77+
78+
HVAC device also accepts commands from the dashboard to enable/disable air conditioning as well as set target temperature.
79+
The commands are sent using the platform [RPC API](docs/{{docsPrefix}}user-guide/rpc/).
80+
81+
You may find the exact commands to send data on behalf of created devices in the solution [instructions](/docs/{{docsPrefix}}solution-templates/overview/#install-solution-template).
82+
See [connecting devices](/docs/{{docsPrefix}}getting-started-guides/connectivity/) for various connectivity options to connect real devices.
83+
84+
### Alarms
85+
86+
Alarms are generated using two Alarm rules in the "smart-sensor" [device profile](/docs/{{docsPrefix}}user-guide/device-profiles/).
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
2+
* TOC
3+
{:toc}
4+
5+
{% include templates/solution-templates.md %}
6+
7+
Temperature & Humidity sensors template represents a generic monitoring solution suitable for multiple applications.
8+
With this template you get an interactive dashboard with ability to manage sensors and user-friendly alarms configuration.
9+
10+
Solution automatically creates a customer and two customer users.
11+
Those users will have the dashboard assigned to them, and the user will see the dashboard in full screen mode.
12+
13+
{% include images-gallery.html imageCollection="solution-highlights" %}
14+
15+
### Dashboard
16+
17+
As part of this solution, we have created the "Temperature & Humidity" dashboard that displays data from multiple sensors. You may use the dashboard to:
18+
19+
* add new sensors;
20+
* change the location of the sensors;
21+
* configure the alarm thresholds;
22+
* browse historical data.
23+
24+
The dashboard has two states. The main state displays the list of the sensors, their location on the map as well as the list of their alarms.
25+
You may drill down to the sensor details state by clicking on the table row. The sensor details state allows to browse temperature and humidity history, change sensor settings and location.
26+
27+
You may always customize the "Temperature & Humidity" dashboard using dashboard development [guide](/docs/{{docsPrefix}}user-guide/dashboards/).
28+
29+
### Devices
30+
31+
We have already created two sensors and loaded some demo data for them. See solution [instructions](/docs/{{docsPrefix}}solution-templates/overview/#install-solution-template)
32+
for the list of created devices and their credentials.
33+
34+
Solution expects that the sensor device will upload "temperature" and "humidity" values.
35+
The most simple example of the expected payload is in JSON format:
36+
37+
```json
38+
{"temperature": 42, "humidity": 73}
39+
```
40+
{: .copy-code}
41+
42+
You may find the exact commands to send data on behalf of created devices in the solution [instructions](/docs/{{docsPrefix}}solution-templates/overview/#install-solution-template).
43+
See [connecting devices](/docs/{{docsPrefix}}getting-started-guides/connectivity/) for various connectivity options to connect real devices.
44+
45+
### Alarms
46+
47+
Alarms are generated using two Alarm rules in the "Temperature Sensor" [device profile](/docs/{{docsPrefix}}user-guide/device-profiles/).
48+
User may turn alarms on and off as well as configure the alarm thresholds via the "Temperature & Humidity" dashboard using "Edit Sensor" form.
49+
50+
{% include images-gallery.html imageCollection="solution-alarms" %}
51+
52+
### Customers
53+
54+
"Sensor C1" is assigned to a newly created customer "Customer A".
55+
You may notice that "Customer A" has two users, and the "Temperature & Humidity" dashboard is accessible for those users.
56+
You may create more [Customers](/docs/{{docsPrefix}}user-guide/ui/customers/) and more [Users](/docs/{{docsPrefix}}user-guide/ui/users/) via administration UI.
57+
58+
### Role Based Access Control (RBAC)
59+
60+
We have created two users for "Customer A" customer. See solution [instructions](/docs/{{docsPrefix}}solution-templates/overview/#install-solution-template) for the list of created users and their passwords.
61+
Those users are members of the "Customer Administrator" group. So, they have access to all entities of the Customer, including device "Sensor C1".
62+
The device "Sensor T1" is not assigned to "Customer A". So, it is available only to tenant administrators (you).
63+
64+
The idea is to have one "Temperature & Humidity" dashboard for all users for multiple customers. Customer users should be able to browse, but should not be able to edit the dashboard.
65+
To achive this, we create "Customer dashboards" group that is shared with the customer users using "Read Only" role. This group contains the "Temperature & Humidity" dashboard.
66+
You may add other dashboards to this group, if you want to share more dashboards with the same users. See [Advanced RBAC for IoT](/docs/{{docsPrefix}}user-guide/rbac/) for more information.
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
2+
* TOC
3+
{:toc}
4+
5+
{% include templates/solution-templates.md %}
6+
7+
Water Metering template represent generic water metering solution.
8+
With this template you get interactive dashboards that allow administrator and end user browse state of the water meters and aggregated water consumption statistics.
9+
Users are able to define thresholds and enable alarms and notifications over SMS or email.
10+
11+
### Dashboard
12+
13+
As part of this solution, we have created the "Water Metering Tenant Dashboard" that allows you to manage water metering devices, users and alarms:
14+
15+
* observe location and status of the water meters on the map. Markers are clustered to be able to show thousands of meters simultaneously;
16+
* use "Analytics" view to compare consumption for the current and previous month;
17+
* use "Devices" view to get the list of all water meter devices with ability to
18+
* create a new device and assign it to the customer;
19+
* change the location of the device;
20+
* configure alarm thresholds for this device;
21+
* navigate to "Device" view by clicking on the device row;
22+
* use "Device" view to:
23+
* browse water consumption history for a particular water meter device;
24+
* browse active alarms for a particular water meter device;
25+
* change water meter location information
26+
* upload water meter photo;
27+
* change location of the device;
28+
* use "Customers" view to manage your customers;
29+
* use "Users" view to add more tenant administrators that will receive notifications about alarms;
30+
* use "Alarms" view to browse and clear alarms from water meters;
31+
* use "Settings" view to:
32+
* turn system alarms on and off;
33+
* define thresholds for system alarms;
34+
* turn sms and email notifications on and off;
35+
36+
{% include images-gallery.html imageCollection="solution-highlights" %}
37+
38+
We have also created the "Water Metering User Dashboard" for the end users. This dashboard is assigned to the new customers automatically. The end user dashboard allows customers to:
39+
40+
* observe location and status of the water meters on the map. Markers are clustered to be able to show thousands of meters simultaneously;
41+
* browse active alarms and water consumption per day and week;
42+
* use "Analytics", "Devices", "Alarms" views that are similar to the main dashboard;
43+
* use "Settings" view to define alarm thresholds for the particular customer. Generated alarms will not be visible to Tenant Administrator by default;
44+
45+
You may always customize the "Water Metering" dashboards using dashboard development [guide](/docs/{{docsPrefix}}user-guide/dashboards/).
46+
47+
48+
### Devices
49+
50+
We have already created three water metering devices and loaded some demo data for them.
51+
See solution [instructions](/docs/{{docsPrefix}}solution-templates/overview/#install-solution-template) for the list of created devices and their credentials.
52+
53+
Solution expects that the water meter device will report "pulseCounter", "temperature", "battery" and "leakage" values.
54+
The most simple example of the expected payload is in JSON format:
55+
56+
```json
57+
{"temperature": 42, "humidity": 73}
58+
```
59+
{: .copy-code}
60+
61+
You may find the exact commands to send data on behalf of created devices in the solution [instructions](/docs/{{docsPrefix}}solution-templates/overview/#install-solution-template).
62+
Most of the water meters are using LoRaWAN, Sigfox or NB IoT technology.
63+
See [connecting devices](/docs/{{docsPrefix}}getting-started-guides/connectivity/) for various connectivity options to connect real devices.
64+
65+
### Alarms
66+
67+
Alarms are generated using nine Alarm rules in the "Water Meter" [device profile](/docs/{{docsPrefix}}user-guide/device-profiles/).
68+
Alarms notifications are sent via SMS or email to Tenant Administrators and Customer Users depending on the thresholds and settings defined in the dashboard.
69+
70+
{% include images-gallery.html imageCollection="solution-alarms" %}
71+
72+
### Rule Chains
73+
74+
The "Water Metering Solution Main" rule chain is processing all incoming messages from water metering devices.
75+
This rule chain is responsible for aggregation of the incoming data on a daily and weekly basis for device, customer and tenant level.
76+
Aggregated data is stored as telemetry as well. The aggregation is done in the UTC time zone by default.
77+
You may change the time zone in the "aggregate stream" rule nodes. You may also aggregate data in different time zones.
78+
79+
There are two other rule chains: "Water Metering Solution Tenant Alarm Routing" and "Water Metering Solution Customer Alarm Routing".
80+
They are responsible for routing incoming messages to tenant administrators and customer users respectively.
81+
82+
{% include images-gallery.html imageCollection="rule-chains" %}
83+
84+
### Customers
85+
86+
Meters "WM0000123" and "WM0000124" are assigned to a newly created customer "Water Metering Customer A".
87+
You may notice that "Water Metering Customer A" has a user, and the "Water Metering User Dashboard" dashboard is assigned to the user by default.
88+
You may create more [Customers](/docs/{{docsPrefix}}user-guide/ui/customers/) and more [Users](/docs/{{docsPrefix}}user-guide/ui/users/) via administration UI.
89+
90+
### Role Based Access Control (RBAC)
91+
92+
We have created separate users for customers "Water Metering Customer A" and "Water Metering Customer B". See solution [instructions](/docs/{{docsPrefix}}solution-templates/overview/#install-solution-template) for the list of created users and their passwords.
93+
94+
Those users are members of the "Customer User" group. So, they have read-only access to all entities of the Customer".
95+
We have also created "Water Metering User" generic role that allows those users write access to alarms, customer attributes and device attributes. This enables user to set specific alarm and notification settings.
96+
97+
The idea is to have one "Water Metering User Dashboard" dashboard for all users for multiple customers. Customer users should be able to browse, but should not be able to edit the dashboard.
98+
To achive this, we create "Water Metering Shared" group that is shared with the customer users using "Water Metering Read Only" role. This group contains the "Water Metering User Dashboard" dashboard.
99+
You may add other dashboards to this group, if you want to share more dashboards with the same users. See [Advanced RBAC for IoT](/docs/{{docsPrefix}}user-guide/rbac/) for more information.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{% if docsPrefix == "pe/" %}
2+
{% capture paas_only %}
3+
At the moment, the Solution Templates are only available in [ThingsBoard Cloud](/products/paas/). Supporting solution templates in [ThingsBoard PE](/products/thingsboard-pe/) is scheduled for version 3.3.
4+
{% endcapture %}
5+
{% include templates/info-banner.md content=paas_only %}
6+
{% endif %}

docs/paas/solution-templates/fleet-tracking.md

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -12,46 +12,5 @@ solution-highlights:
1212

1313
---
1414

15-
* TOC
16-
{:toc}
17-
18-
Fleet Tracking template refers to the bus tracking solution.
19-
With this template you get an interactive dashboard with real-time vehicles’ tracking
20-
as well as route details, status of the asset on the route, etc.
21-
22-
{% include images-gallery.html imageCollection="solution-highlights" %}
23-
24-
### Dashboard
25-
26-
As part of this solution, we have created the "Fleet Tracking" dashboard that displays data from multiple buses. You may use the dashboard to:
27-
28-
* observe location and status of the buses;
29-
* monitor bus tracking events (alarms);
30-
* browse individual bus route, speed and fuel level history;
31-
32-
The dashboard has two states. The main state displays the list of the buses, their location on the map as well as the list of their alarms.
33-
You may browse bus location history popup by clicking on the "Route history" icon located on the right side of the bus table row.
34-
You may drill down to the bus details state by clicking on the table row. The bus details state allows to browse alarms, location, speed, and fuel level history.
35-
36-
You may always customize the "Fleet Tracking" dashboard using dashboard development [guide](/docs/paas/user-guide/dashboards/).
37-
38-
### Devices
39-
40-
We have already created four bus tracking devices and loaded some demo data for them.
41-
See solution [instructions](/docs/paas/solution-templates/overview/#install-solution-template) for the list of created devices and their credentials.
42-
43-
Solution expects that the bus tracking device will upload "latitude", "longitude", "speed", "fuel" and "status" values.
44-
The most simple example of the expected payload is in JSON format:
45-
46-
```json
47-
{"latitude": 37.764702, "longitude": -122.476071, "speed": 50, "fuel": 5, "status": "On route"}
48-
```
49-
{: .copy-code}
50-
51-
52-
You may find the exact commands to send data on behalf of created devices in the solution [instructions](/docs/paas/solution-templates/overview/#install-solution-template).
53-
See [connecting devices](/docs/paas/getting-started-guides/connectivity/) for various connectivity options to connect real devices.
54-
55-
### Alarms
56-
57-
Alarms are generated using two Alarm rules in the "bus" [device profile](/docs/paas/user-guide/device-profiles/).
15+
{% assign docsPrefix = "paas/" %}
16+
{% include docs/pe/solution-templates/fleet-tracking.md %}

0 commit comments

Comments
 (0)