Brinkhaus-Tools

Python-Hilfsframework zur Anbindung eigener Anwendungen an das FleetManagement.

Installation

pip install brinkhaustools

App erstellen

Die App-Klasse ist der zentrale Einstiegspunkt. Sie initialisiert automatisch Settings, Logging, Selbstdiagnose, Status-Reporting und die Fleet-Anbindung.

from brinkhaustools.common import App

app = App("MeineAnwendung", "1.0.0")
app.start()

# ... Anwendungslogik ...

app.wait()  # Blockiert bis Shutdown-Signal

Selbstdiagnose

Mit der SelfDiagnosisEngine melden Sie Fehler und lösen sie auf. Meldungen erscheinen im FleetManager-Dashboard als Ampel-Status.

from brinkhaustools.common import App

app = App("MeineAnwendung", "1.0.0")
diag = app.self_diagnosis

MQTT_ERROR_CODE = 1001

try:
    mqtt_client.connect(host, port)
    diag.clear(MQTT_ERROR_CODE)
except Exception as e:
    diag.notify(MQTT_ERROR_CODE, f"MQTT-Verbindung fehlgeschlagen: {e}",
                critical=True)

notify() setzt eine Diagnosemeldung, clear() löst sie auf. Solange eine kritische Meldung aktiv ist, zeigt die Ampel Rot.

Status-Reporting

Registrieren Sie eigene StatusSource-Objekte, um Laufzeitinformationen an den FleetManager zu senden.

from brinkhaustools.common import App
from brinkhaustools.common.status import StatusSource

class MqttStatus(StatusSource):
    def get_status(self):
        return {
            "MQTT-Host": f"{self.host}:{self.port}",
            "Connected": self.connected,
        }

app = App("MeineAnwendung", "1.0.0")
app.status_engine.register_source(MqttStatus())

Die StatusEngine sammelt periodisch alle registrierten Quellen und sendet den Snapshot an den FleetManager.

Fleet-Anbindung konfigurieren

Legen Sie eine Konfigurationsdatei unter fleetManagementData/config.json an:

{
  "base_url": "https://fleet.brinkhaus-gmbh.de",
  "token": "fmt_IHR_TOKEN",
  "customer_name": "ihr-kunde",
  "machine": "ihr-server",
  "heartbeat_interval_sec": 60
}

Die App erkennt die Konfiguration automatisch und beginnt, Heartbeats, Diagnosemeldungen und Status-Snapshots an den FleetManager zu senden.

Changelog

0.3.0 2026-03-11

Hinzugefügt

  • FleetMonitorClient: Empfang von Agent-Commands über Ingest-Response-Body (piggyback)
  • FleetMonitorClient: Callback für eingehende Commands registrieren
  • FleetMonitorClient: Bestätigung ausgeführter Commands an FleetManager
0.2.5 2026-03-07

Behoben

  • Settings: Atomares Schreiben absturzsicher — fsync auf Datei und Verzeichnis
  • Settings: Zweite Backup-Generation verhindert Datenverlust bei zwei aufeinanderfolgenden Abstürzen
0.2.4 2026-03-06

Hinzugefügt

  • CHANGELOG.md und RELEASING.md für einheitlichen Release-Prozess
0.2.2 2026-03-01

Hinzugefügt

  • Config-Retry und Client-Rekonfiguration für späte Fleet-Config-Verfügbarkeit
  • Tests für send_snapshot und StatusSource ABC Compliance
0.2.1 2026-03-01

Hinzugefügt

  • Vollständiges Status-Snapshot-Reporting an Fleet Management
0.2.0 2026-03-01

Geändert

  • StatusSource-Implementierungen erben jetzt von ABC
0.1.1 2026-02-28

Hinzugefügt

  • Fleet Management Dokumentation: Config-Format, Token, Endpunkte

Geändert

  • MQTT-Referenzen durch HTTPS ersetzt

Kostenlos starten — 5 Geräte inklusive

Fleet Monitoring und Security Compliance in unter 10 Minuten. Keine Kreditkarte nötig.

Sie möchten mit einem Fachmann sprechen?

Klicken Sie den Link und wir kommen kurz ins Gespräch.

Termin vereinbaren →