PROGRAMMBESCHREIBUNG · INSTALLATION · BEDIENUNG

CountPilot

Ein frei konfigurierbares, lokal betriebenes Erfassungs- und Auswertungswerkzeug für große Touchflächen. Vorgänge werden schnell gebucht und anschließend nachvollziehbar ausgewertet.

Version 1.3.1 Stand 20.08.2026 One-Touch Deutsch und Englisch PIN-geschützt CSV und Auswertung lokale Dateien

01 · GRUNDLAGEN

Programmüberblick

CountPilot erfasst wiederkehrende Vorgänge mit großen Schaltflächen. Die mitgelieferte Konfiguration richtet sich an einen IT-Servicepunkt; Vorlagen für Lager, Empfang, Werkstatt und Pflege sind ebenfalls enthalten.

Die Anwendung besteht aus einer Browseroberfläche und einem lokalen Python-Server. Konfiguration, aktueller Tagesstand, Ereignisse, Tagesarchiv, Wochenberichte und Sicherungen liegen im CountPilot-Ordner. Ein Cloudkonto, eine externe Datenbank oder eine Internetverbindung sind für den Betrieb nicht erforderlich.

Dieses Handbuch beschreibt Version 1.3.1 mit Dokumentationsstand 20.08.2026. Die Nummer folgt dem Schema MAJOR.MINOR.PATCH: Grundlegende inkompatible Änderungen erhöhen MAJOR, neue kompatible Funktionen MINOR und Korrekturen PATCH.

Direkt oder mit Untermenü

Häufige eindeutige Vorgänge werden mit einem Fingertipp gebucht. Eine Hauptschaltfläche kann für genauere Fälle große Folgeschaltflächen öffnen.

Keine feste Tagesgrenze

Die Zahl der Erfassungen ist nicht begrenzt. Schnelle Eingaben landen in einer sichtbaren Warteschlange.

Mehrere Bereiche

Vorgänge, Untermenüs, Name, Symbol, Farbe, Reihenfolge, Raster und Planzeiten sind ohne Programmänderung konfigurierbar.

Planung statt Stoppuhr

Standardzeiten liefern geschätzten Aufwand. CountPilot misst keine echte Bearbeitungsdauer. Die optionale Mitarbeitererfassung ordnet Vorgänge einem Namen zu, bleibt aber ausdrücklich keine Arbeitszeiterfassung.

Immer über den Server öffnen

index.html nicht per Doppelklick als Einzeldatei öffnen. Die korrekte Adresse lautet standardmäßig http://127.0.0.1:8080/.

02 · EVALUIERUNG UND ERSTER START

30 Tage für Unternehmen und öffentliche Stellen testen

Diese Ausgabe darf von Unternehmen, juristischen Personen des öffentlichen Rechts und öffentlich-rechtlichen Sondervermögen intern geprüft, vorgeführt und eingerichtet werden. Verbraucher dürfen die Evaluierungsversion nicht nutzen. Für einen dauerhaften produktiven Betrieb ist sie nicht lizenziert.

Beim ersten Start erscheint vor der Bedienoberfläche ein zweisprachiger Lizenzdialog. Beide Kontrollfelder sind zunächst leer. Der Nutzer bestätigt, dass er CountPilot für eine berechtigte Organisation einsetzt, und nimmt die vollständige Evaluierungslizenz an. Erst danach öffnet sich die Hauptansicht. Bis dahin blockiert der Python-Server Buchungen und administrative Änderungen, selbst wenn eine API-Adresse direkt aufgerufen wird.

Die 30 Tage beginnen mit dieser erstmaligen ausdrücklichen Annahme. CountPilot speichert Beginn und Ende ausschließlich lokal in license_acceptance.json. Es gibt weder Registrierung noch Benutzerkonto, Online-Aktivierung, Telemetrie, Hersteller-Cloud oder Verbindung zu einem Lizenzserver. Die Annahmedatei enthält keine Namen, E-Mail-Adresse, IP-Adresse, Benutzernamen, Rechnernamen, Unternehmensangaben oder Browsermerkmale.

Nach Ablauf erscheint ein deutlicher Hinweis. CountPilot löscht keine Daten und sperrt weder Buchungen, Auswertungen noch Exporte. Das kostenlose Nutzungsrecht endet trotzdem. Für einen dauerhaften produktiven Einsatz ist eine gesonderte Nutzungsvereinbarung mit IT-Service Kühne erforderlich. Maßgeblich ist LICENSE.txt.

Leistungsgrenzen im Testbetrieb

CountPilot kann Softwarefehler enthalten. Buchungen, Zählerstände, Archive, Auswertungen, Exporte oder Berechnungen können unter technischen Umständen fehlerhaft, unvollständig, verspätet oder verloren sein. Standardzeiten, Kapazitäten, Auslastungen und Personalbedarfswerte sind Planungs- und Schätzwerte. Sie messen keine tatsächliche Arbeitszeit. Prüfen Sie Ergebnisse vor wesentlichen Entscheidungen auf Plausibilität und verwenden Sie die Evaluierung nicht als einzige Aufbewahrungsstelle geschäftskritischer Daten.

03 · TAGESBETRIEB

Bedienung am Touch-PC

Normaler Vorgang

  1. Passende Schaltfläche einmal antippen.
  2. Die Oberfläche bestätigt den Vorgang unten und erhöht den Tageszähler. Grün bedeutet gespeichert. Rot bedeutet nicht sicher gespeichert.
  3. Bei mehreren schnellen Berührungen erscheint etwa „3 Buchungen warten“. Der Browser arbeitet sie in derselben Reihenfolge ab.
  4. Eine Fehleingabe sofort mit „Rückgängig“ korrigieren. Die Ursprungsbuchung bleibt erhalten; das Ereignisprotokoll ergänzt eine negative Gegenbuchung.

Jede Berührung erhält schon im Browser eine zufällige, eindeutige Ereignis-ID. Bricht die Verbindung nach dem Senden ab, wiederholt der Browser genau diese Anfrage einmal. Der Server erkennt dieselbe ID und zählt sie nicht doppelt.

Allgemeiner Modus oder Mitarbeitermodus

Der große Schalter links vom VIP-Feld wechselt zwischen „Allgemein“ und „Mitarbeiter“. Im allgemeinen Modus bleibt der Ablauf unverändert; die Buchung enthält keinen Technikernamen. Im Mitarbeitermodus erscheinen zuerst Namenskacheln. Nach der Auswahl zeigt CountPilot die normalen Vorgangsschaltflächen. Eine erfolgreich gespeicherte Buchung springt automatisch zur Namensauswahl zurück.

Bei einem Speicherfehler bleibt der gewählte Techniker aktiv, damit die Buchung kontrolliert wiederholt werden kann. Während eine Mitarbeiterbuchung gespeichert wird, sperrt die Oberfläche weitere Vorgangstasten. Rückgängig erzeugt eine Gegenbuchung mit derselben Mitarbeiter-ID. VIP und Untermenüs funktionieren in beiden Modi.

Geräteübergaben mit Untermenü

Eine Hauptschaltfläche mit dem Hinweis „Unterpunkte“ bucht noch nichts. Sie öffnet einen zweiten, touchgerechten Auswahlschritt. Erst die dort gewählte Folgeschaltfläche erhöht ihren eigenen Zähler und wird mit eigener Ereignis-ID, Bezeichnung sowie Standardzeit gespeichert. „Zurück ohne Buchung“ oder das Schließen-Symbol beendet die Auswahl ohne Zählung.

Hauptschaltfläche Folgeschaltflächen
Ausgabe Laptop Laptop · Übergabe zur Installation, Reparatur oder sicheren Löschung
Ausgabe PC / Workstation PC / Workstation · Übergabe zur Installation, Reparatur oder sicheren Löschung
Rückgabe Laptop Laptop ins Lager oder zur Entsorgung
Rückgabe PC / Workstation PC / Workstation ins Lager oder zur Entsorgung

Die Zahl auf der Hauptschaltfläche zeigt den heutigen Gesamtstand ihrer Unterpunkte einschließlich möglicher älterer Direktbuchungen. In Auswertungen bleiben die Folgevorgänge getrennt. Ist VIP vorher aktiv, bleibt es während der Untermenüauswahl aktiv und wird auf den gewählten Folgevorgang angewendet.

VIP-Support

  1. „VIP-Support“ antippen. Die Fläche wird grau und zeigt die aktive Auswahl.
  2. Danach den tatsächlichen Vorgang wählen, zum Beispiel Beratung oder Meetingbetreuung. Öffnet dieser ein Untermenü, dort noch den genauen Folgevorgang antippen.
  3. VIP schaltet sich nach der Buchung automatisch aus. Erneutes Antippen vor der Buchung bricht die Auswahl ab.

VIP allein ist kein Vorgang, zählt nicht und besitzt keine Planzeit. „Meetingbetreuung / Konferenztechnik“ ist in der IT-Vorlage als ungeplante Soforthilfe vorbelegt.

Hauptansicht, Sonstiger Vorgang und Vollbild

Das Raster passt Größe und Zahl der Spalten an Browserfenster und Vollbild an. Die konfigurierten Schaltflächen füllen die nutzbare Fläche. „Sonstiger Vorgang“ bleibt fest im letzten Feld rechts unten und öffnet alle aktiven Vorgänge, die nicht direkt auf der Startseite liegen. Unterpunkte erscheinen ausschließlich im zugeordneten Untermenü.

„Vollbild“ aktiviert den vom Browser bereitgestellten Webseiten-Vollbildmodus. Im aktiven Zustand heißt dieselbe Schaltfläche „Vollbild verlassen“ und führt zurück zum normalen Browser- oder Appfenster. Ein von außen mit einem Browserparameter erzwungener Kioskmodus kann von einer Webseite dagegen nicht beendet werden.

DE und EN wechseln Oberfläche, Menüs, Meldungen und die zentral gepflegten deutschen beziehungsweise englischen Feldnamen. Nur die Sprachwahl wird lokal im Browser gespeichert. Zwei Touch-PCs können deshalb gleichzeitig unterschiedliche Sprachen anzeigen, ohne Zähler oder Konfiguration gegenseitig umzuschalten.

Die Kopfzeile enthält einen frei zugänglichen Link zu diesem Handbuch. Ton und Vollbild sind optional. „Rückgängig“ gilt nur für eigene Buchungen der aktuellen Browser-Sitzung am laufenden Tag.

04 · GESCHÜTZTER BEREICH

Administration und Konfiguration

PIN

Beim ersten Öffnen wird eine PIN mit 4 bis 12 Ziffern eingerichtet. admin.json speichert Salt und PBKDF2-SHA-256-Hash mit 310.000 Durchläufen, keinen lesbaren PIN-Text. Fünf falsche Versuche innerhalb von fünf Minuten sperren weitere Anmeldungen für fünf Minuten. Eine erfolgreiche Sitzung läuft nach acht Stunden ohne autorisierte Aktivität ab.

Vorgang hinzufügen und bearbeiten

„Vorgang hinzufügen“ erzeugt ein neues Feld. Bearbeitbar sind Feldnamen auf Deutsch und Englisch, Arbeitsbereich, Standardzeit von 0 bis 480 Minuten, Symbol, Farbe, Startseitenanzeige, SOFORT-Vorgabe, Aktivstatus und Untermenü-Zuordnung. Die Auswahl enthält Symbole für IT-Hardware, Ausgabe und Rückgabe, Anwenderfragen, Lager, Empfang, Werkstatt, Materialausgabe, Medizin, Pflege, Installation, Reparatur, Erase, Entsorgung, Zubehör und Paketannahme.

„Vorgang aktiv“ steuert, ob ein Feld überhaupt gebucht werden kann. Wird es deaktiviert, verschwindet es aus der Bedienoberfläche. Es wird nicht gelöscht: Feld-ID, bisherige Ereignisse und historische Auswertbarkeit bleiben erhalten. „Auf Hauptansicht anzeigen“ betrifft dagegen nur die direkte Touchfläche; ein aktiver Vorgang ohne diese Markierung bleibt unter „Sonstiger Vorgang“ erreichbar.

Nach „Felder bearbeiten“ erscheint oberhalb des Rasters eine ständig sichtbare Bearbeitungsleiste. Ein Antippen einer Kachel öffnet weiterhin deren Felddialog. Aktive Hauptkacheln tragen zusätzlich einen hellen Ziehgriff: den Griff mit Finger oder Maus halten, auf die gewünschte Hauptkachel ziehen und dort loslassen. CountPilot speichert die geänderte Startreihenfolge sofort. Unterpunkte, deaktivierte Felder, VIP und „Sonstiger Vorgang“ lassen sich auf diesem Weg nicht verschieben.

„Bearbeiten beenden“ in derselben Leiste führt direkt zur normalen Erfassungsansicht zurück; das Adminmenü muss dafür nicht erneut geöffnet werden. Für eine genaue Positionswahl oder eine Bedienung ohne Ziehbewegung bleibt „Startseite anordnen“ im Adminmenü erhalten. Dort stehen Positionsnummern und Pfeiltasten bereit.

Untermenü konfigurieren

  1. Administration entsperren und „Felder bearbeiten“ wählen.
  2. Die gewünschte Hauptschaltfläche antippen und „Unterpunkt hinzufügen“ wählen. Änderungen an der Hauptschaltfläche werden dabei zuerst gespeichert.
  3. Deutsch- und Englischbezeichnung, Symbol, Farbe, Standardzeit und Aktivstatus des neuen Unterpunkts bearbeiten. Das Feld „Untermenü-Zuordnung“ enthält bereits die Hauptschaltfläche.
  4. Speichern. Die neue Folgeschaltfläche erscheint danach nur im Untermenü und wird eigenständig gezählt.

Alternativ lässt sich bei jedem normalen vorhandenen Vorgang im Feld „Untermenü-Zuordnung“ eine bestehende Hauptschaltfläche auswählen. Eine Hauptschaltfläche mit zugeordneten Unterpunkten wird automatisch zum reinen Auswahlschritt; ihre Standardzeit wird für neue Buchungen nicht verwendet. Ein Untermenü kann bis zu 24 aktive oder archivierte Unterpunkte enthalten. Verschachtelte Untermenüs, Kreiszuordnungen sowie Untermenüs an VIP oder „Sonstiger Vorgang“ lehnt der Server ab.

Zum Auflösen einer Zuordnung den Unterpunkt bearbeiten und „Direkt buchen oder als Hauptschaltfläche verwenden“ wählen. Deaktivieren archiviert nur den einzelnen Unterpunkt. Wird die Hauptschaltfläche deaktiviert, sind ihre Unterpunkte in der Bedienoberfläche nicht erreichbar, bleiben aber gespeichert und auswertbar.

VIP und „Sonstiger Vorgang“ sind feste Systemfelder. Sie können umbenannt, gestaltet und mit einem Symbol versehen werden, bleiben aber aktiv und behalten ihre besondere Funktion. Die Reihenfolge der Startseite wird zeilenweise festgelegt; „Sonstiger Vorgang“ bleibt rechts unten. Das gilt sowohl beim Ziehen im Bearbeitungsmodus als auch bei der Positionswahl im Adminmenü.

Konfiguration und Vorlagen

„Konfiguration exportieren“ lädt eine JSON-Datei mit Anwendungstitel, Feldern, Untermenü-Zuordnungen, Layout, Einstellungen, Personalplänen und Technikernamen samt Stundenprofilen. Zähler, Ereignisse, PIN und Archive sind nicht enthalten. Die Konfigurationsdatei kann personenbezogene Daten enthalten und muss entsprechend geschützt werden. Beim Import werden passende Feld-IDs aktualisiert. Nicht enthaltene vorhandene Felder werden deaktiviert statt gelöscht.

