LaMetric Uhr für Loginsight Alerts nutzen

Die LaMetric Smart Uhr steht mittlerweile auf vielen Schreibtischen. Die Informationen, die auf der Uhr angezeigt werden, können entweder via eigener Apps geliefert werden, oder mittels eines API Calls. Was bietet sich also mehr an, als dieses Stück Technik auch für Alarmierungen einzusetzen.

Zunächst ist ein Entwicklerzugang notwendig. Hierzu erstellt man sich auf der Developer Seite von LaMetric einen Account. Dann kann man eigene Apps erstellen. Die eigenen Geräte werden dann mit dem Account verknüpft. Damit wird der Api Key sichtbar. Man kann sich diesen via HTTP GET holen, oder einfacher über die Webseite Abrufen:

Api Key

Es macht Sinn, sich für Tests Postman zu installieren, damit man den API Call direkt testen kann.

Für die genaue Beschreibung der API Calls stellt LaMetric eine schöne Dokumentation zur Verfügung.

Nun besteht der erste Weg darin, sich das Authentifizierung Token zu holen. Hierzu authentifiziert man sich in der Cloud und holt sich die individuellen Daten der gewünschten Uhr. Nun ist es Zeit, den API Key mit base64 zu verschlüsseln um sich damit zu authentifizieren. Hierzu erstellt man sich einen String mit „dev:APIKEY„, wie hier beschrieben. Diesen muss man nun noch base64 verschlüsseln. Ich habe hierzu diesen Webdienst verwendet. Die Optionen auf der Seite bleiben alle auf Standard. Mit diesen Informationen kann man sich dann in Loginsight einen Webhook erstellen:

Webhooks

Hierzu erstellt man einen Custom Webhook:

Create Webhook

Es sind hier einige Dinge zu beachten:

  1. Die Uhr hat ihre API auf Port 4343 (https)
  2. Die Autorisierung kann nicht über die Authorisierungsfelder erfolgen, es muss ein Customer Header erzeugt werden. Das Format ist hier beschrieben.
  3. Der Payload ist als JSON anzugeben.

Hier meine Payloads für Warnungen und Alarme:

{
	"priority": "critical",
        "icon_type": "alert",
	"model": {
		"cycles": 1,
		"frames": [{
			"icon": "16701",
			"text": "${AlertName} ${Info} "
		}],
		"sound": {
			"category": "alarms",
			"id": "alarm9"
		}
	}
}

und

{
	"priority": "warning",
        "icon_type": "info",
	"model": {
		"cycles": 1,
		"frames": [{
			"icon": "9334",
			"text": "${AlertName} ${Info} "
		}],
		"sound": {
			"category": "notifications",
			"id": "knock-knock"
		}
	}
}

Um die Syntax des JSON zu prüfen nutze ich diesen Service hier. Das hilft ungemein sich den nichtssagenden Fehlermeldungen zu nähern.

Die Iconcodes sind hier zu finden. Die Codes für die Alarmtöne usw. stehen hier.

Der letzte Schritt besteht nun darin, die Webhooks bei der Alarm Definition in Loginsight als Trigger Notification zu hinterlegen:

Trigger Webhook

Möchte man weitere Parameter an den Alerts ändern, ist ein Klon der Definition zu erstellen, da die mitgelieferten Definitionen keine Parametrisierung zulassen.

Viel Spaß!

Comments

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert