API

Die Time2Emphasize App erzeugt automatisch einen API-Key, der bei Verbindungen verwendet wird. Im folgenden ist dieser mit <customer> auszutauschen.

Ändern der Sprache

Die Time2Emphasize App öffnet sich in der Sprache, die auf dem Gerät erkannt und unterstützt wird. Über folgende Links kann die Sprache geändert werden in:

Export, Import und Zurücksetzen

In der Time2Emphasize App können Aufteilung (im JSON Format) und alle Erfassungen (im CSV Format) in dem Dialog "Export, Import und Zurücksetzen" exportiert (ein Backup anlegen) und importiert (ein Backup wieder einspielen) werden. Alle bisherigen Erfassungen können zudem bereinigt werden (Zurücksetzen durch Löschung).

Zurücksetzen aller Einstellungen

Die Time2Emphasize App kann über folgenden Link in ihren initialen Auslieferungszustand zurückgesetzt werden:

https://time2.emphasize.de?a=reset

Vorsicht: dies löscht die Feldaufteilung und alle erfassten Zeitdaten auf dem Gerät!

Verbindungen anlegen

Verbindungen können alternativ zu dem Öffnen der unten beschriebenen Links auch manuell im Dialog über Menü unter "Verbindugen" konfiguriert werden.

Verbindungen Dialog

Aktivitäten z.B. über einscannen von QRCodes empfangen

https://time2.emphasize.de?m=e

Druckt man die Seite (Strg + P), wird eine Liste aller QRCodes ausgedruckt.

In der Toolbar erscheint mode qrcode der QRCode Modus, der alle QRCodes in den Feldern anzeigt. Die QRCode-Bilder haben zudem den Link hinterlegt. Kopiert man diesen Link, bekommt man den <channel> heraus, der im folgenden einzusetzen ist:

Figur setzen

GET https://time2.emphasize.de/connect/<channel>/push/<feldName>/<feldFarbe>

wobei /<feldFarbe> optional ist.

Figur absetzen

GET https://time2.emphasize.de/connect/<channel>/off

Info eintragen

GET https://time2.emphasize.de/connect/<channel>/info/<infoText>

Verbindung mit einem weiteren Gerät

https://time2.emphasize.de?m=a

Anschließend im Dialog über Menü unter "Verbindungen" den Link kopieren und diesen auf dem anderen Gerät öffnen. Ggf. das andere Gerät vorher Zurücksetzen.

Verbindung für einen Zuschauer

https://time2.emphasize.de?m=v

Anschließend im Dialog über Menü unter "Verbindungen" den Link kopieren und diesen dem Zuschauer zusenden. Öffnet der Zuschauer den Link, sieht er die Feldaufteilung und die jeweils aktuelle Position der Figur ohne selbst Änderungen vornehmen zu können.

Verbindung für eine Statusanzeige

https://time2.emphasize.de?m=p

Anschließend im Dialog über Menü unter "Verbindungen" den HTML Quellcode kopieren und in einer Webseite einfügen, um den aktuellen Status öffentlich zu Teilen.

time2emphasize-badge

Dabei können auch mehrere unterschiedliche Statusanzeigen von unterschiedlichen Time2Emphasize Instanzen eingebunden werden, dazu den <script>...</script> Teil nur einmal (am Ende vor dem schließenden Body Tag) einfügen. Ein Beispiel hierzu:

<!DOCTYPE html>
<html>
  <body>
    Person A Status:
    <a data-channel="y89h2je1vs" href="https://www.emphasize.de" title="free time-reporting tool" class="time2-badge"> Time2Emphasize <span class="time2-event">time-reporting tool</span></a>
    und Person B Status:
    <a data-channel="a9110wvv67" href="https://www.emphasize.de" title="free time-reporting tool" class="time2-badge"> Time2Emphasize <span class="time2-event">time-reporting tool</span></a>

    <script>...</script>
  </body>
</html>

Verbindung mit einem Speicherort

https://time2.emphasize.de?m=s&c=<customer>&d=<url>

Download zur Einrichtung eines Speicherort Servers: ZIP

Voraussetzung: Apache, PHP und PDO-SQLite verfügbar! Zum Prüfen der Voraussetzungen und ermitteln der <url> folgende Seite dann öffnen:

<url>/<customer>/check_pdo.php

check_pdo.php kann anschließend vom Server entfernt werden.

Figur setzen

POST <url>/<customer>
PAYLOAD [{"s": %CURRENT_TIMESTAMP%, "n": "field name", "c": "#ffab11"}]

Die Feldbezeichnung "field name" und die Farbe "#ffab11" sind durch die Werte des entsprechenden, sichtbaren Feldes zu ersetzen.

Weiterführende Anmerkungen: 1

Figur absetzen

Das Absetzen der Figur vom Spielfeld erfolgt durch Begrenzen (im Beispiel unten der "e"-Wert) des vorherigen Feld setzen Ereignisses.

POST <url>/<customer>
PAYLOAD [{"s": 1704270072000, "n": "field name", "c": "#ffab11", "e": %CURRENT_TIMESTAMP%}]

Weiterführende Anmerkungen: 1

Info eintragen

POST <url>/<customer>
PAYLOAD [{"s": %CURRENT_TIMESTAMP%, "i": "some info"}]

Weiterführende Anmerkungen: 1

Feld Aufteilung setzen

POST <url>/<customer>
PAYLOAD [{"v":"2","format":"time.emphasize","r":{"s":[{"s":[{"n":"one","c":"#4aff00"},{"n":"two","c":"#ffaa11"}],"l":"h"},{"n":"three","c":"#308a11"}],"l":"v"}}]

Das Beispiel setzt eine Aufteilung mit 3 Feldern "one", "two" und "three".

Beispiel Aufteilung

Verbindung um Rechnungen zu erzeugen

Rechnungen werden anhand gruppierter Zeiten in je ein PDF mit Anhang der geleisteten Zeiten im Detail erzeugt. Dabei wird die FPDF Library verwendet und in der index.php in der function buildInvoice wird das Layout festgelegt.

Um eine Verbindung für Rechnungserzeugung anzulegen folgende URL öffnen:

https://time2.emphasize.de?m=i

Oder alternativ im Menü unter "Verbindungen" eine neue Verbindung "Rechnungen erzeugen" hinzufügen.

Die Verbindung arbeitet mit einer lokalen URL (also nur auf dem gleichen Gerät) - da es sich hierbei um sehr sicherheitsrelevante Daten anhandelt, wird von einem anderen Setup sehr stark abgeraten.

Download zum lokalen Starten des Rechnungsgenerators: ZIP

Voraussetzung: PHP verfügbar!

Zum Starten run.sh oder run.bat ausführen.

Die logo.png bearbeiten und dort das eigene Logo einfügen/ersetzen. In der mapping.php in function detectInvoices werden die Einträge den Kunden zugeordnet (nach was vor einem ':' Zeichen steht gruppiert). In der mapping.php in function mapCustomers können die Kunden-Zuordnungen, Adressen, Stundensätze, Steuersätze und Texte angepasst werden.

Im Menü dann auf "Bericht erstellen" klicken, den Zeitraum einstellen und wenn Einträge dann sichtbar sind auf generate invoice klicken, um das generierte ZIP mit den enthaltenen Rechnungs-PDFs zu erhalten.

Beispiel generierte PDF Rechnung


Fußnoten

  1. Anstatt %CURRENT_TIMESTAMP% kann auch ein bestimmter UnixTimestamp verwendet werden (GMT mit Millisekundenanteil), z.B. 1704270072000 für den 3.1.2024 morgens. 2 3