Fünf Vorlagen stehen bereit: IT-Service, Lager, Empfang, Werkstatt und Pflege / Station. Die IT-Service-Vorlage enthält die neutrale Geräte- und Zubehör-Untermenüs für Weiterbearbeitung, Lager, Entsorgung, Ausgabe und Rückgabe. Beim Laden einer Vorlage werden deren Vorgänge aktiviert und andere normale Vorgänge archiviert. Bestehende Zähler und Ereignisse bleiben über ihre IDs erhalten. Vor einem Import oder Vorlagenwechsel erscheint eine Bestätigung.

Techniker verwalten

„Techniker verwalten“ legt Anzeigenamen und individuelle Arbeitsstunden für Montag bis Sonntag an. Vollständiger Name, Vorname oder intern vereinbarte Initialen sind möglich. Aus Datenschutzgründen sollte die am wenigsten personenbeziehbare, betrieblich noch eindeutige Bezeichnung verwendet werden. Jeder Techniker erhält intern eine dauerhafte ID; eine spätere Umbenennung trennt historische Daten deshalb nicht künstlich.

Stundenstände besitzen ein „Gültig ab“-Datum. Ein neuer Stand ergänzt die Historie, derselbe Stichtag wird ersetzt. Deaktivieren blendet die Namenskachel aus und schreibt ab dem gewählten Datum einen Nullstundenplan. Gelöscht wird der Techniker nicht. Das schützt ältere Ereignisse und Auswertungen.

Neutraler Auslieferungszustand

Im neutralen Auslieferungszustand sind keine realen Personen als Technikerprofile hinterlegt. Ein reines Demonstrationspaket darf neutrale Beispiele wie „Techniker 1“, „Techniker 2“ oder „Techniker 3“ enthalten; diese besitzen keinen Bezug zu tatsächlichen Beschäftigten und müssen vor dem Produktivbetrieb entfernt, deaktiviert oder durch die vor Ort freigegebenen Bezeichnungen ersetzt werden.

Für jedes produktive Profil werden Name oder Kürzel, Aktivstatus, das Datum „Gültig ab“ und die vorgesehenen Stunden für Montag bis Sonntag gespeichert. Abweichende Wochenstunden oder spätere Vertragsänderungen werden als neuer Stundenstand mit einem neuen Stichtag angelegt. Die Auswertung verwendet für jeden Tag den damals gültigen Stand. Profile können daher parallel verschiedene tägliche und wöchentliche Arbeitszeiten besitzen.

Weitere Einstellungen

Der Anwendungsname ändert Überschrift und Browser-Tab. Das Raster erlaubt 2 bis 8 Optionen je Reihe und 1 bis 20 Reihen. Der optionale Ton bestätigt eine erfolgreiche Buchung. Die manuelle Tagesrücksetzung verlangt den exakten aktuellen Gesamtstand und einen Grund mit mindestens drei Zeichen; sie setzt nur die sichtbare Tagesanzeige zurück und protokolliert den Eingriff.

Der PIN-geschützte Systemstatus zeigt Serverlaufzeit, letzten Datenschreibvorgang, letzte Sicherung, freien und gesamten Speicher, Bind-Adresse sowie Größe und Änderungszeit der Datendateien. Die Seite aktualisiert sich alle 30 Sekunden.

05 · PERSONALPLANUNG

Zeitlich gültige Personalpläne

Planwerte erhalten ein „Gültig ab“-Datum. Individuelle Stunden für September überschreiben damit nicht die Kapazität von Juni.

Sobald für einen Tag wirksame Techniker-Stundenprofile vorhanden sind, berechnet CountPilot die Kapazität aus deren Summe. Die Zielauslastung des allgemeinen Personalplans wird darauf angewendet. Für Zeiträume vor dem ersten individuellen Profil greift der bisherige Plan mit produktiven Stunden je Techniker, geplanter Technikerzahl, Schichtmodell und Zielauslastung als Rückfallwert.

Rohkapazität Techniker × produktive Stunden × 60
Zielkapazität Rohkapazität × Zielauslastung
Auslastung Planminuten ÷ Zielkapazität × 100
75 Prozent Standardwert für realistisch verplanbare produktive Zeit
Schichtmodell Textangabe je Gültigkeitsstand, etwa Tagesdienst
Personalbedarf Planminuten ÷ verfügbare Ein-Techniker-Zielkapazität

Die Berechnungsbasis für den Personalbedarf ist wählbar: Arbeitstage Montag bis Freitag, Öffnungstage mit geplanter Technikerzahl größer null oder aktive Tage mit mindestens einer Erfassung. Der gewählte Modus steht sichtbar an der Kennzahl. Nullbuchungen an Öffnungstagen senken bei „Öffnungstage“ die errechnete Auslastung; das ist beabsichtigt und macht Erfassungslücken sichtbar.

Planzeit bleibt eine Annahme

CountPilot kennt weder Urlaub noch Krankheit, Qualifikation, parallele Aufgaben, Wartezeit oder echte Bearbeitungsdauer. Standardzeiten, Zielauslastung und Datenvollständigkeit müssen vor Personalentscheidungen fachlich geprüft werden.

06 · AUSWERTUNG

Zwei Auswertungsarten mit klarer Datengrenze

Im Adminmenü stehen „Detaillierte Auswertung“ und „Tages- und Wochenzahlen“ getrennt bereit. Beide Seiten sind PIN-geschützt, starten mit 28 Tagen und akzeptieren Zeiträume bis zehn Jahre. Sie zeigen Gesamtvorgänge, Planaufwand, SOFORT, VIP, Zielkapazitätsauslastung und rechnerischen Personalbedarf.

Tages- und Wochenzahlen

Diese datenschutzreduzierte Ansicht zeigt Summen je Kalendertag und ISO-Kalenderwoche, Wochenvergleich, Kapazität sowie Datenvollständigkeit. Angefangene Wochen werden nur innerhalb des gewählten Zeitraums berechnet.

Detaillierte Auswertung

Diese Ansicht ergänzt Vorgangsarten, Stundenverteilung, Wochentag-Stunden-Raster und eine Mitarbeitertabelle. Der Export der Einzelereignisse enthält die genaue Auslösezeit jeder Buchung und Gegenbuchung sowie, falls gewählt, Mitarbeiter-ID und Namensstand.

Serverseitige Reduktion

Im verdichteten Modus überträgt der Server keine Uhrzeitverteilung, keine Tagesspitzen, keine Vorgangsarten, keine Mitarbeiterdaten und keine Einzelereignisse an den Browser. Die Bereiche werden also nicht lediglich optisch ausgeblendet.

Bewusste Verwendung

Für Personal- und Ressourcenplanung sollte die verdichtete Ansicht der Normalfall sein. Die Detailansicht ist für begründete Betriebsanalysen vorgesehen, etwa zur Prüfung echter Lastspitzen.

Datenschutzgrenze

Im Mitarbeitermodus speichert CountPilot die Techniker-ID und den beim Buchen gültigen Anzeigenamen. Diese Daten erlauben direkte Rückschlüsse auf Beschäftigte. Der allgemeine Modus und die verdichtete Tages- und Wochenauswertung bleiben ohne Namenszuordnung. Zugriff, Zweck, Aufbewahrung, Export und Weitergabe der Detaildaten müssen organisatorisch beschränkt und mit Datenschutz sowie Arbeitnehmervertretung abgestimmt werden.

Sechs Exporte

Export Inhalt Modus
Tages- und Wochenzahlen Eine Zeile je Tag und eine Zeile je Kalenderwoche mit Summen, Planstunden, Kapazität, Auslastung, SOFORT, VIP, aktiven Tagen und Datenqualität. Keine Auslösezeit, Vorgangsart, Ereignis-ID oder Sitzung. Verdichtet
Gesamtarchiv Eine verdichtete Zeile je Tag seit Beginn, einschließlich des aktuellen noch laufenden Tages. Das Original tagesarchiv.csv bleibt im CountPilot-Ordner. Detailliert / Adminmenü
Planungsdaten Eine Zeile je Datum, Vorgang und Erfassungszuordnung mit Anzahl, Planminuten, VIP, SOFORT, Modus, optionaler Mitarbeiter-ID, verwendeter Standardzeit und Datenqualität. Detailliert
Mitarbeiterauswertung Summen je Mitarbeiter beziehungsweise Modus mit Vorgängen, Planminuten, individueller Zielkapazität, Auslastung, VIP und SOFORT. Allgemeine und historische Daten stehen getrennt ohne Namen. Detailliert
Einzelereignisse Jede Buchung und Gegenbuchung mit genauer Auslösezeit, Ereignis-ID, Sitzung, Erfassungsmodus, optionaler Mitarbeiter-ID und Namensstand, Merkmalen, damaliger Standardzeit und Quelle. Detailliert
Wochenreport Montag bis Sonntag sowie Gesamtzeile mit Vorgangsdetails. Der Dateiname enthält Kalenderwoche und Jahr. Detailliert

Downloads sind Kopien im Standard-Downloadordner des Browsers. Die fortgeschriebenen Originale bleiben im CountPilot-Ordner. Beim Wechsel von Sonntag auf Montag erzeugt der Server den detaillierten Wochenreport. Ist der automatische Browser-Download aktiv und die CountPilot-Seite geöffnet, wird anschließend eine Kopie heruntergeladen.

Standardzeiten in der Planungs-CSV

Bei Einzelereignissen verwendet jede Zeile die tatsächlich beim Buchen gespeicherte Standardzeit. Kamen für denselben Vorgang am selben Tag verschiedene Zeiten vor, steht im Feld ausdrücklich „gemischt / mixed“ samt Werten. Historische Tageswerte besitzen keine damalige Standardzeit; jede betroffene CSV-Zeile trägt deshalb den Text „rekonstruiert mit heutiger Standardzeit / reconstructed using current standard time“.

07 · SPEICHERUNG UND SICHERHEIT

Datenfluss, Tageswechsel und Zugriffsschutz

Schreiben und Tageswechsel

Der Server schreibt eine Buchung zuerst als neue Zeile in events.csv und aktualisiert danach state.json atomar. Die Zeile enthält den Erfassungsmodus sowie im Mitarbeitermodus eine stabile Techniker-ID und den Namensstand. Prozessinterne Sperren ordnen gleichzeitige Anforderungen. Normale Zustandsabfragen schreiben state.json nur dann neu, wenn Migration, Datumswechsel oder eine echte Korrektur etwas verändert hat.

