/ EINSTELLUNGEN
🔗 Xentral Cloud API
Wie lange Xentral-Antworten lokal gecacht werden (Standard: 300 s)
Produktionen mit einer niedrigeren Nummer werden beim Sync ignoriert. Leer lassen = alle importieren.
Xentral-interne ID der Adresse (nicht die Kundennummer). Die ID ist in der URL sichtbar, wenn du den Kunden in Xentral öffnest: /adressen/10052/details. Wird als Rechnungsadresse bei Fertigungsaufträgen benötigt (Xentral-Pflichtfeld).
📧 E-Mail (SMTP)
🔔 Benachrichtigungs-Matrix
Laden…
🎨 Darstellung & Branding
Logo
Wird in E-Mail-Berichten und im Header der App verwendet. PNG empfohlen, max. 2 MB.
🌐 Netzwerk
Wird geladen…
ETHERNET (eth0)
WLAN
💾 Backup & Restore
Wird geladen...
🔄 Software-Updates
Personal Access Token mit repo-Berechtigung
Systemsteuerung
Service neu starten
Startet den lot-printing Dienst neu. Die Seite verbindet sich automatisch wieder.
Gerät ausschalten
Stoppt Drehteller + Förderband, sendet Power-Down-Befehl an den Drucker (CMD 0x5F) und fährt den Raspberry Pi herunter.
🔒 Passwort ändern
🅱 Zertifikat-Manager (mTLS)

Client-Zertifikate für neue Geräte auf dem Pi ausstellen. Das Skript gibt danach die fertigen scp-Befehle aus:

sudo bash scripts/issue-cert.sh printer-controller pc-001
sudo bash scripts/issue-cert.sh batch-collector bc-001
CA-Fingerprint
SHA256: wird geladen…
👤 Benutzerverwaltung
Benutzer Rolle Status Letzter Login
Wird geladen…
Produktionsplanung
Nach Anlegen zu Arbeitsschritten wechseln
Nach dem Anlegen einer Produktion automatisch zum Tab „Arbeitsschritte zuweisen" wechseln. Deaktiviert: in der Produktionsplanung bleiben.
Auftragstypen
Auftragstypen definieren, welche Jobs an welche Maschine gehen, wie sie heißen und welche Pflichtfelder sie tragen. Bei der Job-Zuweisung aus Xentral-Produktionen wird der passende Typ ausgewählt.
⚠ Auto-Assign wird aktiv, sobald die Xentral Arbeitsanweisungen-API verfügbar ist.
Wird geladen…
Produktionskapazität
Lege Obergrenzen für die tägliche Produktion fest. 0 = unbegrenzt. Die Auto-Datum-Planung berücksichtigt diese Werte.
Summe der Stückzahlen aller Jobs an einem Tag
Wie viele Jobs über dem Schwellwert pro Tag zulässig sind
Ab dieser Menge gilt ein Job als Großauftrag
📅 Produktionstage
Lege fest, welche Auftragstypen an welchen Wochentagen geplant werden können. Die Einstellung wird bei der Auto-Datum-Planung im Hub verwendet. Ein leerer Tag (keine Haken) gilt als Nicht-Produktionstag.
Wird geladen…
Workflow-Vorlagen
Vorlagen ordnen Produktgruppen einem vordefinierten Satz an Workflow-Schritten zu. Beim Zuweisen wird automatisch die passende Vorlage vorgeschlagen.
Artikelnummer-Präfix: z.B. GuK-001 — Präfix-Match auf die Artikelnummer.
Keywords: kommagetrennte Begriffe, die im Produktnamen vorkommen müssen (z.B. Seife, Lavendel).
Wird geladen…
🔑 Google Verbindung
Der Hub schreibt Jobs direkt in Google Kalender (Event erstellen/aktualisieren/löschen in Echtzeit). Dazu wird ein Service Account benötigt:
  1. Google Cloud Console → Projekt erstellen → Calendar API aktivieren
  2. IAM & Verwaltung → Service Accounts → Erstellen → JSON-Key herunterladen
  3. Den gewünschten Google Kalender öffnen → Einstellungen → Bestimmten Personen freigeben → Service-Account-E-Mail eintragen (Berechtigung: Änderungen)
  4. JSON unten einfügen, speichern und testen
