Ordnung im Gadget-Chaos mit Homebox und Home Assistant

Vielleicht gehörst du auch zu den Glücklichen, die ihre guten Vorsätze für das neue Jahr noch nicht an den Nagel gehängt haben. Bei mir steht dieses Jahr ein ganz spezielles Thema auf der Liste: Mein „Ordnungs-Game“ zu verbessern. Damit meine ich nicht das klassische Aufräumen in der Wohnung – da bin ich ehrlich gesagt ein hoffnungsloser Fall. Es geht mir vielmehr um die Organisation all der Geräte, Gadgets und Smart-Home-Komponenten, die sich über die Zeit so ansammeln.

Das Problem kennst du sicher: Du kaufst ein neues Smart-Home-Gerät, nimmst es voller Vorfreude in Betrieb und bist glücklich. Doch was passiert, wenn das Teil nach einem Jahr den Geist aufgibt? Dann beginnt die nervige Suche. Wo habe ich es gekauft? Wo ist die Rechnung – digital oder noch auf Papier? Und habe ich sie überhaupt abgelegt? Wenn man mehrere identische Sensoren bei verschiedenen Händlern gekauft hat, wird das Chaos perfekt.

Bei FuzzyMistborn habe ich dessen Lösung für diese Herausforderung gesehen und meine baut auf der guten Anleitung von FuzzyMistborn auf. Also vielen Dank, lieber FuzzyMistborn, für das Teilen deines Setups!

Die Lösung: Homebox statt Zungenbrecher

Meine Wahl für dieses Problem ist Homebox. Es ist ein Inventar- und Organisationssystem, das speziell für Privatanwender entwickelt wurde. Es ist Open Source, schlank und lässt sich super einfach bedienen. Ich lasse Homebox als Docker-Container laufen, völlig losgelöst von anderen Systemen. Du kannst darin dein komplettes Inventar in Kategorien, Standorte und Tags einteilen.

Du magst Home Assistant? Dann abonniere kostenlos meine Beiträge mit Tipps, Tricks und Anleitungen rund um Home Assistant:

Follow Home Assistant
( 834 Followers )
X

Follow Home Assistant

E-mail : *
* Ich stimme der Datenschutzerklärung zu!

Garantiert kein Spam, keine Werbung und immer mit Abmelde-Link, solltest du es dir anders überlegen!

Besonders praktisch ist die Möglichkeit, Bilder, Garantien, Preise und sogar Wartungspläne zu hinterlegen. So hast du im Ernstfall alle Infos an einem Ort. Homebox bietet zudem die Funktion, für jedes Gerät ein Etikett mit einer eindeutigen ID und einem QR-Code zu erstellen. Scannst du diesen Code später im lokalen Netzwerk, landest du sofort bei dem entsprechenden Eintrag in deiner Datenbank und hast alle Infos inklusive Rechnung parat.

Der smarte Workflow: Automatisch drucken mit dem Niimbot D110

Natürlich wollen wir die Etiketten nicht mühsam per Hand ausdrucken oder jedes Mal den PC verkabeln. Mein Ziel war es, von jedem beliebigen Gerät – egal ob Handy oder Tablet – in Homebox auf „Drucken“ zu klicken und das Label kommt wie von Geisterhand aus einem kleinen Drucker.

12,00 EUR € Rabatt
NIIMBOT Namensaufkleber Etikettendrucker, D110 Bluetooth...*
  • 1. Kompakter tragbarer NIIMBOT Etikettendrucker D110: Kleiner,...
  • 2. Automatische Etikettenausrichtung: Beim Einschalten automatisch...

Dafür nutze ich den Niimbot D110. Das ist ein handlicher, akkubetriebener Bluetooth-Drucker, der kaum größer als eine Zigarettenschachtel und mit ca. 18 Euro extrem erschwinglich ist. Dank einer passenden HACS-Integration lässt er sich direkt in Home Assistant einbinden.

So sieht das technische Setup aus

Der Prozess im Hintergrund ist eine Kombination aus einem Überwachungsskript und Home Assistant. Zuerst aktivierst du in Homebox die Option „Server-Druck“. Dadurch wird das Etikett beim Klick auf Drucken als PNG-Datei in einem lokalen Ordner gespeichert.

Mein Docker-Compose für den Proof-of-Concept:

name: vibrant_gottlieb
services:
  main_app:
    cpu_shares: 10
    command: []
    container_name: homebox
    deploy:
      resources:
        limits:
          memory: 4096M
    environment:
      - HBOX_LABEL_MAKER_FONT_SIZE=24
      - HBOX_LABEL_MAKER_HEIGHT=96
      - HBOX_LABEL_MAKER_MARGIN=5
      - HBOX_LABEL_MAKER_PADDING=5
      - HBOX_LABEL_MAKER_PRINT_COMMAND=cp {{.FileName}} /labels/label.png
      - HBOX_LABEL_MAKER_WIDTH=320
      - HBOX_LOG_FORMAT=text
      - HBOX_LOG_LEVEL=info
      - HBOX_OPTIONS_ALLOW_ANALYTICS=false
      - HBOX_WEB_MAX_UPLOAD_SIZE=10
    hostname: homebox
    image: sysadminsmedia/homebox:latest
    labels:
      icon: https://raw.githubusercontent.com/sysadminsmedia/homebox/main/docs/public/lilbox.svg
    ports:
      - target: 7745
        published: "3100"
        protocol: tcp
    privileged: true
    restart: unless-stopped
    volumes:
      - type: bind
        source: /DATA/AppData/homebox/data
        target: /homebox-data
      - type: bind
        source: /DATA/AppData/homebox/labels
        target: /labels
    devices: []
    cap_add: []
    network_mode: bridge