Beim ersten Start von Version 1.2.0 erweitert der Server das bisherige Ereignisprotokoll atomar um die drei Spalten capture_mode, technician_id und technician_name. Alte Buchungen werden als „historisch ohne Zuordnung“ markiert. Vorher entsteht unter backups/schema_8_event_migration_* eine eigene Kopie der alten Datendateien, auch wenn die normale Tagessicherung schon vorhanden ist.

Nach einem Datumswechsel wird der Vortag zuerst als zusätzliche Zeile in tagesarchiv.csv geschrieben. Erst danach setzt der Server die sichtbaren Zähler zurück. Der archivierte Wert ist deshalb nicht null. Vorhandene Archivtage werden nicht überschrieben.

Positivliste für Browserdateien

Der Server decodiert und normalisiert jeden URL-Pfad vollständig. Danach liefert er ausschließlich die Programmoberfläche, das Handbuch, die ersten Schritte, die Lizenz, die drei Reportdateien, die drei Statusdateien, die rechtlichen Hinweise, das Herausgeberlogo und die vorgesehenen Browser- beziehungsweise Apple-Symbole aus. Alle anderen statischen Pfade enden mit 404. Das gilt auch für codierte oder mehrfach codierte Namen.

state.json, events.csv, tagesarchiv.csv, admin.json, server.py, Sicherungen, Protokolle und Startdateien werden nie direkt als statische Browserdateien ausgeliefert. Freigegebene Daten verlassen den Server nur über die vorgesehenen, meist PIN-geschützten APIs.

Ein Server je Ordner

.counter.lock enthält PID, Adresse, Port und Startzeit. Eine echte Betriebssystem-Sperre gilt für die gesamte Prozesslaufzeit. Ein zweiter Start aus demselben CountPilot-Ordner endet sofort mit einer verständlichen Meldung. Nach einem Absturz darf die Datei liegen bleiben; die Betriebssystem-Sperre wird freigegeben und der nächste Start überschreibt die veralteten Angaben.

Nicht ins Internet stellen

Der Server bietet kein HTTPS, keine zentralen Benutzerkonten und keine Absicherung für öffentliche Netze. Port 8080 niemals am Internetrouter weiterleiten. Auf dem lokalen Rechner bleiben JSON- und CSV-Dateien unverschlüsselt; Betriebssystemkonto, Datenträger und Sicherungen müssen geschützt werden.

08 · WINDOWS 11

Installation, Appfenster, Vollbild und Autostart

  1. Python 3 von python.org installieren. „Add Python to PATH“ aktivieren.
  2. Den kompletten CountPilot-Ordner auf eine interne SSD kopieren.
  3. start_counter_windows.bat doppelklicken. Der Server läuft im Hintergrund; Microsoft Edge öffnet nach Möglichkeit als maximiertes Appfenster. Ohne Edge öffnet sich der Standardbrowser.
  4. In CountPilot „Vollbild“ antippen. Die Beschriftung wechselt zu „Vollbild verlassen“; ein weiterer Fingertipp stellt das maximierte Appfenster wieder her.
  5. Zum Beenden stop_counter_windows.bat doppelklicken.

Die aktuelle Windows-Startdatei verwendet bewusst keinen Edge-Kioskparameter. Ein echter Browser-Kioskmodus lässt sich aus Sicherheitsgründen nicht über eine Schaltfläche der Webseite verlassen. Öffnet eine ältere Startdatei Edge weiterhin mit --kiosk, muss start_countpilot_windows.ps1 aktualisiert oder das Fenster mit Alt+F4 beendet werden.

Der manuelle Kontrollstart bleibt möglich:

cd "C:\Users\Name\Desktop\CountPilot"
py server.py --open-browser

Mit Ctrl+C beenden. install_autostart_windows.bat legt über die Windows-Aufgabenplanung einen Start bei Anmeldung an. uninstall_autostart_windows.bat entfernt diese Aufgabe. Die Installation verändert keine Zählerdaten.

Bei einem fest installierten Touch-PC sollte die zuständige IT Browserzugriff, Energiesparmodus, automatische Anmeldung und die private Firewallregel passend einrichten. Die Aufgabenplanung ist optional. Testen Sie vorher mehrere normale Starts und Stopps.

09 · MACOS

Installation, Startdatei und LaunchAgent

python3 --version im Terminal prüfen. Fehlt Python, Python 3 von python.org installieren.

  1. start_counter_macos.command doppelklicken. macOS kann beim ersten Mal „Öffnen“ über das Kontextmenü verlangen.
  2. Die Startdatei startet den Server im Hintergrund, wartet auf Erreichbarkeit und öffnet den Standardbrowser.
  3. Im CountPilot „Vollbild“ wählen. Für Google Chrome kann aus dem Terminal der Kioskmodus verwendet werden: ./start_counter_macos.command --kiosk.
  4. stop_counter_macos.command beendet genau den Prozess aus diesem CountPilot-Ordner.

Der optionale install_autostart_macos.command legt local.touchcounter.server.plist in ~/Library/LaunchAgents an und lädt ihn. Der LaunchAgent startet lokal auf 127.0.0.1, öffnet den Browser und hält den Server aktiv. uninstall_autostart_macos.command entlädt ihn und verschiebt die plist in den Papierkorb.

Manueller Start:

cd "/Users/name/Desktop/CountPilot"
python3 server.py --open-browser

Im Terminal mit Control+C beenden, nicht mit Command+C. counter_server.log enthält Meldungen der Hintergrundstarts und wird nicht über den Webserver ausgeliefert.

10 · LINUX UND NETZWERK

Lokaler Betrieb als Standard

Unter Linux oder Raspberry Pi OS:

cd /home/user/counter
python3 server.py --open-browser

Ohne zusätzliche Option bindet der Server ausschließlich an 127.0.0.1. Das ist die empfohlene Einstellung für einen einzelnen Touch-PC.

Nach der Umstellung auf die Positivliste kann ein bewusst geplantes, geschütztes LAN verwendet werden:

python3 server.py --host 0.0.0.0 --port 8080

Dann können andere Geräte über die lokale IP zugreifen. Die tägliche Buchungsoberfläche hat absichtlich keine Anmeldung; jeder erreichbare Teilnehmer kann Vorgänge buchen. Administration, Exporte, Status und Auswertungen verlangen die PIN. Netzwerksegmentierung und Firewall müssen Port 8080 auf vertrauenswürdige Geräte beschränken.

Mehrere Bediengeräte dürfen unterschiedliche Sprachen verwenden. Feldnamen, Zähler und Konfiguration bleiben zentral. Der Erfassungsmodus wird mit jeder Buchung übermittelt; allgemeine Buchungen und Buchungen im Mitarbeitermodus können parallel vorkommen. Aktive Technikernamen werden an jedes Gerät übertragen, das die ungeschützte lokale Buchungsoberfläche erreichen kann, damit die Namenskacheln angezeigt werden. Netzwerkzugriff, Bildschirmstandort und Namensform müssen deshalb bewusst festgelegt werden. Mitarbeiterdaten dürfen nicht ohne festgelegten Zweck für eine verdeckte individuelle Leistungskontrolle verwendet werden.

11 · SICHERUNG UND UMZUG

Automatische und externe Sicherung

Vor der ersten Datenänderung jedes Kalendertags legt CountPilot backups/JJJJ-MM-TT an. Gesichert werden Zustand, Ereignisse, Tagesarchiv, PIN-Datei, die lokal erzeugte Lizenzannahme und Wochenreports. Pro Datum entsteht höchstens ein automatischer Stand. Alte Sicherungsordner werden nicht automatisch gelöscht.

Der Systemstatus zeigt Zeitpunkt der letzten Sicherung und freien Speicher. Die automatische Sicherung innerhalb von CountPilot schützt nicht vor Defekt, Verlust, Diebstahl oder Beschädigung des gesamten Rechners beziehungsweise Datenträgers.

Vollständige externe Sicherung

  1. Server mit der passenden Stop-Datei oder Control+C / Ctrl+C beenden.
  2. Den kompletten CountPilot-Ordner sichern und die Kopie auf einem getrennten Datenträger, NAS oder Backup-System ablegen.
  3. Stichprobenartig mindestens state.json, events.csv, tagesarchiv.csv, admin.json, license_acceptance.json und die Wochenreports kontrollieren, soweit diese Dateien bereits vorhanden sind.
  4. Erst danach Programmdateien austauschen oder den Ordner auf einen anderen Rechner verschieben.

Windows, macOS und Linux verwenden dieselben Daten. Die Startdateien unterscheiden sich. Für den Tagesbetrieb ist eine interne SSD deutlich geeigneter als ein langsamer USB-Stick.

12 · FEHLERBEHEBUNG

Typische Meldungen

„CountPilot läuft in diesem Ordner bereits“

Die Einzelinstanz-Sperre arbeitet korrekt. Den vorhandenen Browser verwenden oder den Server mit der Stop-Datei beenden. Eine liegen gebliebene .counter.lock-Datei nach einem Absturz blockiert allein keinen Neustart.

„Address already in use“

Port 8080 wird von einem anderen Programm oder einer CountPilot-Kopie in einem anderen Ordner benutzt. Diesen Prozess beenden oder testweise python3 server.py --port 8081 beziehungsweise py server.py --port 8081 starten.

Rote Speicheranzeige oder wartende Buchungen

Weitere Eingaben stoppen. Serverlauf und freien Speicher über den Systemstatus prüfen. Bleibt die Warteschlange stehen, Browser und Server kontrolliert neu starten. Dieselbe Ereignis-ID verhindert bei der eingebauten Wiederholung eine Doppelzählung; nach einem kompletten Browserneustart sollte eine unklare Buchung im Ereignisprotokoll geprüft werden.

404 bei JSON, CSV, Python, Lock- oder Sicherungsdatei

Das ist der beabsichtigte Pfadschutz. Nur freigegebene Seiten, Skripte, Styles und Symbole sind statisch erreichbar.

Alte Oberfläche oder falsches Tab-Symbol

Browser vollständig neu laden und prüfen, aus welchem CountPilot-Ordner der Server gestartet wurde. CountPilot verwendet versionierte Dateinamen für Tab-, Safari- und Touch-Symbole. Dadurch kann Safari kein älteres Symbol desselben Dateipfads weiterverwenden. Bleibt ein grauer Buchstaben- oder Zahlenplatzhalter sichtbar, den betroffenen Tab schließen und CountPilot in einem neuen Tab öffnen. Mehrere Ordnerkopien sind ebenfalls eine häufige Ursache.

Falscher Tag oder falsche Kalenderwoche

Systemdatum, Uhrzeit und Zeitzone des Serverrechners vor weiteren Buchungen korrigieren. Diese Werte bestimmen Ereigniszeit, Tageswechsel und ISO-Kalenderwoche.

