Skip to main content

BlackBone

BlackBone

BlackBone is a fork of boneIO (boneIO-eu/app_bbb), maintained by SmartHome Wrocław. It adds features that were missing in the original project, developed for and proven in real client installations.

smarthome-wroclaw is not affiliated with, endorsed by, or officially connected to the original boneIO authors. BlackBone is released under the same GNU GPLv3 license as upstream.

Use at your own risk. BlackBone is provided "as is", without warranty of any kind. smarthome-wroclaw accepts no liability for any damage or loss resulting from the use of this software.

Example usage

boneio run -dd -c config.yaml

Installation

sudo apt install -y libopenjp2-7-dev python3-venv libjpeg-dev docker-compose docker.io fonts-dejavu-core fonts-dejavu-extra libffi-dev libfreetype-dev libtiff6 libxcb1 mosquitto
mkdir ~/boneio
python3 -m venv ~/boneio/venv
source ~/boneio/venv/bin/activate
pip3 install --upgrade blackbone
cp ~/venv/lib/python3.13/site-packages/boneio/example_config/*.yaml ~/boneio/

Edit config.yaml

Start app

source ~/boneio/venv/bin/activate
boneio run -c ~/boneio/config.yaml -dd
sed -i 's/^- id:/- name:/' *.yaml

Upgrading an existing controller to BlackBone

Already have a controller running the original boneIO app? SSH into it and run the BlackBone installer:

ssh <user>@<controller-ip>
curl -fsSL https://raw.githubusercontent.com/smarthome-wroclaw/blackbone/main/install.sh | bash

The installer is interactive: it auto-detects your existing virtual environment, offers to back up your current configuration and installed app before touching anything, installs BlackBone, and restarts the boneio service. Your existing config files are left in place.

Controllers running a pre-0.1 BlackBone build

BlackBone restarted its version numbering at 0.1.0, below the 1.x line inherited from boneIO. A controller still running an early BlackBone build (for example 1.6.0.dev1) therefore never sees newer releases under System → Software Update: pip treats 0.1.x as a downgrade. Upgrade such a controller once over SSH:

"$HOME/boneio/venv/bin/pip" install --force-reinstall blackbone
sudo systemctl restart boneio

From then on in-app updates work normally.

Returning to the original boneIO app

The migration is reversible. The safest option is to restore the application backup created by the BlackBone installer. This returns the app to the exact version installed before migration.

SSH into the controller and set the paths below. The examples use the default locations. If the installer reported different paths, use those instead. Replace the timestamp in BACKUP_DIR with the directory created during migration.

VENV_DIR="$HOME/boneio/venv"
BACKUP_DIR="$HOME/boneio/backups/blackbone_migration_YYYYMMDD_HHMMSS"
APP_BACKUP="$(find "$BACKUP_DIR" -maxdepth 1 -type f -name 'stock_black_app_*.tar.gz' -print -quit)"
test -n "$APP_BACKUP" || { echo "Application backup not found"; exit 1; }

sudo systemctl stop boneio
"$VENV_DIR/bin/pip" uninstall --yes blackbone
tar -C "$VENV_DIR" -xzf "$APP_BACKUP"

The installer does not change your YAML configuration. If you changed it after migration and also want to restore the old configuration, inspect and extract its backup before starting the service. Extraction overwrites YAML files with their backed-up copies.

CONFIG_BACKUP="$(find "$BACKUP_DIR" -maxdepth 1 -type f -name 'configuration_*.tar.gz' -print -quit)"
test -n "$CONFIG_BACKUP" || { echo "Configuration backup not found"; exit 1; }
tar -tzf "$CONFIG_BACKUP"
tar -C "$(dirname "$VENV_DIR")" -xzf "$CONFIG_BACKUP"

Verify the restored package, then start the service:

"$VENV_DIR/bin/python" -c 'from importlib.metadata import version; print(version("boneio"))'
"$VENV_DIR/bin/pip" check
sudo systemctl start boneio
sudo systemctl is-active boneio

If you did not create an application backup, reinstall the latest official boneIO release from PyPI instead:

VENV_DIR="$HOME/boneio/venv"
sudo systemctl stop boneio
"$VENV_DIR/bin/pip" uninstall --yes blackbone
"$VENV_DIR/bin/pip" install --upgrade --force-reinstall boneio
sudo systemctl start boneio
sudo systemctl is-active boneio

To install a specific official release, use boneio==VERSION instead of boneio. Review the official boneIO releases and update instructions before choosing a version.

Contributing

Found a bug or have a feature you'd like to see? Issues and pull requests are welcome at smarthome-wroclaw/blackbone.


Polski

BlackBone to fork boneIO (boneIO-eu/app_bbb), utrzymywany przez SmartHome Wrocław. Dodaje funkcje, których brakowało w oryginalnym projekcie, wypracowane i sprawdzone w realnych instalacjach u klientów.

smarthome-wroclaw nie jest powiązane z autorami oryginalnej aplikacji boneIO ani przez nich wspierane. BlackBone jest wydawane na tej samej licencji GNU GPLv3 co projekt źródłowy.

Używasz na własną odpowiedzialność. BlackBone jest dostarczane w stanie „tak jak jest", bez żadnych gwarancji. smarthome-wroclaw nie ponosi odpowiedzialności za jakiekolwiek szkody lub straty wynikające z użytkowania tego oprogramowania.

Przykład użycia

boneio run -dd -c config.yaml

Instalacja

sudo apt install -y libopenjp2-7-dev python3-venv libjpeg-dev docker-compose docker.io fonts-dejavu-core fonts-dejavu-extra libffi-dev libfreetype-dev libtiff6 libxcb1 mosquitto
mkdir ~/boneio
python3 -m venv ~/boneio/venv
source ~/boneio/venv/bin/activate
pip3 install --upgrade blackbone
cp ~/venv/lib/python3.13/site-packages/boneio/example_config/*.yaml ~/boneio/

Edytuj config.yaml

Uruchomienie aplikacji

source ~/boneio/venv/bin/activate
boneio run -c ~/boneio/config.yaml -dd
sed -i 's/^- id:/- name:/' *.yaml

Aktualizacja istniejącego sterownika do BlackBone

Masz już sterownik z zainstalowaną oryginalną aplikacją boneIO? Połącz się z nim przez SSH i uruchom instalator BlackBone:

ssh <user>@<adres-sterownika>
curl -fsSL https://raw.githubusercontent.com/smarthome-wroclaw/blackbone/main/install.sh | bash

Instalator działa interaktywnie: sam wykrywa istniejące środowisko wirtualne, proponuje kopię zapasową aktualnej konfiguracji i zainstalowanej aplikacji zanim cokolwiek zmieni, instaluje BlackBone i restartuje usługę boneio. Istniejące pliki konfiguracyjne pozostają nietknięte.

Sterowniki z buildem BlackBone sprzed 0.1

BlackBone zaczyna numerację wersji od 0.1.0, czyli poniżej linii 1.x odziedziczonej po boneIO. Sterownik z wczesnym buildem BlackBone (na przykład 1.6.0.dev1) nigdy nie zobaczy więc nowszych wydań w System → Aktualizacja oprogramowania — pip traktuje 0.1.x jako cofnięcie wersji. Taki sterownik podnieś jednorazowo przez SSH:

"$HOME/boneio/venv/bin/pip" install --force-reinstall blackbone
sudo systemctl restart boneio

Od tego momentu aktualizacje z poziomu aplikacji działają normalnie.

Powrót do oryginalnej aplikacji boneIO

Migrację można cofnąć. Najbezpieczniej przywrócić kopię aplikacji utworzoną przez instalator BlackBone. Pozwala to wrócić dokładnie do wersji zainstalowanej przed migracją.

Połącz się ze sterownikiem przez SSH i ustaw poniższe ścieżki. Przykład używa domyślnych lokalizacji. Jeżeli instalator wyświetlił inne ścieżki, użyj ich. W BACKUP_DIR zastąp znacznik czasu nazwą katalogu utworzonego podczas migracji.

VENV_DIR="$HOME/boneio/venv"
BACKUP_DIR="$HOME/boneio/backups/blackbone_migration_YYYYMMDD_HHMMSS"
APP_BACKUP="$(find "$BACKUP_DIR" -maxdepth 1 -type f -name 'stock_black_app_*.tar.gz' -print -quit)"
test -n "$APP_BACKUP" || { echo "Nie znaleziono kopii aplikacji"; exit 1; }

sudo systemctl stop boneio
"$VENV_DIR/bin/pip" uninstall --yes blackbone
tar -C "$VENV_DIR" -xzf "$APP_BACKUP"

Instalator nie zmienia konfiguracji YAML. Jeśli konfiguracja została zmieniona po migracji i chcesz również przywrócić jej starszą wersję, sprawdź i rozpakuj kopię przed uruchomieniem usługi. Rozpakowanie nadpisze pliki YAML ich kopiami zapasowymi.

CONFIG_BACKUP="$(find "$BACKUP_DIR" -maxdepth 1 -type f -name 'configuration_*.tar.gz' -print -quit)"
test -n "$CONFIG_BACKUP" || { echo "Nie znaleziono kopii konfiguracji"; exit 1; }
tar -tzf "$CONFIG_BACKUP"
tar -C "$(dirname "$VENV_DIR")" -xzf "$CONFIG_BACKUP"

Sprawdź przywrócony pakiet, a następnie uruchom usługę:

"$VENV_DIR/bin/python" -c 'from importlib.metadata import version; print(version("boneio"))'
"$VENV_DIR/bin/pip" check
sudo systemctl start boneio
sudo systemctl is-active boneio

Jeżeli kopia aplikacji nie została utworzona, zainstaluj najnowsze oficjalne wydanie boneIO z PyPI:

VENV_DIR="$HOME/boneio/venv"
sudo systemctl stop boneio
"$VENV_DIR/bin/pip" uninstall --yes blackbone
"$VENV_DIR/bin/pip" install --upgrade --force-reinstall boneio
sudo systemctl start boneio
sudo systemctl is-active boneio

Aby zainstalować wybrane oficjalne wydanie, użyj boneio==WERSJA zamiast boneio. Przed wyborem wersji sprawdź oficjalne wydania boneIO oraz instrukcję aktualizacji.

Kontrybuowanie

Znalazłeś błąd albo masz pomysł na funkcję? Zgłoszenia (issues) i pull requesty są mile widziane w repozytorium smarthome-wroclaw/blackbone.

Metadata

Release files for blackbone 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for blackbone 0.1.4
File Size Uploaded
blackbone-0.1.4.tar.gz 5.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for blackbone 0.1.4
File Interpreter ABI Platform
blackbone-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 11.3 MB

Release files / blackbone-0.1.4.tar.gz

Download URL blackbone-0.1.4.tar.gz
Size 5.5 MB
Tags Source
SHA-256 checksum
How to use checksums
a76f2cd766f5c158af1ae44eb4dc349b7b18821bed967145c15ae7212517af32
BLAKE2b-256 checksum
How to use checksums
a3455d8b03c2236473a8019eebf2b6c3bc24a7b80c29689b47cff9f6115fd4e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / blackbone-0.1.4-py3-none-any.whl

Download URL blackbone-0.1.4-py3-none-any.whl
Size 5.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
aa3740e33d7d545ab9d9ad5558f38928d4285379f1e089c05030cf30e41a3809
BLAKE2b-256 checksum
How to use checksums
dba5ad1b143c33af7e6551bd9e887cb76c2643e38c68961b6cb1eff1c8d51ef4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.0

2 release files

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page