-
Notifications
You must be signed in to change notification settings - Fork 0
Description
document your team's WaterConsumptionObserved Smart Data Model project
Your mission, should you choose to accept it, is to document your team's WaterConsumptionObserved Smart Data Model project.
Walk through Youtube videos related to your task
These Youtube videos have been carefully prepared to help you with this data import task:
More details about your task
- Setup a
FiwareWaterConsumptionObserved
repository for your team's project inside therh-impact
Github Organization here. - Create a README.md in the root directory of your repository, and any other documentation files you see useful inside a subdirectory.
- Work with your data specialist to document how to import your WaterConsumptionObserved data into the FIWARE Context Broker.
- Work with your visualization specialist to document the deployment visualization tools to your OpenShift Local environment.
- Document how to visualize your data using your tools.
- Add any screenshots, videos or other visualizations you come up with to enhance your team's accomplishments.
- If you are not sure where obtain or how to visualize WaterConsumptionObserved data, you may want to use your imagination. Imagine if there was a WaterConsumptionObserved sensor in your actual city, or a WaterConsumptionObserved sensor in a small scale toy city that you could simulate. What kind of sensors could you use? How would you design such a simulation in an actual city or a toy city? How would you visualize WaterConsumptionObserved data in an actual city or a toy city?
The day of the operation is Thursday February 2nd, 2023
You will have 4 hours to complete your mission.
Work with Smart Data Models and the FIWARE Context broker in Europe
At the end of the day
Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.
The details of your mission:
Entity: WaterConsumptionObserved
document generated automatically
Global description: The Smart Water Meter model captures water consumption, customer side leak alarms and associated flow rate originating from the smart water meters
List of properties
acquisitionStageFailure
: No inductive response of metering deviceaddress
: The mailing addressalarmFlowPersistence
: Alarm signifying continuous water usealarmInProgress
: Indicates that one or more alarms are in progressalarmStopsLeaks
: Alarm signifying the potential for an intermittent leakalarmTamper
: Alarm signifying the potential of mechanical tampering with the devicealarmWaterQuality
: Alarm signifying the potential of backflows occurringalternateName
: An alternative name for this itemareaServed
: The geographic area where a service or offered item is provideddataProvider
: A sequence of characters identifying the provider of the harmonised data entity.dateCreated
: Entity creation timestamp. This will usually be allocated by the storage platform.dateModified
: Timestamp of the last modification of the entity. This will usually be allocated by the storage platform.description
: A description of this itemid
: Unique identifier of the entitylocation
: Geojson reference to the item. It can be Point, LineString, Polygon, MultiPoint, MultiLineString or MultiPolygonmaxFlow
: Maximum flow rate observed during the last weekminFlow
: Minimum flow rate observed during the last weekmoduleTampered
: Removal of module from metering devicename
: The name of this item.owner
: A List containing a JSON encoded sequence of characters referencing the unique Ids of the owner(s)persistenceFlowDuration
: The duration that persistence flow (continuous flow) is recorded by the meter. Text field showing durations in minutes (m), hours (h) or days (d).seeAlso
: list of uri pointing to additional resources about the itemsource
: A sequence of characters giving the original source of the entity data as a URL. Recommended to be the fully qualified domain name of the source provider, or the URL to the source object.type
: It has to be WaterConsumptionObserved. NGSI typewaterConsumption
: The water meter reading. Note – this is total volume passed through the meter and is therefore a cumulative total at the time
Required properties
id
type
Data Model description of properties
Sorted alphabetically (click for details)
full yaml details
WaterConsumptionObserved:
description: 'The Smart Water Meter model captures water consumption, customer side leak alarms and associated flow rate originating from the smart water meters'
properties:
acquisitionStageFailure:
description: 'No inductive response of metering device'
type: integer
x-ngsi:
type: Property
address:
description: 'The mailing address'
properties:
addressCountry:
description: 'Property. The country. For example, Spain. Model:''https://schema.org/addressCountry'''
type: string
addressLocality:
description: 'Property. The locality in which the street address is, and which is in the region. Model:''https://schema.org/addressLocality'''
type: string
addressRegion:
description: 'Property. The region in which the locality is, and which is in the country. Model:''https://schema.org/addressRegion'''
type: string
postOfficeBoxNumber:
description: 'Property. The post office box number for PO box addresses. For example, 03578. Model:''https://schema.org/postOfficeBoxNumber'''
type: string
postalCode:
description: 'Property. The postal code. For example, 24004. Model:''https://schema.org/https://schema.org/postalCode'''
type: string
streetAddress:
description: 'Property. The street address. Model:''https://schema.org/streetAddress'''
type: string
type: object
x-ngsi:
model: https://schema.org/address
type: Property
alarmFlowPersistence:
description: 'Alarm signifying continuous water use'
enum:
- 'Nothing to report'
- 'No persistence'
- 'In progress impacting persistence'
- 'In progress persistence'
- 'Past Persistence during the period'
type: string
x-ngsi:
type: Property
alarmInProgress:
description: 'Indicates that one or more alarms are in progress'
enum:
- 0
- 1
type: integer
x-ngsi:
type: Property
alarmStopsLeaks:
description: 'Alarm signifying the potential for an intermittent leak'
enum:
- 0
- 1
type: integer
x-ngsi:
type: Property
alarmTamper:
description: 'Alarm signifying the potential of mechanical tampering with the device'
enum:
- 0
- 1
type: integer
x-ngsi:
type: Property
alarmWaterQuality:
description: 'Alarm signifying the potential of backflows occurring'
enum:
- 0
- 1
type: integer
x-ngsi:
type: Property
alternateName:
description: 'An alternative name for this item'
type: string
x-ngsi:
type: Property
areaServed:
description: 'The geographic area where a service or offered item is provided'
type: string
x-ngsi:
model: https://schema.org/Text
type: Property
dataProvider:
description: 'A sequence of characters identifying the provider of the harmonised data entity.'
type: string
x-ngsi:
type: Property
dateCreated:
description: 'Entity creation timestamp. This will usually be allocated by the storage platform.'
format: date-time
type: string
x-ngsi:
type: Property
dateModified:
description: 'Timestamp of the last modification of the entity. This will usually be allocated by the storage platform.'
format: date-time
type: string
x-ngsi:
type: Property
description:
description: 'A description of this item'
type: string
x-ngsi:
type: Property
id:
anyOf: &waterconsumptionobserved_-_properties_-_owner_-_items_-_anyof
- description: 'Property. Identifier format of any NGSI entity'
maxLength: 256
minLength: 1
pattern: ^[\w\-\.\{\}\$\+\*\[\]`|~^@!,:\\]+$
type: string
- description: 'Property. Identifier format of any NGSI entity'
format: uri
type: string
description: 'Unique identifier of the entity'
x-ngsi:
type: Property
location:
description: 'Geojson reference to the item. It can be Point, LineString, Polygon, MultiPoint, MultiLineString or MultiPolygon'
oneOf:
- description: 'Geoproperty. Geojson reference to the item. Point'
properties:
bbox:
items:
type: number
minItems: 4
type: array
coordinates:
items:
type: number
minItems: 2
type: array
type:
enum:
- Point
type: string
required:
- type
- coordinates
title: 'GeoJSON Point'
type: object
- description: 'Geoproperty. Geojson reference to the item. LineString'
properties:
bbox:
items:
type: number
minItems: 4
type: array
coordinates:
items:
items:
type: number
minItems: 2
type: array
minItems: 2
type: array
type:
enum:
- LineString
type: string
required:
- type
- coordinates
title: 'GeoJSON LineString'
type: object
- description: 'Geoproperty. Geojson reference to the item. Polygon'
properties:
bbox:
items:
type: number
minItems: 4
type: array
coordinates:
items:
items:
items:
type: number
minItems: 2
type: array
minItems: 4
type: array
type: array
type:
enum:
- Polygon
type: string
required:
- type
- coordinates
title: 'GeoJSON Polygon'
type: object
- description: 'Geoproperty. Geojson reference to the item. MultiPoint'
properties:
bbox:
items:
type: number
minItems: 4
type: array
coordinates:
items:
items:
type: number
minItems: 2
type: array
type: array
type:
enum:
- MultiPoint
type: string
required:
- type
- coordinates
title: 'GeoJSON MultiPoint'
type: object
- description: 'Geoproperty. Geojson reference to the item. MultiLineString'
properties:
bbox:
items:
type: number
minItems: 4
type: array
coordinates:
items:
items:
items:
type: number
minItems: 2
type: array
minItems: 2
type: array
type: array
type:
enum:
- MultiLineString
type: string
required:
- type
- coordinates
title: 'GeoJSON MultiLineString'
type: object
- description: 'Geoproperty. Geojson reference to the item. MultiLineString'
properties:
bbox:
items:
type: number
minItems: 4
type: array
coordinates:
items:
items:
items:
items:
type: number
minItems: 2
type: array
minItems: 4
type: array
type: array
type: array
type:
enum:
- MultiPolygon
type: string
required:
- type
- coordinates
title: 'GeoJSON MultiPolygon'
type: object
x-ngsi:
type: Geoproperty
maxFlow:
description: 'Maximum flow rate observed during the last week'
type: integer
x-ngsi:
type: Property
units: litres/hour
minFlow:
description: 'Minimum flow rate observed during the last week'
type: integer
x-ngsi:
type: Property
units: litres/hour
moduleTampered:
description: 'Removal of module from metering device'
type: integer
x-ngsi:
type: Property
name:
description: 'The name of this item.'
type: string
x-ngsi:
type: Property
owner:
description: 'A List containing a JSON encoded sequence of characters referencing the unique Ids of the owner(s)'
items:
anyOf: *waterconsumptionobserved_-_properties_-_owner_-_items_-_anyof
description: 'Property. Unique identifier of the entity'
type: array
x-ngsi:
type: Property
persistenceFlowDuration:
description: 'The duration that persistence flow (continuous flow) is recorded by the meter. Text field showing durations in minutes (m), hours (h) or days (d).'
enum:
- '15m < 60m'
- '60m < 3h'
- '3h < 6h'
- '6h < 12h'
- '12h < 24h'
- '24h < 2d'
- '2d < 4d'
- '4d < 8d'
- '8d < 15d'
- '15d < 30d'
- '30d < 90d'
- '90d < 180d'
- '> 180d'
type: string
x-ngsi:
type: Property
seeAlso:
description: 'list of uri pointing to additional resources about the item'
oneOf:
- items:
format: uri
type: string
minItems: 1
type: array
- format: uri
type: string
x-ngsi:
type: Property
source:
description: 'A sequence of characters giving the original source of the entity data as a URL. Recommended to be the fully qualified domain name of the source provider, or the URL to the source object.'
type: string
x-ngsi:
type: Property
type:
description: 'It has to be WaterConsumptionObserved. NGSI type'
enum:
- WaterConsumptionObserved
type: string
x-ngsi:
type: Property
waterConsumption:
description: 'The water meter reading. Note – this is total volume passed through the meter and is therefore a cumulative total at the time'
type: integer
x-ngsi:
type: Property
units: 'Cubic meters'
required:
- id
- type
type: object
Example payloads
WaterConsumptionObserved NGSI-v2 key-values Example
Here is an example of a WaterConsumptionObserved in JSON-LD format as key-values. This is compatible with NGSI-v2 when using options=keyValues
and returns the context data of an individual entity.
{
"id": "urn:ngsi-ld:Consumer:Consumer01",
"type": "WaterConsumptionObserved",
"acquisitionStageFailure": 0,
"alarmFlowPersistence": "Nothing to report",
"alarmInProgress": 1,
"alarmMetrology": 1,
"alarmStopsLeaks": 0,
"alarmSystem": 1,
"alarmTamper": 0,
"alarmWaterQuality": 0,
"maxFlow": 620,
"minFlow": 1,
"moduleTampered": 1,
"persistenceFlowDuration": "3h < 6h",
"location": {
"type": "Point",
"coordinates": [
-4.128871,
50.95822
]
},
"waterConsumption": 191051
}
WaterConsumptionObserved NGSI-v2 normalized Example
Here is an example of a WaterConsumptionObserved in JSON-LD format as normalized. This is compatible with NGSI-v2 when not using options and returns the context data of an individual entity.
{
"id": "urn:ngsi-ld:Consumer:Consumer01",
"type": "WaterConsumptionObserved",
"acquisitionStageFailure": {
"type": "Integer",
"value": 0
},
"alarmFlowPersistence": {
"type": "Text",
"value": "Nothing to report"
},
"alarmInProgress": {
"type": "Integer",
"value": 1
},
"alarmMetrology": {
"type": "Integer",
"value": 1
},
"alarmStopsLeaks": {
"type": "Integer",
"value": 0
},
"alarmSystem": {
"type": "Integer",
"value": 1
},
"alarmTamper": {
"type": "Integer",
"value": 0
},
"alarmWaterQuality": {
"type": "Integer",
"value": 0
},
"maxFlow": {
"type": "Number",
"value": 620
},
"minFlow": {
"type": "Number",
"value": 1
},
"moduleTampered": {
"type": "Integer",
"value": 1
},
"persistenceFlowDuration": {
"type": "Text",
"value": "3h < 6h"
},
"location": {
"type": "geo:json",
"value": {
"type": "Point",
"coordinates": [
-4.128871,
50.95822
]
}
},
"waterConsumption": {
"type": "Number",
"value": 191051
}
}
WaterConsumptionObserved NGSI-LD key-values Example
Here is an example of a WaterConsumptionObserved in JSON-LD format as key-values. This is compatible with NGSI-LD when using options=keyValues
and returns the context data of an individual entity.
{
"id": "urn:ngsi-ld:Consumer:Consumer01",
"type": "WaterConsumptionObserved",
"acquisitionStageFailure": 0,
"alarmFlowPersistence": "Nothing to report",
"alarmInProgress": 1,
"alarmMetrology": 1,
"alarmStopsLeaks": 0,
"alarmSystem": 1,
"alarmTamper": 0,
"alarmWaterQuality": 0,
"maxFlow": 620,
"minFlow": 1,
"moduleTampered": 1,
"persistenceFlowDuration": "3h < 6h",
"location": {
"type": "Point",
"coordinates": [
-4.128871,
50.95822
]
},
"waterConsumption": 191051,
"@context": [
"https://raw.githubusercontent.com/easy-global-market/ngsild-api-data-models/master/WaterSmartMeter/jsonld-contexts/waterSmartMeter-compound.jsonld",
"https://smartdatamodels.org/context.jsonld"
]
}
WaterConsumptionObserved NGSI-LD normalized Example
Here is an example of a WaterConsumptionObserved in JSON-LD format as normalized. This is compatible with NGSI-LD when not using options and returns the context data of an individual entity.
{
"id": "urn:ngsi-ld:Consumer:Consumer01",
"type": "WaterConsumptionObserved",
"acquisitionStageFailure": {
"type": "Property",
"observedBy": {
"type": "Relationship",
"object": "urn:ngsi-ld:Device:01"
},
"value": 0,
"observedAt": "2021-05-23T23:14:16.000Z"
},
"alarmFlowPersistence": {
"type": "Property",
"observedBy": {
"type": "Relationship",
"object": "urn:ngsi-ld:Device:01"
},
"value": "Nothing to report",
"observedAt": "2021-05-23T23:14:16.000Z"
},
"alarmInProgress": {
"type": "Property",
"observedBy": {
"type": "Relationship",
"object": "urn:ngsi-ld:Device:01"
},
"value": 1,
"observedAt": "2021-05-23T23:14:16.000Z"
},
"alarmMetrology": {
"type": "Property",
"observedBy": {
"type": "Relationship",
"object": "urn:ngsi-ld:Device:01"
},
"value": 1,
"observedAt": "2021-05-23T23:14:16.000Z"
},
"alarmStopsLeaks": {
"type": "Property",
"observedBy": {
"type": "Relationship",
"object": "urn:ngsi-ld:Device:01"
},
"value": 0,
"observedAt": "2021-05-23T23:14:16.000Z"
},
"alarmSystem": {
"type": "Property",
"observedBy": {
"type": "Relationship",
"object": "urn:ngsi-ld:Device:01"
},
"value": 1,
"observedAt": "2021-05-23T23:14:16.000Z"
},
"alarmTamper": {
"type": "Property",
"observedBy": {
"type": "Relationship",
"object": "urn:ngsi-ld:Device:01"
},
"value": 0,
"observedAt": "2021-05-23T23:14:16.000Z"
},
"alarmWaterQuality": {
"type": "Property",
"observedBy": {
"type": "Relationship",
"object": "urn:ngsi-ld:Device:01"
},
"value": 0,
"observedAt": "2021-05-23T23:14:16.000Z"
},
"maxFlow": {
"type": "Property",
"observedBy": {
"type": "Relationship",
"object": "urn:ngsi-ld:Device:01"
},
"value": 620,
"observedAt": "2021-05-23T23:14:16.000Z",
"unitCode": "E32"
},
"minFlow": {
"type": "Property",
"observedBy": {
"type": "Relationship",
"object": "urn:ngsi-ld:Device:01"
},
"value": 1,
"observedAt": "2021-05-23T23:14:16.000Z",
"unitCode": "E32"
},
"moduleTampered": {
"type": "Property",
"observedBy": {
"type": "Relationship",
"object": "urn:ngsi-ld:Device:01"
},
"value": 1,
"observedAt": "2021-05-23T23:14:16.000Z"
},
"persistenceFlowDuration": {
"type": "Property",
"observedBy": {
"type": "Relationship",
"object": "urn:ngsi-ld:Device:01"
},
"value": "3h < 6h",
"observedAt": "2021-05-23T23:14:16.000Z",
"unitCode": "HUR"
},
"location": {
"type": "GeoProperty",
"value": {
"type": "Point",
"coordinates": [
-4.128871,
50.95822
]
}
},
"waterConsumption": {
"type": "Property",
"observedBy": {
"type": "Relationship",
"object": "urn:ngsi-ld:Device:01"
},
"value": 191051,
"observedAt": "2021-05-23T23:14:16.000Z",
"unitCode": "LTR"
},
"@context": [
"https://raw.githubusercontent.com/easy-global-market/ngsild-api-data-models/master/WaterSmartMeter/jsonld-contexts/waterSmartMeter-compound.jsonld"
]
}
See FAQ 10 to get an answer on how to deal with magnitude units
WaterConsumptionObserved adopters
description: This is a compilation list of the current adopters of the data model WaterConsumptionObserved of the Subject dataModel.WaterConsumption. All fields are non mandatory. More info at https://smart-data-models.github.io/data-models/templates/dataModel/CURRENT_ADOPTERS.yaml
currentAdopters:
-
adopter: South West Water - Smart Metering
description: Smart Water Meter model used to capture and analyse daily water consumption and leak alarms
mail:
organization: South West Water
project: https://www.fiware4water.eu/
comments:
startDate: 21-6-21
This message will not self destruct, because this project is open source.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status