Community

Lametric-Webhook-HG lässt sich nicht vollständig speichern (JSON-Payload Issue)


#1

Ich wollte heute mit meiner Lametric rumspielen und Notification-HGs gem. der tollen Anleitung von @SmartHomer erstellen.

Dabei habe ich festgestellt, dass die WebApp (im Gegensatz zur iOS-Version) HGs mit Webhooks in einem Format wie nachfolgend NICHT vollständig abspeichert:

http://dev:000000000000000000000000000000000000000000000000000000000000@192.168.0.11:8080/api/v2/device/notifications

Also: http://dev:API-Key-Lametric@lokale-IP-Adresse-Lametrici:8080/api/v2/device/notifications

Man beachte den vorgestellten Auth-Header: dev : API-Key

Verhalten WebApp:
HG wird ausgegraut gespeichert (obwohl aktiviert), weil wohl die Webhook-Aktion nicht gespeichert wird. Wenn man danach ins HG geht ist nämlich die Aktion wieder leer. Ich gehe davon aus, dass Ihr da wohl etwas zu viel ausfiltert…

Verhalten iOS:
Wie zu erwarten, HG ist benutzbar, Webhook-Aktion wird gespeichert.

Das ganze basiert auf dieser Anleitung:

Versionen:

iOS: App Version 2.18 (3038)
Web-App: 2.18.0 (2ca88a0) | beta
Brain war da noch auf 2.18RC2


#2

Guten Morgen,

also bei mir konnte ich die Webhooks auch lange Zeit nicht speichern. Wann immer ich eines erstellt habe hat es mir das kurz nach Speichern des Webhooks noch angezeigt, sobald ich aber aus dem Bearbeitungsmodus des HG raus bin war der Webhook selbst verschwunden.

Das liegt aber nicht an Deinem Authentifizierungsmodus. Der passt. Ich habe es eben mit meinem Verglichen: der Aufbau ist identisch.

Noch ein Fehler den ich hatte bis ich am Ziel war: Du darfst den API-Key aber nicht als base64-Variante umformen. Das muss der reguläre API-Key sein den Du über die Lametric bekommst.

Mein Problem (siehe: Webhook wird nicht gespeichert ) war, dass ich per CopyPaste den Link aus einem Text-Dokument eingefügt habe (wo ich schön Link und JSON-Befehle für die Lametric vorbereitet hatte) und dabei immer ein kleines Leerzeichen ganz vorne dran stand (also vor dem http), welches ich aber nie gesehen habe. Dadurch hat es den Link nicht wirklich als Link erkannt und damit den Webhook im HG nicht vollständig gespeichert.

Hoffe das hilft Dir vielleicht in wenig weiter.


#3

Hallo hblaschka,

ich hab mir eben nochmal meine (recht vielen) LaMetric-HG’s in der WebApp (2.18.0 Beta) angeschaut: die sind genau so wie von Dir beschrieben (und in meinem Wiki-Eintrag ausgeführt) eingegeben und funktionieren bestens. Ich habe übrigens alle am PC über die WebApp erstellt - am iPhone war mir das viel zu mühsam, da habe ich nur von Fall zu Fall noch geringe Anpassungen vorgenommen.

Strange, dass es da bei Dir Probleme gibt.

LG
SmartHomer


#4

Das wusste ich @SmartHomer hat es ja gut beschrieben.

Ne, ich habe den in Apple Notes erzeugten Link immer schön mit der rechten Maustaste als “Link” kopiert (also nicht den Text selbst), Leerzeichen waren/sind nicht drin. Derselbe Link im Browser (dann halt via Get, mit leerer Rückgabe) aufgerufen (natürlich ohne JSON-Load) hat auch immer ohne Fehlemeldungen funktioniert.

…und das absolute überstrange ist/war: Wo ich es jetzt noch mal probiert habe (selber Link, selbe Copy-Methode - allerdings ohne JOSN-Payload) hat es funktioniert.

Die Frage ist/war jetzt: PEBKAC (problem exists between keyboard and chair) oder Bug, der nur unter bestimmten Voraussetzungen auftritt?

Da mir letzteres keine Ruhe gelassen hat, habe ich noch mal rumprobiert und ich habe es gefunden: Es war nicht die Webhook-URL, sondern der JSON-Payload, wo ich für die initialen Tests der EInfachheit halber einfach den Demo-Body aus der API eingefügt habe, den ich dann hinterher anpassen wollte.

{
“priority”: “[info|warning|critical]”,
“icon_type”:"[none|info|alert]",
“lifeTime”:,
“model”: {
“frames”: [
{
“icon”:"",
“text”:""
},
{
“icon”:“i298”,
“text”:“text”
},
{
“icon”:“i120”,
“goalData”:{
“start”: 0,
“current”: 50,
“end”: 100,
“unit”: “%”
}
},
{
“chartData”: [ ]
}
],
“sound”: {
“category”:"[alarms|notifications]",
“id”:"<sound_id>",
“repeat”:
},
“cycles”:
}
}

Ich denke, dass die darin enthaltenen Sonderzeichen, z.B. “|” zu dem Effekt geführt haben.

Ist das bei Euch reproduzierbar?


#5

Du must die Werte noch richtig setzen, das sind Optionen:

Bei der category weiter unten auch.


#6

Jungs, ich sagte ja: Ich wollte hinterher anpassen :wink: