Benachrichtigung: Array als Wert versenden

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Train

Benutzer
Registriert
17. März 2022
Beiträge
7
Reaktionspunkte
1
Punkte
3
Hi all,

geht es irgendwie einzustellen, dass Synology ein Array statt eines Einzelwertes versendet?

So soll die Nachricht aussehen. Das folgende gezeigte Beispiel ist NICHT mit Synology erstellt:
1685534542855.png

So seht die Nachricht aus wenn ich es in Synology unter System / Benachrichtigungen (über die GUI) einstelle:
1685534811277.png
1685534657593.png1685534777230.png

Könnte mir jemand Rat geben, wie ich dort ein Array generiere?


Grüße
T.
 
Zuletzt bearbeitet:
Ich kenne die Details der Benachrichtigung nicht.
Was hast du bisher versucht dass es als Array angezeigt wird?
Wenn es nur einen Recipient gibt, weshalb sollte dann ein Array angelegt werden?
Wurde schon versucht mehrere Empfänger einzurichten um zu prüfen ob in diesem Fall ein Array angelegt wird?

So soll die Nachricht aussehen:
Wie wurde denn diese Nachricht erstellt? Scheinbar nicht über das WebUI.
 
Hi,

sorry, das war nicht klar rüber gebracht. Das erste Beispiel ist einfach ein curl, welches ich abgesetzt habe. Es ist NICHT mit Synology erstellt.

Code:
curl -X POST -H "Content-Type: application/json" "http://192.168.10.140:1880/synology" -d "{\"message\": \"Test Message 1\", \"number\": \"+491758033333\", \"recipients\": [ \"group.UWVOdkw3TitZdzBjK0tRRjA0SG50=\" ]}"

Es handelt sich um die API von der Signal-App. Ich will Benachrichtigungen in eine Signal Group abestzen. Die Signatur der API ist so, dass dort ein Array verwendet werden muss. Ohne Array geht es nicht.
 
Zuletzt bearbeitet von einem Moderator:
Okay dann sind es hier zwei unterschiedliche Ansätze. Einmal das was du gerne hättest bzw. erwartest und zum anderen das was Synology liefert.
Meine Frage wäre jetzt, weshalb du an dieser Stelle explizit ein Array erwartest? Was möchtest du damit bezwecken?
 
Ich bin gezwungen ein Array zu nutzen, weil die API, die ich anspreche dieses Array erwartet. Wenn ich den POST Request ohne ein Array absetze, erhalte ich folgende Meldung von meiner API:

Code:
{"error":"Couldn't process request - invalid request"}

Was möchte ich bezwecken? Ich würde gerne Synology so einrichten, dass es Benachrichtigungen an meine "Monitoring" Signal App gruppe sendet. Ich benutze die folgende Signal API: https://github.com/bbernhard/signal-cli-rest-api.
 
Zuletzt bearbeitet von einem Moderator:
Verstehe, jetzt wird es mir klar was du vorhast.
Hast du schon versucht den Wert recipients auch als Array anzugeben so wie du es in deinem CLI Beispiel mit curl gezeigt hast?
[ "group.UWVOdkw3TitZdzBjK0tRRjA0SG50=" ]
 
Hi @luddi

ja. Das habe ich auch probiert. Folgend die Screenshots für dein Input. Ich wette man muss die Klammern irgendwie geschickt escapen, damit es klappt. Ich komme aber nicht drauf, wie.


1685605304444.png
1685605426238.png

Falls sich jemand hier fragt, wie ich die Nachrichten abfange, die Synology versendet: ich nutze node-red, und schieße die Test-Nachrichten zunächst dagegen. Das Node-Red läuft als docker container auf der Synology. Könnte ja sein, dass diese Information irgend jemandem hilft, der in ein ähnliches Problem hineinläuft:

1685605651578.png

T.
 
Ich wette man muss die Klammern irgendwie geschickt escapen, damit es klappt.
Was hast du denn bisher alles versucht?

Mir fällt da spontan nur folgendes ein:
\[ "group.UWVOdkw3TitZdzBjK0tRRjA0SG50=" \]
oder evtl.
'[ "group.UWVOdkw3TitZdzBjK0tRRjA0SG50=" ]'
 
Heh, ne, es verwandelt alles in einen String.

1685625343530.png
 
Das ist aber echt sch…ade 💩
Sieht wirklich so aus als würde alles was in dem Feld Wert eingetragen wird als String interpretiert.

Dann würde ich an deiner Stelle ein Ticket bei Synology erstellen.
 
Ja, ist echt schade.
Ich bin bei Synology nicht registriert und wüsste auch nicht wo man ein Tickets einstellt. Ich glaube, ich forke einfach das Repo von bbernhard und mache mein eigenes release von dem Signal Wrapper. Müsste ja nur das eine POST fixen. Geht wahrscheinlich schneller als auf das Fix von Synology zu warten.
 
[...] ich forke einfach das Repo [...] Geht wahrscheinlich schneller als auf das Fix von Synology zu warten.
Davon bin ich überzeugt ;)
Zudem müssten man Synology erst einmal davon überzeugen und sie müssten das Problem erst einmal verstehen. Also kann das schon sehr lange dauern.
 
Falls jemand irgendwann mal über diesen Thread stolpert und Synology Notifications / Benachrichtigungen an seine Signal App versenden möchte, kann er mich gerne anschreiben. Ich liefere ihm eine umgebaute Version der signal-cli-rest-api von bbernhard (https://github.com/bbernhard/signal-cli-rest-api) die im reciepients Attribut nur einen String erwartet. Mit deren Hilfe lassen sich Signal messages mit Synology Boardmitteln versenden.

Grüße
T.
 
  • Like
Reaktionen: luddi
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat