This connector allows you to retrieve water meter analysis data such as flow, readings and leaks from Beacon and add them to your graph.
Potential use cases include:
This connector requires the following credentials:
Credential | Description |
---|---|
Base URL | The URL for the Beacon API. Production is: https://api.beaconama.net |
Username | Username provided by Beacon Readers |
Password | Password provided by Beacon Readers |
Connector Concept | Mapped Type |
---|---|
Location | Building |
Meters and Endpoints | Water_Meter, ICT_Equipment |
Report Data | Water_Leak_Event_Status, Battery_Status, Communication_Signal_Strength_Status, On_Off_Status, Water_Flow_Sensor, Water_Usage_Sensor, Flow_Sensor, Point |
There are multiple available sets of results you may be interested in - the most common usecase is likely looking for water leaks per building. The following example is a relatively straightforward search by building ID, and in this case we will need to use json for the value:
Request ResponseCopy1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
{ buildings(filter: {id: {eq: "BLDGTvc188kZBvQTUeE9nSX6JX"}}) { things { id name points { id name series(latest: true) { timestamp value { json } } } } } }
Note the empty results for some of the water meters - currently, the points will only materialize if a water leak is detected. So for the majority of the meters, everything is fine - no leaks. For "Water Meter 11696188L", a leak was detected, so the point and time series information is available.
Beyond water leaks, you can track other time series data like Water Flow, or information about the cellular component of the sensor like the Battery Percentage. For points that have standard units, like Water Flow has gallons per minute, you'll just want to pull the float value (and maybe include the unit) like so:
Request ResponseCopy1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
{ points(filter: {exactType: {eq: "Water_Flow_Sensor"}}) { id name exactType unit { name description } series(latest: true) { timestamp value { float64Value } } } }
For points where the value you receive represents a numeric representation of a descriptive state, like most of the points related to the Cellular module, you'll want to include the valueMap (and omit unit - won't be anything helpful there):
Request ResponseCopy1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
{ things(filter: {exactType: {eq: "ICT_Equipment"}}) { id name exactType points { id name exactType valueMap series(latest: true) { timestamp value { float64Value } } } } }
This connector also has a unique point called Alert Code, which does not have predefined values we could list in a valueMap. These values would need to be interpreted per your deployment of Beacon. Those would look like this - note there will be nothing useful in valueMap, or unit, for these points:
Request ResponseCopy1 2 3 4 5 6 7 8 9 10 11 12 13
{ points(filter: {id: {eq: "PNTJAZ411dtF5JNcHMVvUup49"}}) { id name exactType series(latest: true) { timestamp value { float64Value } } } }