NEWS
Interesse an Gotify adapter?
-
Hallo zusammen,
ich habe mir einen kleinen Adapter um Push-Notifications über Gotify zu versenden erstellt:
https://github.com/ThomasPohl/ioBroker.gotifyBesteht generell Interesse an so einem Adapter?
Je nach dem würde ich dann versuchen den Adapter noch rund zu machen.Viele Grüße
Thomas -
@thomaspohl Vielleicht kannst du den Dienst ein wenig beschreiben? Welche Arten von Nachrichten kann man damit schreiben? Kann man auch Bilder versenden? Ist er besonders schnell? Kann man damit gesicherte Nachrichten versenden? Hat jeder Client eine ID? Kann ich aus ioBroker direkt die ID beschicken? Erfahrungswerte? Wie lange dauert es bis die Nachricht bei der ID ankommt? Bekommt der Absender eine Info, dass der Empfänger die Nachricht erhalten hat? usw. Da du ja im Thema drin bist. Danke.
-
@mcu
Gotify ist ein Service den man selbst (z.B. auf einem Raspberry Pi) hosten kann. Dazu gibt es mobile Apps für Android und iOS, die sich dann mit dem Server verbinden.Mein Adapter kann bisher nur Textnachrichten mit einem Titel und eine Priorität an Gotify übermitteln. In der Konfiguration kann man die URL des Gotify Servers sowie ein Token hinterlegen. Das Token nutzt Gotify um zu wissen an welchen User die Nachricht ausgeliefert werden soll.
Gotify unterstützt auch Markdown (mein Adapter noch nicht). Darüber sollte es in Zukunft auch möglich sein Bilder in den Push-Nachrichten unterzubringen.
-
Wenn man neu anfängt mit ioBroker, stellt sich die Frage: Wie installiert man diesen Adapter?
Kleine Kurzanleitung wäre top
Nachtrag: Lösung doch noch selber gefunden
iobroker url "https://github.com/ThomasPohl/ioBroker.gotify" --debug
Stellt sich noch die Frage nach dem Token: Wie hat dieser Wert auszusehen?
Nach dem Gotify installiert ist bzw. aufgerufen wurde, über den Browser die Webseite z.B. http://localhost:80/ aufrufen. Mit Login/Passwort (admin/admin) auf den Menüpunkt "Clients" oder "Apps" klicken. Dort ist der Token vorhanden und mit klick auf das Symbol Auge, auch sichtbar.
Ist das der richtige Token oder ist ein anderer Token gemeint?
Aktuell funktioniert es bei mir leider nicht
Fehlermeldung im iobroker:
2021-03-17 14:17:14.286 - error: gotify.0 (4244) Error while sending message to gotify: {"message":"Request failed with status code 404","name":"Error","stack":"Error: Request failed with status code 404\n at createError (C:\\Program Files\\iobroker\\SmartHome\\node_modules\\axios\\lib\\core\\createError.js:16:15)\n at settle (C:\\Program Files\\iobroker\\SmartHome\\node_modules\\axios\\lib\\core\\settle.js:17:12)\n at IncomingMessage.handleStreamEnd (C:\\Program Files\\iobroker\\SmartHome\\node_modules\\axios\\lib\\adapters\\http.js:260:11)\n at IncomingMessage.emit (events.js:326:22)\n at endReadableNT (_stream_readable.js:1241:12)\n at processTicksAndRejections (internal/process/task_queues.js:84:21)", "config":{"url":"http://localhost:80/message?token=AYi3FJ8rM_wS-kC","method":"post","data":"{\"message\":\"Fenster-Sensor wurde geöffnet!\"}", "headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json;charset=utf-8","User-Agent":"axios/0.21.1","Content-Length":45}, "transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1}}
-
@thomaspohl
das sieht ja nach einer interessanten sache aus. werde erst einmal in den nächsten tagen den docker an den start bringen.
somit wäre eine weitere entwicklung des adapeters sehr schön.mfg
-
@j0e Gerne dokumentiere ich noch etwas mehr. Ich wollte erst mal schauen ob es Interesse gibt
Ich habe das Token aus der Application in Gotify verwendet:
Aber am Token scheint es erst einmal nicht zu liegen. Wenn das nicht stimmt kommt kein Status Coded 404 sondern 401.Die URL (http://localhost:80/message) aus deiner Fehlermeldung sieht erst mal richtig aus. Der Status Code 404 spricht auch dafür, dass du einen Webserver (vermutlich Gotify) erreicht hast.
Läuft denn Gotify auf dem gleichen System wie der IoBroker?
-
@thomaspohl
Ja, läuft auf dem gleichen Computer.Welche Anwendung sollte im Gotify verwendet werden?
-
@thomaspohl Es wäre auch hilfreich, wenn Du mal so ein Kommunikationsweg darstellst.
Also die Vorraussetzungen: Installation Server, evtl erklären wie? Installation der App auf Android und ios?
Installation von deinem Adapter, Bilder mit Einträgen und woher kommen die?
Dann wie kommuniziere ich: Ich kann ein Blockly erstellen, wie sieht dieses aus. Wie muss der Befehl in javascript aussehen damit ich eine Nachricht verschicken kann? Was kommt in der App an.
Viele möchten auch Bilder der Home-Kamera mit versenden, wann ist das evtl bei dir mir dem Adapter möglich?
Gibt unterschiedliche Darstellungsvarianten (Fettschrift, html-Unterstützung) ? Kann ich HTML Seiten verschicken?
Da kommen jede Menge Fragen auf? -
@MCU Muster-Bild von Blockly kann ich schon mal liefern
Ist auch erst alles an Anfang, ob überhaupt - Interesse an so einem Adapter besteht?
Daher kann der Adapter noch nicht Bilder senden, aber der UDP-Server Gotify unterstützt es schon mal (steht weiter oben!)
Finde die Idee schon mal gut
-
@j0e sagte in Interesse an Gotify adapter?:
@thomaspohl
Ja, läuft auf dem gleichen Computer.Welche Anwendung sollte im Gotify verwendet werden?
@ThomasPohl : vermute mal, es liegt am Port. deCONZ (Phoscon) und Gotify benützen beide Port 80. Nur wie ändere ich den Port bei Gotify?
-
@j0e So wie ich gotify verstehe, bestimmt die Anwendung an welchen User die Nachricht gepusht wird. Welche Anwendung du verwendest sollte also egal sein.
-
@j0e Der Port von Gotify lässt dich über die config.yml ändern. Da gibt es unter server das Property Port:
https://gotify.net/docs/config -
@mcu Vielen Dank für die ganzen Fragen. Ich habe dazu die Readme erweitert und hoffe, dass das einiges beantwortet.
Außerdem habe ich die Implementierung um die Möglichkeit erweitert Markdown an Gotify zu schicken.
Auch ein Bild habe ich so schon in der Mobile App anzeigen können.![ioBroker](https://www.google.de/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png)
-
@thomaspohl Installation auf RaspberryPi4b?:
pi@raspberrypi:~ $ wget https://github.com/gotify/server/releases/download/v2.0.21/gotify-arm-7.zip --2021-03-19 23:41:06-- https://github.com/gotify/server/releases/download/v2.0.21/gotify-arm-7.zip Auflösen des Hostnamens github.com (github.com)… 140.82.121.4 Verbindungsaufbau zu github.com (github.com)|140.82.121.4|:443 … verbunden. HTTP-Anforderung gesendet, auf Antwort wird gewartet … 404 Not Found 2021-03-19 23:41:06 FEHLER 404: Not Found.
pi@raspberrypi:~ $ wget https://github.com/gotify/server/releases/tag/v2.0.21/gotify-arm-7.zip --2021-03-19 23:55:05-- https://github.com/gotify/server/releases/tag/v2.0.21/gotify-arm-7.zip Auflösen des Hostnamens github.com (github.com)… 140.82.121.4 Verbindungsaufbau zu github.com (github.com)|140.82.121.4|:443 … verbunden. HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK Länge: nicht spezifiziert [text/html] Wird in »gotify-arm-7.zip« gespeichert. gotify-arm-7.zip [ <=> ] 90,21K --.-KB/s in 0,05s 2021-03-19 23:55:06 (1,84 MB/s) - »gotify-arm-7.zip« gespeichert [92373]
Wenn es schon in Server-Doku falsch geschrieben steht solltest du es in Deinem Adapter evtl. genau beschreiben?
pi@raspberrypi:~ $ unzip gotify-arm-7.zip Archive: gotify-arm-7.zip End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of gotify-arm-7.zip or gotify-arm-7.zip.zip, and cannot find gotify-arm-7.zip.ZIP, period.
Muss man da jetzt nicht ein Verzeichnis anlegen und darin unzippen?
EDIT:
Also der richtige Pfad ist:
wget https://github.com/gotify/server/releases/download/v2.0.21/gotify-linux-arm-7.zip
Es wird direkt unter PI installiert. Ist das sinnvoll?
Da ich aber noch einen Apache-Server auf Port 80 laufen habe, muss ich den Port ändern.
Kannst du solche Dinge bitte in die Beschreibung zu Deinem Adapter mit aufnehmen?Ergebnis: Hmmm...diese Seite ist leider nicht erreichbar
-
Ich nutze Gotify schon eine Weile und hätte definitiv Interesse
-
@hank Hast du eine Installation mit sqlite3? Und eine config.yml?
-
Nein, ich habe Gotify einfach als Docker installiert.
Dann hat man keinen stress und muss nichts mehr machen. -
@mcu Ich habe Gotify auch in einem Docker-Container. Dann hast du auch kein Problem mit dem Port. Den kannst du dann auf einen beliebigen anderen mappen.
-
@thomaspohl sagte in Interesse an Gotify adapter?:
@j0e Der Port von Gotify lässt dich über die config.yml ändern. Da gibt es unter server das Property Port:
https://gotify.net/docs/configunter Windows ist kein config.yml zu finden.
Port z.B. 8888 unter Windows für Gotify zu ändern, geht über "Systemumgebungsvariablen bearbeiten"
= Systemeigenschaften - Register "Erweitert" - Button "Umgebungsvariablen..."Folgender Eintrag ist dort zu setzen:
Name der Variable: GOTIFY_SERVER_PORT Wert der Variable: 8888
-
Könnte ich damit aus der Vis „Essen fertig“ auf einen PC im Lan schicken der gerade am Zocken ist?