PIN vergessen

Server beenden, admin.json als Sicherung aus dem CountPilot-Ordner verschieben, neu starten und eine neue PIN einrichten. Keine Ereignis- oder Zustandsdatei löschen.

13 · PROGRAMMORDNER

Dateien und ihre Aufgabe

index.html, app.js, style.cssTouchoberfläche, Bedienlogik und Gestaltung.
manual.htmlDieses frei zugängliche zweisprachige Handbuch.
legal.htmlÖffentliche Anbieter-, Lizenz- und Datenschutzhinweise.
LICENSE.txt, THIRD_PARTY_NOTICES.txtProprietäre Lizenz und Herkunft technischer Bestandteile.
publisher-logo.svgHerausgeberlogo von IT-Service Kühne.
reports.html, reports.js, reports.cssPIN-geschützte Auswertung.
status.html, status.js, status.cssPIN-geschützter Systemstatus.
server.pyHTTP-Server, Speicherung, Sicherheit, Reports und Sicherungen.
state.jsonZentrale Konfiguration und sichtbarer Tagesstand.
events.csvFortlaufende Einzelereignisse mit Uhrzeit, Erfassungsmodus, optionaler Mitarbeiter-ID und Namensstand sowie damaliger Standardzeit.
tagesarchiv.csvEine verdichtete Zeile je abgeschlossenem Tag.
admin.jsonHashdaten der Administrator-PIN.
license_acceptance.jsonLokale Annahme der Lizenzfassung sowie Beginn und Ende der Evaluierung. Die Datei entsteht erst nach Zustimmung und enthält keine Personendaten. Sie wird nicht statisch ausgeliefert und gehört nicht in ein frisches Installationspaket.
.counter.lockPID-Metadaten und prozessübergreifende Einzelinstanz-Sperre.
backups/JJJJ-MM-TTAutomatische Tagessicherung.
wochenreport_KWxx_JJJJ.csvFertiger Wochenreport Montag bis Sonntag.
start_*, stop_*, install_*, uninstall_*Start, Stopp und optionaler Autostart für Windows und macOS.
favicon.svg, favicon*, safari-pinned-tab.svg und apple-touch-icon*Symbole für Browser-Tabs, Safari, Lesezeichen und Startbildschirm.

Browser-Downloads wie gesamtarchiv.csv, planung_*.csv, mitarbeiterauswertung_*.csv, ereignisse_*.csv und countpilot_konfiguration_*.json sind Kopien. Detail-, Mitarbeiter- und Konfigurationsexporte können personenbezogene Daten enthalten. Die fortgeschriebenen Originaldaten verbleiben im CountPilot-Ordner.

AKTUELLE IT-KONFIGURATION

Smartphone, Zubehör und Lieferungen

Die Hauptansicht der IT-Vorlage verwendet fünf Spalten und fünf Reihen. Reihe 1 enthält Laptop-Ausgabe, Laptop-Rückgabe, PC-/Workstation-Ausgabe, PC-/Workstation-Rückgabe und Hardware-Störung. Reihe 2 enthält Smartphone-Ausgabe, Smartphone-Rückgabe, Smartphone-Installation, SIM / Vertrag und Firmenaustritt. Reihe 3 enthält Monitor-Ausgabe, Monitor-Rückgabe, Zubehör-/Hardware-Ausgabe, Zubehör-/Hardware-Rückgabe und Paket-/Lieferungsannahme. In Reihe 4 folgen Ticketstatus, Bestell-/Lieferstatus, allgemeine User-Frage, Beratung sowie Zugang / Passwort / MFA. Reihe 5 enthält SSO / Zutrittskarte, Software / Anwendung, Netzwerk / WLAN / VPN, Meetingbetreuung / Konferenztechnik und rechts unten „Sonstiger Vorgang“. VIP-Support bleibt als Zusatzmerkmal im oberen Bedienbereich.

Smartphone-Rückgabe

„Rückgabe Smartphone / Handy“ öffnet „Smartphone ins Lager“ und „Smartphone zur Entsorgung“. „Installation Smartphone“ ist eine eigene direkte Schaltfläche mit 30 Minuten Standardzeit.

Paketannahme

„Paket- / Lieferungsannahme“ erfasst eingegangene Pakete und Lieferungen direkt. Die voreingestellte Standardzeit beträgt 5 Minuten.

Zubehör-Ausgabe

Die Hauptschaltfläche öffnet 16 eigenständig gezählte Ausgaben: Dockingstation, Keyboard-/Mouse-Set, Mouse, RAM, HDD / SSD, Rucksack / Tasche, Laptopschloss, Headset, Ladegerät Laptop, Ladegerät Smartphone, DP-, HDMI- und USB-C-Kabel, Webcam, Ersatzteile und sonstiges Zubehör.

Zubehör-Rückgabe

Die Rückgabe enthält dieselben 16 Komponenten als getrennte Rückgabevorgänge. Für jeden Zubehörvorgang sind 5 Minuten vorbelegt.

Große Untermenüs erscheinen auf einem Full-HD-Touchbildschirm als Raster mit vier Spalten. Erst die gewählte Komponente wird gebucht. Alle Bezeichnungen, Symbole und Standardzeiten bleiben im Adminbereich bearbeitbar; bis zu 24 Unterpunkte je Hauptschaltfläche sind erlaubt.