Inhalt der heruntergeladenen JSON-Datei einfügen
🗓 Kalender pro Auftragstyp
Trage die Google Kalender-ID für jeden Auftragstyp ein. Die ID findest du in Google Kalender unter Kalendereinstellungen → Kalender-ID (endet auf @group.calendar.google.com). Der Kalender muss mit der Service-Account-E-Mail geteilt sein.
Wird geladen…
✂️ Titelkürzen
Wenn aktiv, werden Produktnamen auf max. 30 Zeichen gekürzt (Mappings → KI → Wort-Abschneiden). Klammer-Infos wie (Brunnerhof) bleiben immer erhalten. Wenn deaktiviert, wird der volle Produktname ungekürzt in den Kalender-Titel geschrieben.
Titelkürzen aktivieren
Deaktivieren um den vollen Produktnamen zu verwenden.
🤖 KI-Titelkürzen (OpenAI)
Der Hub kürzt Produktnamen für Google Kalender-Einträge automatisch via OpenAI GPT-4o mini. Trage deinen API-Schlüssel ein und gib Beispiele vor – die KI lernt daraus, wie Produktnamen in deinem Betrieb aussehen sollen.
Schlüssel wird sicher auf dem Server gespeichert. Ohne Schlüssel wird der Produktname einfach abgeschnitten.
Kontext-Beispiele für die KI
Zeige der KI wie deine Produktnamen aussehen sollen. Je mehr Beispiele, desto besser passt sich die KI an deinen Stil an. Limit: 30 Zeichen gesamt (inkl. Mengenangabe wie „250Stk ").
Produktname (Original) Gewünschte Kurzform
🔒 Geschützte Begriffe
Begriffe die niemals aus dem Kalender-Titel gekürzt werden dürfen – auch wenn der Platz knapp wird. Das Segment das diesen Begriff enthält bleibt immer erhalten.
Geschützter Begriff
🔗 iCal-Feed (schreibgeschützt, optional)
Alternativ oder zusätzlich: URL in Apple Kalender / Outlook abonnieren (read-only, ~12–24h Verzögerung).
Alle Jobs
Reverse-Sync: Google Kalender → Hub
Der Hub prüft alle 60 Sekunden, ob Jobs in Google Kalender verschoben oder gelöscht wurden und gleicht die Änderungen automatisch zurück in den Hub ab.
  • Datum verschoben → Job-Datum im Hub und auf allen Dashboards wird aktualisiert
  • Event gelöscht → Job wird automatisch wieder in den Kalender gepusht
Reverse-Sync aktivieren
Erfordert einen konfigurierten Service Account mit Schreibrecht auf die Kalender.
ℹ️ So funktioniert der automatische Import ▾ einblenden / ausblenden
⚙ WIE ES FUNKTIONIERT
  1. Der Hub prüft alle N Minuten das konfigurierte Asana-Projekt auf offene Aufgaben.
  2. Jede Aufgabe wird einmalig importiert – Duplikate werden automatisch erkannt (via Asana-Aufgaben-ID).
  3. Aufgaben die in Asana als erledigt markiert sind, werden nicht importiert.
  4. Der Hub-Job erhält Status pending und wartet auf Bearbeitung am Gerät.
🔀 FELDER & ZUORDNUNG
Asana-AufgabennameProduktname des Jobs
FälligkeitsdatumEinplanungsdatum (leer = heute)
BeschreibungKommentar des Jobs
Custom-Field MengeStückzahl (leer = 1)
Standard-GerätGerät für den Job
Standard-ArbeitsschrittArbeitsschritt im Workflow
🏷 ARBEITSSCHRITT & GERÄT

Welcher Arbeitsschritt und welches Gerät einem importierten Job zugewiesen wird, richtet sich nach dieser Priorität:

  1. Standard-Arbeitsschritt – direktes Textfeld (höchste Priorität)
  2. Arbeitsschritt des gewählten Auftragstyps
  3. Name des Auftragstyps als Fallback

Für das Gerät gilt: Auftragstyp-Gerät hat Vorrang vor dem Standard-Gerät.

🔑 ASANA-TOKEN ERSTELLEN
  1. In Asana oben rechts auf dein Profilbild klicken
  2. My Profile Settings → Apps → Personal Access Tokens
  3. „New access token" → Namen vergeben → Token kopieren
  4. Token unten unter Asana-Verbindung eintragen und speichern

Die Projekt-ID steht in der Asana-URL: app.asana.com/0/1234567890/…

Asana-Verbindung & Defaults
Unter My Profile → Apps → Personal Access Tokens in Asana erstellen
In der Asana-URL: app.asana.com/0/PROJEKT-ID/…
Legt Farbe, Icon und ggf. Gerät / Arbeitsschritt des importierten Jobs fest
Gerät für importierte Jobs (Auftragstyp-Gerät hat Vorrang, falls gesetzt)
Direkt gesetzter workflow_step für alle importierten Jobs. Überschreibt den Arbeitsschritt des Auftragstyps. Leer = Auftragstyp-Schritt wird verwendet.
Name des Asana-Custom-Fields das die Stückzahl enthält. Leer = immer 1
🔄 Automatischer Import
Der Hub prüft das Projekt alle N Minuten und importiert neue offene Aufgaben automatisch
Mindestens 5 Minuten. Empfehlung: 15–60 Minuten
Status wird geladen…
📋 Aufgaben manuell importieren
Aufgaben laden um loszulegen – erst Verbindung konfigurieren und speichern.
Etikettendruck – Label-Vorlagen
Label-Vorlagen-Namen aus dem Xentral-Druckmodul (kommagetrennt). Diese erscheinen als Dropdown im Produktionen-Detail-Modal unter „Etiketten". Die Namen müssen exakt mit den Vorlagen in Xentral übereinstimmen.
Beispiel: EAN,Produkt_Klein,Produktetikett_Endlos
📦 Ausnahmen – Chargendokumentationspflicht
Artikel aus dieser Liste werden im Chargenprotokoll und im BOM-Prüf-Overlay automatisch ohne Chargeneingabe abgehakt. Typische Beispiele: Tüten, Flaschen, Etiketten oder andere Verpackungsmaterialien ohne Chargennummer.
Wird geladen…
+ Neues Dashboard anlegen
💻
Virtuelles Dashboard
Permanente URL (z.B. /dashboard/produktion). Öffnet sich ohne PIN – einfach Seite aufrufen.
🖥️
Physisches Dashboard
Raspberry Pi mit Display. Kopplung über Claim-Code, der auf dem Pi-Display erscheint.
💻 Virtuelle Dashboards – permanente Browser-Dashboards ohne PIN
Wird geladen…
Software-Updates
🖥
BSC Production Hub
wird geladen…
📺
BSC Production Dashboard
wird geladen…
🔄
Automatische Updates
Hub aktualisiert sich selbst sobald eine neue Version auf GitHub veröffentlicht wird (ca. alle 30 Minuten geprüft). Kein Effekt im Dev-Modus.
Physische Dashboards – TV/Monitor-Clients mit Pairing-PIN
Keine physischen Dashboards registriert.
📷 Dashboard-Gerät konfigurieren
Werbemodus & Zeitplan
– außerhalb des Zeitplans werden nur Dashboard-Slides angezeigt
– ermöglicht Rohstoff-Chargenerfassung per Scanner bei Produktionsschritten
Von bis
Außerhalb dieser Zeiten werden Media-Slides nicht angezeigt
🎙 Slideshow-Playlist
Dashboard-Slides zeigen den Produktionskalender. Media-Slides zeigen ein Bild (nur im Werbemodus).
Wird geladen…
🔍 Job-Filter
Wird im Dashboard-Header angezeigt
Nur Jobs bestimmter Maschinen oder Auftragstypen anzeigen. Nichts ausgewählt = alle Jobs. Dashboard-Geräte werden hier nicht aufgeführt.
Wird geladen…
🖼 Mediendateien – geteilt zwischen allen Dashboards
JPG, PNG, GIF, WebP – max. 50 MB
Wird geladen…
📷 Grundriss
Gemeinsamer Grundriss für Reinigung und Schädlingsmonitoring (JPG/PNG, max. 20 MB). Bereiche direkt einzeichnen – Monitoring-Punkte per Klick platzieren.
Kein Grundriss vorhanden
📍 Produktionsbereiche
Bereiche definieren benannte Zonen auf dem Grundriss. Sie werden als Dropdown in Reinigungsaufgaben und Monitoring-Punkten verwendet sowie als klickbare Zoom-Zonen im Dashboard.
Wird geladen…
Reinigungsaufgaben
Definiere Reinigungsaufgaben mit Häufigkeit und optionaler Bereichs- und Gerätezuweisung. Aufgaben vom Typ „Nach Produktion" werden automatisch ausgelöst, wenn ein Job in einem Bereich gestartet oder beendet wird.
Wird geladen…
🐛 Monitoring – Punkte & Köder
Monitoring-Punkte und Köder werden als farbige Markierungen auf dem Grundriss angezeigt. Grundriss oben → Monitoring-Punkt platzieren klicken, um Position direkt einzuzeichnen.
Wird geladen…
👤 Bearbeiter & Maßnahmen
Bearbeiter
Namen stehen im Abschluss-Modal als Schnellauswahl-Buttons zur Verfügung.
Reinigung – Maßnahmen
Auswahloptionen für das Feld „Maßnahmen" bei Reinigungsabschlüssen.
Monitoring – Maßnahmen
Auswahloptionen für das Feld „Maßnahmen" bei Monitoring-Kontrollen.
📄 Monatsberichte
Rechtssicher dokumentierte PDF-Protokolle für Reinigung und Schädlingsmonitoring.
⏻ Gerät wird ausgeschaltet
Drehteller & Förderband
Ausstehend
Drucker Power-Down (CMD 0x5F)
Ausstehend
Warte auf Drucker-Abschaltung
Ausstehend – Jet muss abkühlen (bis 6 min)
0 s / max 6 min
Raspberry Pi herunterfahren
Ausstehend
Herunterfahren wird eingeleitet...
Verbindung getrennt – Pi ist heruntergefahren. Stromversorgung kann sicher getrennt werden.
Benutzer anlegen
Passwort setzen
Auftragstyp
Unveränderlicher Bezeichner. Nur Buchstaben, Zahlen, Bindestriche.
Registrierte aktive Geräte. Leer lassen für manuelle Gerätewahl beim Job.
Felder, die ein Job dieses Typs zwingend in extra_data haben muss.
Workflow-Vorlage
Leerlassen = passt auf alle Produktionen (niedrigste Priorität). Längerer Präfix = höhere Priorität.
Kommagetrennte Begriffe, die im Produktnamen vorkommen müssen. Mehrere Keywords = alle müssen passen.
Neue Slide
Zuerst unter „Mediendateien" hochladen
0 = unbegrenzt (nur für Dashboard-Slide sinnvoll)
Wird in Anton-Schrift im unteren Drittel angezeigt. Leer = kein Text.
Standard: Weiß (#ffffff)
Virtuelles Dashboard koppeln
Öffne die folgende URL auf dem iPad/Tablet und gib den PIN-Code ein:
Pairing-Code
——
Gültig für 10:00
Warte auf Verbindung…
Virtuelles Dashboard erstellen
/dashboard/
Nur Kleinbuchstaben, Zahlen und Bindestriche. Wird die permanente URL des Dashboards.
Wird im Dashboard-Header angezeigt
Physical Dashboard annehmen
Claim-Code von
Eindeutige ID, keine Leerzeichen