/aal-system

Ontology-Based Health Monitoring System for Ambient Assisted Living

Primary LanguageGo

AAL System

Ontology-Based Health Monitoring System For Ambient Assisted Living

Description

The goal of this system is to be a semantic connector between Smart Home IoT data and a Health ontology. Enabling SPARQL queries to be smartly performed with the reasoning engine, providing information for a better AAL management.

AAL Ontology

aal ontology

System Architecture

system architecture

Web UI

web ui

Repository Structure

System capabilities:

  • Connects to Home Assistant (Smart Home)
  • Request entities state from Home Assistant
  • Connects to Apache Jena Fuseki (SPARQL Server)
  • Queries SPARQL Server
  • Dockerize Apache Jena Fuseki Server
  • Add Openllet Reasoner to Apache Jena Fuseki Server
  • Add SWRL Rules to Apache Jena Fuseki Server
  • Websocket connection to Home Assistant
  • Load initial state from all sensors
  • Add observation to Fuseki via SPARQL Query when state changes
  • Query triggers activated by the SWRL rules reasoning
  • Serve websocket API to allow client connection
  • Serve findings via websocket API
  • Serve observations via websocket API
  • Web UI to display the findings
  • Web UI to display the observations
  • Insert SWRL rules in Fuseki via REST API
  • Dockerize AAL System
  • Build a docker compose to run the AAL System

Using

Pre-requisites to Development

Environment variables

HASSIO_TOKEN=<your home assistant token>

GF_SECURITY_ADMIN_PASSWORD=<your grafana admin password>

Build

docker-compose build

Run

docker-compose up

Delete

docker-compose down