This plugin enables Grafana integration with istSOS4 servers, providing comprehensive data visualization and dashboard capabilities for OGC SensorThings API implementations.
- Full support for OGC SensorThings API implementations
- Compatible with istSOS4 server instances
Comprehensive filter system supporting:
- Basic filters: Common fields like ids, name and description
- Temporal filters: Date ranges and temporal functions
- Spatial filters: Geometric queries intersect and within geometries such as (Point, Polygon, LineString)
- Measurement filters: Sensor-specific data filtering like Unit and Symbol Measurement
- Observation filters: Result, phenomenon time and result time
- Entity filters: Manages the relationships between the entities
- Other SensorThings API standard features: Expansions, Selections and top, skip values
- Complex expressions: Write queries as you want, but ensure they are in correct format
- Dashboard template variables: For dynamic queries
- Variable Chaining support: Create fully customizable and dynamic dashboards based on chained Variables (Variables depend on other variables)
Ability to create panels and dashboards to visualize:
- Datastream Observations: Time-series data visualization
- Locations and Historical Locations of Things: Using orchestracities-map-panel that supports complex geometries visualizations
src/
βββ datasource.ts # Main data source implementation
βββ module.ts # Plugin module registration and exports
βββ plugin.json # Plugin metadata and configuration
βββ types.ts # TypeScript type definitions
βββ queryBuilder.ts # OData query construction utilities
βββ README.md # Plugin-specific documentation
βββ components/ # React UI components
β βββ ConfigEditor.tsx # Data source configuration interface
β βββ FilterPanel.tsx # Advanced filtering UI component
β βββ MapWithTerraDraw.tsx # Interactive map for spatial queries
β βββ QueryEditor.tsx # Main query building interface
β βββ VariableQueryEditor.tsx # Template variable configuration
β βββ VariablesPanel.tsx # Dashboard variables management
βββ transformations/ # Data transformation modules
β βββ datastream.ts # Datastream entity transformations
β βββ featureOfInterest.ts # FeatureOfInterest transformations
β βββ generic.ts # Generic entity transformations
β βββ historicalLocations.ts # HistoricalLocations transformations
β βββ location.ts # Location entity transformations
β βββ observations.ts # Observations data transformations
β βββ observedProperty.ts # ObservedProperty transformations
β βββ sensor.ts # Sensor entity transformations
β βββ thing.ts # Thing entity transformations
βββ utils/ # Utility functions and helpers
βββ constants.ts # Application constants and enums
βββ utils.ts # General utility functions
-
datasource.ts
: Core data source class implementing Grafana'sDataSourceApi
. Handles:- Authentication and connection management
- Query execution and data fetching
- Pagination logic including expanded observations
- Integration with Grafana's query system and Variable Substitution
-
types.ts
: TypeScript interfaces and type definitions for:- Query configurations and options
- Data source settings and authentication
- API response structures
- Filter and entity type definitions
-
queryBuilder.ts
: OData query construction utilities:- Follows Builder Pattern to construct the query
- URL parameters building
- Filter expression generation
- Pagination parameter handling
- Expand clause construction
- Other standard Option integration
-
ConfigEditor.tsx
: Data source configuration interface allowing users to:- Set istSOS4 server URL and authentication
- Configure default pagination settings
-
QueryEditor.tsx
: Main query building interface featuring:- Entity type selection (Things, Datastreams, Observations, etc.)
- Entity ID specification for targeted queries
- Expand options for related entities
- Integration with Filters and Variables for advanced filtering
- Other standard Options
-
FilterPanel.tsx
: Advanced filtering system supporting:- Basic field-based filters
- Temporal filters with date ranges
- Spatial filters with geometric queries
- Measurement-specific filters
- Entity Filters
- Observation Filters
-
MapWithTerraDraw.tsx
: Interactive map component for:- Spatial query visualization
- Drawing geometric filters (points, polygons, etc.)
- Location-based entity selection
- Integration with spatial filtering
-
VariablesPanel.tsx
: UI for Variables management
- In Grafana, go to Configuration β Data Sources
- Click Add data source
- Search for and select istSOS4
- Configure the connection:
- URL: Your istSOS4 server URL
- Token URL: Your server Token URL
- Basic Auth: Configure your username and password
- Default Top (Pagination) Values: Configure your preferred top values for Entities and Expanded Observations
Click Save & Test to verify the connection to your istSOS4 server.

After configuration, you can play with the plugin from the Explore section in the sidebar. Here is the interface:
You can create dynamic dashboards using Grafana variables for flexible data visualization.
Here is a demo showing how you can create a dashboard for Datastream_Observations of specific Things.
demo.online-video-cutter.com.mp4
- Follow the development Guide for plugin setup and How to contrubite to the plugin


This project is licensed under the Apache-2.0 License.