x-casaos:
  author: self
  category: self
  hostname: ""
  icon: https://raw.githubusercontent.com/sysadminsmedia/homebox/main/docs/public/lilbox.svg
  index: /
  is_uncontrolled: false
  port_map: "3100"
  scheme: http
  store_app_id: vibrant_gottlieb
  title:
    custom: Homebox

Ein kleines Skript überwacht diesen Ordner permanent. Sobald eine neue Datei erscheint, wird diese als Payload via MQTT an Home Assistant gesendet.

#!/bin/bash

WATCH_DIR="/DATA/AppData/homebox/labels/"
MQTT_BROKER="192.168.1.15"
MQTT_USERNAME="DEIN-MQTT-USER"
MQTT_PASSWORD="DEIN_MQTT_PASSWORT"
MQTT_TOPIC="homebox/labels"

inotifywait -m -e close_write,moved_to "$WATCH_DIR" --format '%w%f' | 
while read FILE 
do
    if [[ "$FILE" == *.png ]]; then echo "Detected new PNG: $FILE"
        # Publish file via MQTT
        mosquitto_pub -h "$MQTT_BROKER" -u "$MQTT_USERNAME" -P "$MQTT_PASSWORD" -t "$MQTT_TOPIC" --ret>
    fi
echo "Sleep 10s"
sleep 10s
echo "calling webhook"
curl -X POST "http://192.168.1.15:8123/api/webhook/Niimbot-Webhook"
done

#taken from https://blog.fuzzymistborn.com/homebox-labels-over-mqtt/

Damit dieses Skript im Hintergrund stabil läuft, habe ich einen Linux Systemd Service angelegt (Achtung: Wie im Video vermerkt, nutze ich hier den User root, was alles andere als ideal ist!):

[Unit]
Description=Homebox Label Monitor Service
After=network.target

[Service]
ExecStart=/home/olli/scripts/monitor_homebox.sh
Restart=always
User=root

[Install]
WantedBy=multi-user.target

Die Brücke zu Home Assistant

In Home Assistant nutze ich einen kleinen Trick: Ich habe eine MQTT-Kamera angelegt. Diese lauscht auf das entsprechende Topic und zeigt immer das aktuellste Etikett als Bild-Entität an. Die MQTT-Kamera definiert man durch folgenden Code in der configuration.yaml:

mqtt:
  - camera:
      - name: Homebox-Labels
        topic: homebox/labels

Da meine Automation partout nicht direkt auf die MQTT-Nachricht reagieren wollte, habe ich einen kleinen Workaround eingebaut: Das Skript (erster Code-Block hier im Beitrag) sendet nach dem Bild einen Webhook an Home Assistant, der die Automation „anstupst“. Die Automation selbst nutzt dann die Aktion der Niimbot-Integration und schickt das Bild der Kamera-Entität direkt an den Drucker.

Im YAML-Code sieht diese Automation wie folgt aus:

alias: Niimbot
description: ""
triggers:
  - trigger: webhook
    allowed_methods:
      - POST
      - PUT
      - GET
      - HEAD
    local_only: true
    webhook_id: Niimbot-Webhook
conditions: []
actions:
  - action: niimbot.print
    data:
      payload:
        - type: dlimg
          url: >-
            http://192.168.1.15:8123{{
            state_attr('camera.homebox_labels','entity_picture') }}
          x: 0
          "y": 0
          xsize: 320
          ysize: 96
      width: 320
      height: 96
      rotate: 90
      print_line_batch_size: 10
      wait_between_print_lines: 0.01
      density: 5
      preview: false
    target:
      device_id: 856517514963f51bc1002e523c3ddecd
mode: single

Fazit: Lohnt sich der Aufwand?

Zugegeben, das Setup hat ein paar Ecken und Kanten. Der Umweg über den Webhook ist nicht die eleganteste Lösung, und wenn der Drucker im Standby die Bluetooth-Verbindung verliert, geht der Druck ins Leere. Aber: Es funktioniert und ich mag es verdammt gerne! 😉

Für Geräte ab einem Wert von etwa 50 Euro ziehe ich das jetzt konsequent durch. Es ist ein großartiges Gefühl, ein neues Gadget auszupacken, kurz in Homebox zu erfassen und Sekunden später das fertige Label aufzukleben. Selbst wenn du kein Homebox nutzt, ist die Integration des Niimbot-Druckers in Home Assistant ein spannendes Projekt für alle Bastler, denn theoretisch kann man damit alle möglichen Etiketten direkt aus Home Assistant drucken

12,00 EUR € Rabatt
NIIMBOT Namensaufkleber Etikettendrucker, D110 Bluetooth...*
  • 1. Kompakter tragbarer NIIMBOT Etikettendrucker D110: Kleiner,...
  • 2. Automatische Etikettenausrichtung: Beim Einschalten automatisch...

Produktempfehlungen

4,00 EUR € Rabatt Haozee Wasserleckdetektor,Zigbee Wasserdetektor-Sensor für...
3,41 EUR € Rabatt SONOFF S60ZBTPF Zigbee Steckdose – Fernsteuerung,...
4,99 EUR € Rabatt SONOFF SNZB-02LD Zigbee wasserdichter Temperatursensor mit...