Project Awesome project awesome

HASS-data-detective

Explore and analyse your database data.

Package 204 stars GitHub

PyPI Version Binder Code style: black

Introduction

The HASS-data-detective package helps you explore and analyse the data in your Home Assistant) database. If you are running HASS-data-detective on a machine with Home Assistant installed, it will automatically discover your database and by default collect information about the entities in your database. See the notebooks directory for examples of using the detective package. If you are on a Raspberry pi you should use the official JupyterLab add-on which includes HASS-data-detective

Prerequisites

  • Python 3.12.x is required.

Installation on your machine

You can either: pip install HASS-data-detective for the latest released version from pypi, or pip install git+https://github.com/robmarkcole/HASS-data-detective.git --upgrade for the bleeding edge version from github. Note that due to the matplotlib dependency, libfreetype6-dev is a requirement on aarch64 platforms (i.e. RPi).

Which version to install?

The 3.0 version from pypi requires the existence of a states_meta table which is not present in older Home Assistant databases. If you get the error (sqlite3.OperationalError) no such table: states_meta then you should install the earlier release with pip install HASS-data-detective==2.6

Development (VScode)

  • Create a venv: python3.12 -m venv venv
  • Activate venv: source venv/bin/activate
  • Confirm Python version: python --version (should be 3.12.x)
  • Install requirements: pip install -r requirements.txt
  • Install detective in development mode: pip install -e .
  • Install Jupyterlab to run the notebooks: pip install jupyterlab
  • Open the notebook at notebooks/Getting started with detective.ipynb

Running tests

  • Install dependencies: pip install -r requirements_test.txt
  • Run: python -m pytest tests

Contributors

Big thanks to @balloob and @frenck, checkout their profiles!

Back to Home Assistant