Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. [Neuer Adapter] nextcloud talk messenger

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Neuer Adapter] nextcloud talk messenger

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      johen @hydrotec last edited by

      @hydrotec

      Wieviel "chat rooms" hast du, welche abgefragt werden?

      Genau das ist die Ursache (nextcloud bzw reverse proxy gibt http 502 zurück), warum der Adapter vor dem bugfix aus dem Tritt kam. 502 wurde nicht als Fehler erkannt und der Adapter hat gleich wieder die "WaitNewMessage" API aufgerufen und wieder kam sofort 502 und so weiter....
      In meinen alten (bevor es den Adapter gab) logs von meinem Reverse Proxy gab es auch schon damals immer wieder mal 502 - d.h. dieses Thema kommt nicht vom Adapter.
      Jetzt wird 502 ausgewertet und mit einem Error log angezeigt (warning log wäre warscheinlich besser) und nach ein längern Wartezeit 30sek geprüft ob der Nextcloud Service wieder verfügbar ist.

      PS: Zu 502 https://www.ionos.de/digitalguide/hosting/hosting-technik/was-bedeutet-502-bad-gateway-erklaerung-loesung/

      J hydrotec 2 Replies Last reply Reply Quote 1
      • J
        johen @johen last edited by

        https://github.com/nextcloud/docker/issues/1385

        supermar1010 created this issue in nextcloud/docker

        closed Client shows occasional 502 Bad Gateway, nextcloud server log shows success, reverse proxy log shows error #1385

        1 Reply Last reply Reply Quote 0
        • hydrotec
          hydrotec @johen last edited by

          @johen sagte in [Neuer Adapter] nextcloud talk messenger:

          @hydrotec

          Wieviel "chat rooms" hast du, welche abgefragt werden?

          Grundsätzlich noch die selbe Einstellung wie hier beschrieben.
          (Log Ausgabe auf Info eingestellt, sonst keine Änderung)

          Genau das ist die Ursache (nextcloud bzw reverse proxy gibt http 502 zurück), warum der Adapter vor dem bugfix aus dem Tritt kam. ...

          Ist, vermutlich von mir, missverständlich ausgedrückt gewesen.
          Wollte damit eigentlich nur aufzeigen, das seit dem Update (nctalkclient@1.3.0),
          zum ersten mal eine Meldung im Log gab.
          Dennoch Dankeschön für deine ausführliche Erklärung zu dem HTTP-Statuscode. 👍

          Wie gesagt, was Textnachrichten versenden/empfangen angeht, funktioniert der Adapter einwandfrei.
          (Sobald die Übertragung von Bildern funktioniert, ist telegram auf meinem System verschwunden 😉 )

          Gruß, Karsten

          J 2 Replies Last reply Reply Quote 0
          • J
            johen @hydrotec last edited by johen

            An alle die Performance Probleme (stark verlängerte Reaktionszeiten bis zu 30sec) mit Ihrer Nextcloud Instance sehen, sollten unbedingt ihre FPM Einstellungen prüfen, vor allem wenn die offizielle docker compose Installation mit NGINX (https://github.com/nextcloud/docker) verwendet wurde. Hier sind die Standardeinstellungen für max_children gleich 5, was für Talk zu wenig ist.

            Im fpm_app container ist die Config hier zu finden. Bitte beachten, dass mit der Config unten auch mal 8GB RAM benötigt wird vor allem beim Bilder anschauen.
            /usr/local/etc/php-fpm.d/www.conf

            pm = dynamic
            pm.max_children = 32
            pm.start_servers = 12
            pm.min_spare_servers = 8
            pm.max_spare_servers = 16
            pm.max_requests = 1000

            Weiterführende Links:
            https://help.nextcloud.com/t/nextcloudpi-and-talk-configuration-incompatible/79469
            https://www.technik-blog.eu/2018/08/php-fpm-einstellungen-optimieren.html
            https://www.kinamo.be/en/support/faq/determining-the-correct-number-of-child-processes-for-php-fpm-on-nginx

            J 1 Reply Last reply Reply Quote 0
            • S
              schoemi @johen last edited by schoemi

              Hallo @johen,

              ich habe Deinen Adapter problemlos installieren und verbinden können.
              Die Chatrooms (1 Gruppenchat und ein 1:1 Chat mit dem ioBroker-User der NC) wurden auch problemlos erkannt.
              Senden von Nextcloud an ioBroker funktioniert. Allerdings werden Nachrichten an den Nextcloud-Server nicht zugestellt.

              Das Log sieht so aus:

              nctalk.0 2022-01-05 12:08:20.688	info	Debug Event WaitNewMessages IN ghkduwk5
              nctalk.0 2022-01-05 12:08:20.688	info	Debug Event WaitNewMessages done
              nctalk.0 2022-01-05 12:08:20.688	info	Debug Event WaitNewMessages - Talk timeout empty reply after no new message was received
              Zur Info: ghkduwk5 ist ein One to One Chat. Es funktioniert aber auch bei Gruppenchats nicht.
              

              Edit: Bei einer anderen managed NC Instanz (tab.digital) klappt es. (Teil des Logs wie im Posting hierunter empfohlen entfert).

              Danke für eine Hilfestellung!

              J 1 Reply Last reply Reply Quote 0
              • J
                johen @schoemi last edited by johen

                @schoemi

                Debug Event WaitNewMessages - Talk timeout empty reply after no new message was received

                Die Meldung bedeutet, dass keine Neue Nachricht in den letzten 30sec gab und die Kommunikation mit dem Server an sich ohne Fehler funktioniert.
                Leider bekomme ich aus den Logs nicht mehr Infos nicht heraus. Ist das ein Testserver wo es nicht funktioniert?

                Bitte beachte, dass aktuell die Log Ausgabe nicht darauf achten, sensitive Informationen zu schwärzen (ist noch ein Todo), daher würde ich empfehlen folgende Zeile zu löschen bzw. alle token oder ähnliche Passphrase zu löschen : Debug Event{"statusCode":304..............

                S 1 Reply Last reply Reply Quote 0
                • S
                  schoemi @johen last edited by

                  @johen
                  Ist eine eigene Installation auf CentOS 8 auf einem Ionos Cloud Server.
                  Eine andere Sache die mir gerade aufgefallen ist: Bei beiden Installationen funktionieren die Push Nachrichten in die Android App nicht. Die Notifications App ist in beiden Installationen aktiviert. Bei dem managed von tab.digital kommt aber die Meldung, dass die App aus Stabilitätsgründen nicht aktiviert werden kann.

                  J 1 Reply Last reply Reply Quote 0
                  • J
                    johen @schoemi last edited by johen

                    @schoemi
                    Bin etwas verwirrt mit den verschiedenen Nextcloud Installationen die du hast und bei welcher was geht und was nicht.

                    Bei dem managed von tab.digital kommt aber die Meldung, dass die App aus Stabilitätsgründen nicht aktiviert werden kann.

                    Dachte da funktioniert der Adapter?

                    Es sollte reichen die Nextcloud App Talk(spreed) zu installieren.
                    Anbei Infos zum Setup und Anforderungen https://nextcloud-talk.readthedocs.io/en/latest/system-requirements/ - einen Hinweis dass die Talk App die Notification App benötigt habe ich nicht gefunden, bei mir war jedoch die Notification standardmäßig aktiviert.
                    Eine sehr einfache Möglichkeit Nextcloud aufzusetzen ist über die offiziellen docker / docker compose Projekte im .example Ordner auf https://github.com/nextcloud/docker

                    1 Reply Last reply Reply Quote 0
                    • J
                      johen @hydrotec last edited by johen

                      @hydrotec / all

                      es gibt ein neues Release 0.3.0, welche das File Sharing ermöglicht.
                      Im log darauf achten, dass nctalkclient 1.4.0 verwendet wird: "nctalk.0 2022-01-07 14:46:06.456 info Debug Event START nctalkclient 1.4.0"

                      Es gibt zwei neue Parameter zu konfigurieren - der Upload-Pfad und ob bereits vorhandene Dateien überschrieben werden dürfen
                      4ae8692e-2645-446a-8afc-582b2a56e41d-grafik.png

                      und es sind drei neue iobroker Objekte im Unterverzeichnis "ShareFile" hinzugekommen
                      3a2b2d9e-7276-43d7-9da5-b45dc77f22cf-grafik.png

                      Beispiel NextcloudPath - hier muss die Datei bereits in nextcloud hochgeladen und verfügbar sein
                      Setze Wert auf: /talk/existingfile.jpg

                      Beispiel für ...ShareFile.URL
                      Setze Wert auf: {"filename": "webupload.png", "url": "https://raw.githubusercontent.com/jjqoie/iobroker.nctalk/main/img/nctalk-objects.png"}

                      Das Datenformat für "UploadShareObj" schaut wie folgt aus: {'filename':'tests123.png','data':{'type':'Buffer','data':[137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,11,64,0,0,7,8,8,6,0,0,0,175,....}
                      Beispiel für "UploadShareObj" zusammen mit dem javascript adapter

                      var https = require("https");
                      
                      var options = {
                          host: 'raw.githubusercontent.com',
                          port: 443,
                          path: '/jjqoie/iobroker.nctalk/main/img/nctalk-objects.png',
                          method: 'GET',
                      };
                      
                      
                      https.get(options, function(res) {
                          res.setEncoding('binary');
                          let chunks = [];
                      
                          res.on('data', (chunk) => {
                              chunks.push(Buffer.from(chunk, 'binary'));
                          });
                      
                          res.on('end', () => {
                              let binary = Buffer.concat(chunks);
                              // binary is now a Buffer that can be used as Uint8Array or as
                              // any other TypedArray for data processing in NodeJS or 
                              // passed on via the Buffer to something else.
                              //console.log(JSON.stringify(binary));
                              //require("fs").writeFile("test.jpg", binary, () => {
                              //});
                              const imgNextcloud = {
                                  filename: "tests123.png",
                                  data: binary
                              }
                              setState("nctalk.0.kjf53yuu.ShareFile.UploadShareObj", imgNextcloud);
                          });
                      });
                      

                      PS: Der Upload Ordner ist notwendig, da bei Talk nur Dateien/Bilder, welche sich bereits in Nextcloud befinden geteilt/angezeigt werden können und der Adapter diese vorher per webdav in diesen Ordner hochlädt.

                      hydrotec 1 Reply Last reply Reply Quote 0
                      • hydrotec
                        hydrotec @johen last edited by

                        @johen

                        Hallo Jochen,

                        jetzt hast du mich etwas abgehängt.

                        Wenn ich bei den Einstellungen den UploadPath eintrage, wird er in Nextcloud angelegt.
                        Der Einfachheit hab ich "/Talk" (ist auf Nextcloud schon vorhanden) eingetragen.
                        Wenn ich von Benutzer "karsten" über das mobile ein Bild an Benutzer "iobroker" versende,
                        wird es vom Adapter korrekt erkannt. (denke ich mal so 😉 )
                        nextcloud_talk_20.png

                        Doch mit dem Senden eines Bildes von "iobroker" an "karsten" komme ich nicht ganz mit.
                        Sorry bin mit javascript noch nicht so fit. 😕
                        Angenommen ich habe folgendes file "/opt/iobroker/iobroker-data/tmp/dafang01/dafang01.jpg"
                        Wohin muss ich das uploaden, bzw. wie kann ich das versenden?

                        Gruß, Karsten

                        J 1 Reply Last reply Reply Quote 0
                        • J
                          johen @hydrotec last edited by

                          @hydrotec
                          ...ShareFile.URL funktioniert nur für alles was direkt via http/https Zugriff erreichbar ist.

                          Ok verstehe dein Usecase, die Datei befindet sich lokal auf der Festplatte.
                          Hierzu muss das Beispiel Script für "UploadShareObj" angepasst werden, so dass der Dateiinhalt (byte für byte) nicht von einem https Zugriff in den Abreitsspeicher kommt und dann an UploadShareObj übergeben wird, sondern über ein fs.readfile("/opt/iobroker/iobroker-data/tmp/dafang01/dafang01.jpg", null); encoding müsste null sein um ein Buffer Typ zu bekommen (habs aber nicht getestet) https://nodejs.dev/learn/reading-files-with-nodejs

                          hydrotec 1 Reply Last reply Reply Quote 0
                          • hydrotec
                            hydrotec @johen last edited by

                            @johen

                            Dankeschön für die schnelle Rückmeldung. 👍

                            Werde mir das im Laufe des Wochenendes noch einmal genauer ansehen.

                            Angenehmes Wochende
                            Gruß, Karsten

                            J 1 Reply Last reply Reply Quote 0
                            • J
                              johen @hydrotec last edited by johen

                              @hydrotec

                              habs mal schnell probiert bei mir hats funktioniert...
                              Werde diese Funktion noch direkt mit in den Adapter aufnehmen und ein weiteres iobroker Objekt hierfür anlegen...

                              var fs = require("fs");
                              
                              fs.readFile("/opt/iobroker/iobroker-data/tmp/dafang01/dafang01.png", null , (err, data) => {
                                if (err) {
                                  console.error(err)
                                  return
                                }
                              
                                  const fileNextcloud = {
                                      filename: "tests123.png",
                                      data: data
                                  }
                                  //console.log(fileNextcloud)
                                  setState("nctalk.0.kjf53yuu.ShareFile.UploadShareObj", fileNextcloud);
                              })
                              

                              PS: Das Datenformat für "UploadShareObj" schaut wie folgt aus: {'filename':'tests123.png','data':{'type':'Buffer','data':[137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,11,64,0,0,7,8,8,6,0,0,0,175,....}

                              hydrotec 1 Reply Last reply Reply Quote 2
                              • hydrotec
                                hydrotec @johen last edited by

                                @johen

                                Nach ein paar Versuchen funktioniert der Versand eines Bildes.

                                const fs = require('fs');
                                
                                fs.readFile('/opt/iobroker/iobroker-data/tmp/dafang01/dafang01.jpg', (err, data) => {
                                  if (err) {
                                    console.error(err)
                                    return
                                  }
                                  const fileNextcloud = {
                                      filename: "dafang01.jpg",
                                      data: data
                                  }
                                  //console.log(fileNextcloud)
                                  setState('nctalk.0.karsten.ShareFile.UploadShareObj', fileNextcloud);
                                })
                                

                                Was mir aufgefallen ist, das das Vorschaubild in der Talk-App nicht aktualisiert wird.
                                Erst wenn ich die App neu starte.
                                Denke mal das es eher an der App und nicht am Adapter liegt.

                                Werde diese Funktion noch direkt mit in den Adapter aufnehmen und ein weiteres iobroker Objekt hierfür anlegen...

                                Für mich, als js-noob, wäre das echt hilfreich. 👍

                                Gruß, Karsten

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  johen @hydrotec last edited by

                                  @hydrotec
                                  Eine Frage hätte ich - hab gesehen dafang ist eine Webcam - wie kommt hier der Schnappschuss auf die lokale Platte ?

                                  hydrotec 1 Reply Last reply Reply Quote 0
                                  • hydrotec
                                    hydrotec @johen last edited by

                                    @johen

                                    Bei mir mit blockly
                                    nextcloud_talk_21.png

                                    wget --quiet --output-document /opt/iobroker/iobroker-data/tmp/dafang01/dafang01.jpg --user <username> --password <password> https://192.168.XXX.XXX/cgi-bin/currentpic.cgi --no-check-certificate
                                    
                                    J 1 Reply Last reply Reply Quote 0
                                    • J
                                      johen @hydrotec last edited by johen

                                      @hydrotec

                                      das könntest du auch direkt über ShareFile.URL machen
                                      {"filename": "snapshot.jpg", "url": "https://username:password@192.168.XXX.XXX/cgi-bin/currentpic.cgi"}
                                      da snapshot.jpg nun immer gleich ist, wird dies in nextcloud immer überschrieben und dir geht die Historie verloren.
                                      Hier könntest du ein script schreiben, welches ein Zähler oder das Datum/Uhrzeit an "filename" mit anhängt und so hast du automatisch ein Archiv.

                                      -cs- hydrotec 3 Replies Last reply Reply Quote 0
                                      • -cs-
                                        -cs- @johen last edited by

                                        @johen
                                        Super was Ihr hier macht.

                                        Ich hatte am WE auch mehrmals versucht einfache Texte zu senden.
                                        Wie aktuell auch verschiedenes z.B. Waschmaschine/Trockner fertig, Licht ist noch an usw..
                                        Also nichts großes, aber sobald ich den Adapter an habe, wird meine Nextcloud auf hosting.de total ausgebremst, alles lädt sehr verlangsamt, auch Zugriffe auf andere Bereiche innerhalb der Nextcloud. Die App braucht ewig, bis alles geladen ist. Texte kommen sehr zeitverzögert im Bereich ca. 5 - 60 sec..

                                        Habe da die 500er Version bei hosting. Dachte mir mit kurzen Befehlen usw. kann doch Talk nicht die ganze Cloud ausbremsen. Ok, wenn hier mit allen 6 Benutzern viel los währ bestimmt, aber ich hatte ja nur vom ioBroker- Benutzer zu mir gesendet/empfangen. Also nur 2 Benutzer, welche Talk benutzen.

                                        Sobald ich den Adapter im ioBroker ausschaltete, lief die Cloud wieder wie am Schnürchen ohne zu haken.

                                        Also für eine Managed Nextcloud bei z.B. Hosting nichts? 😧

                                        FredF 1 Reply Last reply Reply Quote 0
                                        • FredF
                                          FredF Most Active Forum Testing @-cs- last edited by

                                          @csr Ich lese hier aus Interesse das auch mal zu nutzen mit. Die Managed Nextcloud kannte ich noch nicht, danke dafür.
                                          Evtl. Liegt dein Problem an dieser Fussnote:
                                          1274f235-81b0-4b73-b444-b3af68690c6a-grafik.png

                                          -cs- 2 Replies Last reply Reply Quote 0
                                          • -cs-
                                            -cs- @FredF last edited by -cs-

                                            @fredf ja, diese Fußnote kenne ich.

                                            Talk funktioniert ja selbst mit 6 Benutzern einwandfrei. Im Familienchat kein Problem, nur wenn der Adapter hinzugeschaltet wird, wird alles ausgebremst.
                                            Somit ist die Nutzung von Talk kein Problem, nur in Verbindung mit dem Adapter.

                                            J 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            718
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter message nextcloud push push notifications talk
                                            8
                                            78
                                            8088
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo