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 →