3 new data models for device subject

There are 3 new data models in the subject device thanks to the contribution of the project P2CODE.

Sense HAT – Raspberry Pi

  • PolarH10. A Data Model of Polar H10 Heart Rate Sensor with RR, HRV, HR, and ECG
  • SenseHat. Data model for Sense Hat sensor readings for an array of sensing capabilities for Raspberry Pi.
  • UWBAnchor. Data model for the Ultra Wideband (UWB) Anchor which are electronic devices that detect UWB pulses emitted by UWB Tags and forward them to the location server for calculating tag positions.

Thanks to the new contributors

Use smart data models as a service. First draft

In the data-models repository you can access to the first version to use smart data models as a service. Thanks to the works for the Cyclops project.

The files available create a wrap up around pysmartdatamodels package and also add one service for the online validation of NGSI-LD payloads.

Here is the readme contents to have an explanation of this first version

 

Smart Data Models API and Demo

This project consists of two main components:

  1. A FastAPI-based web service (pysdm_api3.py) that provides access to Smart Data Models functionality
  2. A demo script (demo_script2.py) that demonstrates the API endpoints
  3. A requirements file for the components use
  4. A bash script to run it

API Service (pysdm_api3.py)

A RESTful API that interfaces with the pysmartdatamodels library to provide access to Smart Data Models functionality.

Key Features

  • Payload Validation: Validate JSON payloads against Smart Data Models schemas
  • Data Model Exploration: Browse subjects, data models, and their attributes
  • Search Functionality: Find data models by exact or approximate name matching
  • Context Retrieval: Get @context information for data models
  • if you need other please email us to info @ smartdatamodels. org

Endpoints

Endpoint Method Description
/validate-url GET Validate a JSON payload from a URL against Smart Data Models
/subjects GET List all available subjects
/datamodels/{subject_name} GET List data models for a subject
/datamodels/{subject_name}/{datamodel_name}/attributes GET Get attributes of a data model
/datamodels/{subject_name}/{datamodel_name}/example GET Get an example payload of a data model
/search/datamodels/{name_pattern}/{likelihood} GET Search for data models by approximate name
/datamodels/exact-match/{datamodel_name} GET Find a data model by exact name
/subjects/exact-match/{subject_name} GET Check if a subject exists by exact name
/datamodels/{datamodel_name}/contexts GET Get @context(s) for a data model name

Validation Process

The /validate-url endpoint performs comprehensive validation:

  1. Fetches JSON from the provided URL
  2. Normalizes NGSI-LD payloads to key-values format
  3. Extracts the payload type
  4. Finds all subjects containing this type
  5. Retrieves schemas for each subject
  6. Validates against all schemas
  7. Returns consolidated results

Demo Script (demo_script2.py)

A simple interactive script that demonstrates the API endpoints by opening a series of pre-configured URLs in your default web browser.

Features

  • Opens each URL in a new browser tab
  • Pauses between URLs for user input
  • Allows early termination with ‘exit’ command
  • Provides clear progress indicators

Usage

  1. Configure the URLs in the my_web_urls list
  2. Run the script: python demo_script2.py
  3. Follow the on-screen instructions

The demo includes examples of:

  • Payload validation
  • Subject listing
  • Data model exploration
  • Attribute retrieval
  • Example payloads
  • Search functionality
  • Exact matching
  • Context retrieval

Requirements

  • Python 3.7+
  • FastAPI
  • Uvicorn
  • httpx
  • pydantic
  • jsonschema
  • webbrowser (standard library)

Installation

pip install fastapi uvicorn httpx pydantic jsonschema

Running the API

python pysdm_api3.py

Running the demo

python demo_script2.py

Configuration

Edit the my_web_urls list in demo_script2.py to change which endpoints are demonstrated.

License

Apache 2.0

More Zero Emission Buildings data models released

There are 20 new data models in the subject Zero Emission Buildings belonging to the Smart cities domain

Thanks to the contributors of Mitsubishi electric for the work and for being the pioneers of the new testing process that improves previous one.

    • AirConditionerTerminal. Information on Air conditioner terminal (maker, model, serial number, etc.).

    • Area. Information on Area (Area type, height, space area, etc.).

    • AreaEnvironmentForecast. Information on AreaEnvironmentForecast(Area type, accuracy, simulation process, etc.).

    • Beacon. Information on Beacon (maker, model, serial number, etc.).

    • BuildingZEB. Information on Building of ZEB (Area, cnstruction type, height, etc.).

    • DeviceForecast. Information on DeviceForecast (Accuracy, controlled property, forecast value, etc.).
    • Elevator. Information on Elevator (maker, model, specification, etc.).
    • Equipment. Information on Equipment (maker, model, serial number, etc.).

    • Fan. Information on Fan (maker, model, specification, etc.).

    • GatewayController. Information on Beacon (maker, model, serial number, etc.).

    • IndoorAirConditioner. Information on IndoorAirConditioner (maker, model, specification, etc.).
    • Lighting. Information on Lighting (maker, model, specification, etc.).

    • OutdoorAirConditioner. Information on OutdoorAirConditioner (maker, model, specification, etc.).
    • OutdoorAirTreatingUnit. Information on OutdoorAirTreatingUnit (maker, model, specification, etc.).

    • Room. Information on Room (Area type, height, level, etc.).

    • Sensor. Information on Sensor (maker, model, serial number, etc.).

    • Storey. Information on Storey (Area, height, level, etc.).
    • TotalHeatExchanger. Information on TotalHeatExchanger (maker, model, specification, etc.).

    • WaterHeater. Information on WaterHeater (maker, model, specification, etc.).

New subject Predicitive maintenance and datamodels available

There are several new data models in the new subject Predictive Maintenance belonging to the Smart Manufacturing domain.

Thanks to the contributors of txtgroup.com in the project Sm4rtenance for the work

Railroad maintenance equipment near Shibuya station

Zero emission buildings data models released

There are several new data models in the new subject Zero Emission Buildings belonging to the Smart cities domain

Thanks to the contributors of Mitsubishi electric for the work and for being the pioneers of the new testing process that improves previous one.

  • Column. Information on a given Column of Building (Shape, thermalTransmission, volumetricSpecificHeat, etc.).

  • Door. Information on a given Door of Building (Shape, thermal transmission, door type, etc.)

  • Glass. Information on a given Glass of Building (Glass name, color, thermal conductivity, etc.)

  • Material. Information on a given Material of Building (Material name, color, thermal conductivity, etc.)

  • MaterialLayer. Information on a given MaterialLayer of Building (Shape, material name, thickness, etc.)

  • Opening. Information on a given Opening of Building (Shape, surface, thickness, etc.)

  • Slab. Information on a given Slab of Building (Shape, thickness, slab type, etc.)

  • Stair. Information on a given Stair of Building (Shape, steps, stair type, etc.)

  • Window. Information on a given Window of Building (Shape, surface glass, thermalTransmission, etc.)

New script for testing several data models at the same time.

Most of the files of the testing process have been updated and make it available the source code:

https://github.com/smart-data-models/data-models/tree/master/test_data_model

But also there is a new file

multiple_tests.py

This file enables you to test all the data models located in a internal subject (subdirectories of the root one). Currently this option is not available as a form but if you send us an email to our infno@smartdatamodels.org

we could create a specific form for that

See here an example of the outcome.

Two new data models TimeSeries and MachineTool

There are two new data models MachineTool at OPCUA subject and TimeSeries in AAS subject

Thanks to Manfredi Pistone from Engineering for the contributions

logo

 

  • MachineTool. MachineTool is a mechanical device which is fixed (i.e. not mobile) and powered (typically by electricity and compressed air), typically used to process workpieces by selective removal/addition of material or mechanical deformation
  • TimeSeries. Time Series can represent raw data, but can also represent main characteristics, textual descriptions or events in a concise way.

Another tiny improvement on the new testing process (ngsild payloads)

In the new testing process, 4th option in the tools menu, now it is available a new test that checks if the example-normalized.jsonld is a valid NGSI LD file.

This process helps contributors to debug their data models before submit them officially (where there will be new tests before final approval)

The source code for the test is available at the repo.

Remember that if you want to improve / create a new test, just create a PR on the repo.

Tiny improvement on the new testing process

In the new testing process, 4th option in the tools menu, now it is available a new test that checks if the example-normalized.json is a valid NGSIv2 file.

This process helps contributors to debug their data models before submit them officially (where there will be new tests before final approval)

The source code for the test is available at the repo.

Remember that if you want to improve / create a new test, just create a PR on the repo.