Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Synology Chat ...

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Synology Chat ...

    This topic has been deleted. Only users with topic management privileges can see it.
    • Neuschwansteini
      Neuschwansteini @Tschaeens last edited by Neuschwansteini

      @tschaeens

      ich muss mal in der Docu zur API schauen, aber das hier zeigt mir, dass der jetzige Adapter bereits darauf zugreifen kann, "Synoadapter" ist der Benutzername, den ich für den iobroker-Synology Adapter angelegt habe..

      4925dd8d-cba1-4b35-8b84-c6fe2a8ab48a-grafik.png

      EDIT:

      Da geht was, wohl recht einfach.. schaut hier:
      https://kb.synology.com/de-de/DSM/help/Chat/chat_integration?version=7

      haselchen Neuschwansteini 2 Replies Last reply Reply Quote 0
      • haselchen
        haselchen Most Active @Neuschwansteini last edited by

        @ilovegym

        Du hast das jetzt angeschubst, nun musste mit Fragen leben 🙂 🙂

        Gibt es ne Art Synochat App?

        Zur Erklärung:

        Ich habe 7 Telegram Instanzen für die verschiedenen Meldungen.
        Und jeder Instanz habe ich eine MP3 zugeordnet.
        Zum Beispiel sagt dann eine MP3 Frauenstimme : Du haste eine Nachricht von Homematic

        W 1 Reply Last reply Reply Quote 0
        • W
          Wildbill @haselchen last edited by

          @haselchen Es gibt Apps für Android und ios. Zudem jeweils ein Programm für Windows, Mac und Linux. Also wäre das ein vollwertiger Ersatz für WhatsApp, telegram & Co.
          Für den Push der Nachrichten auf Mobilgeräte läuft alles über einen Synology-Server der dann Google oder Apple-Dienste zum Push aufruft. Wobei anscheinend nicht ganz klar ist, ob dabei Nachrichten im klartext durch laufen. Zumindest bei unverschlüsselten Nachrichten besteht ein Verdacht. Gibt einiges dazu im Synology-Forum.
          Gruß, Jürgen

          Neuschwansteini 1 Reply Last reply Reply Quote 1
          • Neuschwansteini
            Neuschwansteini @Wildbill last edited by

            @wildbill Alternativ zum Syno-Dienst kann man per vpn aufs heimische Netzwerk und direkt triggern... so würde ich das machen, da VPN aufm Handy oder Tab das ich dabei habe, immer an ist.

            haselchen 1 Reply Last reply Reply Quote 0
            • haselchen
              haselchen Most Active @Neuschwansteini last edited by

              @ilovegym

              Das habe ich mich schon immer gefragt.
              Die VPN Verbindung frisst doch das Datenvolumen des Mobilvertrages oder nicht?
              Du verbindest dich ja mit den mobilen Daten?!

              Neuschwansteini 1 Reply Last reply Reply Quote 0
              • Neuschwansteini
                Neuschwansteini @haselchen last edited by

                @haselchen

                Ich hab 60gb für 4 devices und brauche meist so 30-40…

                haselchen 1 Reply Last reply Reply Quote 0
                • haselchen
                  haselchen Most Active @Neuschwansteini last edited by

                  @ilovegym

                  Okay, das sollte reichen 🙂
                  Aber dann war mein Gedanke richtig.....
                  Hab 10GB und schalte mich auf die Kameras und zack sind bei hoher Auflösung ein paar hundert MB wech.....

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    Tschaeens @haselchen last edited by

                    @haselchen

                    Gibt es denn hier schon Neuigkeiten?

                    haselchen 1 Reply Last reply Reply Quote 0
                    • haselchen
                      haselchen Most Active @Tschaeens last edited by

                      @tschaeens

                      Habe das bisher nicht weiter verfolgt .

                      Und die Kollegen hier wohl auch nicht 😄

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        Tschaeens @haselchen last edited by

                        @haselchen
                        Schade, weil ich habe mir das Ganze mal angesehen ist denk ich auch nicht schlimm zu programmieren. Ich kann es nur leider nicht!

                        1 Reply Last reply Reply Quote 0
                        • Neuschwansteini
                          Neuschwansteini last edited by

                          @tschaeens @haselchen

                          Ja wäre schön, wenn man den Implementieren könnte, denn auch Bilder kann man versenden, wäre schöne Alternative zu Telegram.

                          Ich könnts programmieren, habe aber leider absolut keinen Slot dafür in den nächsten Wochen... 😞
                          Vielleicht sollten wir mal ein issue bei Adapter-Requests aufmachen..??

                          1 Reply Last reply Reply Quote 1
                          • Neuschwansteini
                            Neuschwansteini @Neuschwansteini last edited by

                            @ilovegym sagte in Synology Chat ...:

                            @tschaeens

                            ich muss mal in der Docu zur API schauen, aber das hier zeigt mir, dass der jetzige Adapter bereits darauf zugreifen kann, "Synoadapter" ist der Benutzername, den ich für den iobroker-Synology Adapter angelegt habe..

                            4925dd8d-cba1-4b35-8b84-c6fe2a8ab48a-grafik.png

                            EDIT:

                            Da geht was, wohl recht einfach.. schaut hier:
                            https://kb.synology.com/de-de/DSM/help/Chat/chat_integration?version=7

                            @tombox hast du Lust, Laune und Zeit, evtl. sogar ne Synology mit DSM 7 zum testen und programmieren?

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              tombox @Neuschwansteini last edited by

                              @ilovegym
                              Kannst du kurz zusammenfassen was gemacht werden soll und warum.
                              Ist die schnittstelle lokal oder via cloud?

                              Neuschwansteini 1 Reply Last reply Reply Quote 0
                              • Neuschwansteini
                                Neuschwansteini @tombox last edited by

                                @tombox

                                Guten Morgen,
                                vielen Dank schonmal. Hast du eine Synology? Falls nicht, können wir gerne mal ne Remote Session machen...

                                Interface:
                                Die Schnittstelle ist lokal, sind mehr oder weniger einfach http requests.

                                Chat-App:
                                Windows, Mac, Linux, Android + IOS, connecting possiblity via hostname/IP or cloud

                                Requierements:
                                Ersatz für Telegram
                                Step 1:
                                Senden von Bildern und Text von iobroker aus an einen Channel oder Bot
                                Beispiel:
                                http://192.168.0.63:5000/webapi/entry.cgi?api=SYNO.Chat.External&method=incoming&version=2&token=HIERSTEHTDERTOKEN&payload={"text": "testtext" , "file_url": "/tmp/snap.jpg"}

                                Step 2:
                                Erzeugen eines Bots zum Empfangen von Commands von der App zum Steuern von iobroker, das kann sogar in den Einstellungen von Syno-Chat configuriert werden, habe ich gesehen, der Bot sendet dann http-Requests .. ( würde ich zum simple-api-Adapter senden.. )

                                Doku von Synology:
                                https://kb.synology.com/en-global/DSM/tutorial/How_to_configure_webhooks_and_slash_commands_in_Chat_Integration

                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  tombox @Neuschwansteini last edited by

                                  @ilovegym So spontan habe ich da gerade keine Lust drauf

                                  Neuschwansteini 1 Reply Last reply Reply Quote 0
                                  • Neuschwansteini
                                    Neuschwansteini @tombox last edited by

                                    @tombox so spontan hätte ich auch gar nicht gekonnt.. 🙂

                                    Immer mit der Ruhe.. entweder es ergibt sich Lust und Laune und Zeit oder nicht.

                                    1 Reply Last reply Reply Quote 0
                                    • Glasfaser
                                      Glasfaser last edited by Glasfaser

                                      @ilovegym

                                      Ich habe mal was gebaut ... hänge aber noch daran , das er immer das alte Bild sendet, obwohl es aktualisiert wird .

                                      Vielleicht ein Grundbauststein:

                                      1.JPG

                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                       <variables>
                                         <variable id="^RM=2sJ}E,A{F?bz`_me">URL_Chat</variable>
                                         <variable id="yW]q[i/Yfz.,5Z+Vb.a,">URL_ioBroker</variable>
                                         <variable id="u^a{RwAvq(*-0PK`(`@4">URL_Snapshot</variable>
                                         <variable id="`=hGQ*[0C+pxdf]k]sV]">Nachricht</variable>
                                         <variable type="timeout" id="timeout">timeout</variable>
                                         <variable id=")2,KTR||]G~d7xyd!QUZ">send</variable>
                                         <variable type="timeout" id="timeout2">timeout2</variable>
                                         <variable id="s`TAk}2fZk|p^o$4+d@t">result</variable>
                                       </variables>
                                       <block type="variables_set" id="0jj@r*)y_VPw~)q+,3)N" x="163" y="188">
                                         <field name="VAR" id="^RM=2sJ}E,A{F?bz`_me">URL_Chat</field>
                                         <value name="VALUE">
                                           <block type="text" id="kB68_z,ak9jtsXj2XA[?">
                                             <field name="TEXT">http://xxxxxx.xxx.xxx.xx:5000/webapi/entry.cgi?api=SYNO.Chat.External&amp;method=incoming&amp;version=2&amp;token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;payload={"text":"</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="variables_set" id="Q8SV]H7m2;RCEIl!I32S">
                                             <field name="VAR" id="yW]q[i/Yfz.,5Z+Vb.a,">URL_ioBroker</field>
                                             <value name="VALUE">
                                               <block type="text" id="Cw;l)b1L4K(P86t9=T}E">
                                                 <field name="TEXT">http://xxxx.xxxx.xxx.xxx:8082/0_userdata.0/synology/bild.jpg</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="fT*7tvvXRtyOgN,6C,2?">
                                                 <field name="VAR" id="u^a{RwAvq(*-0PK`(`@4">URL_Snapshot</field>
                                                 <value name="VALUE">
                                                   <block type="get_value" id="Y$5X7J(i,Ijul8Pt3.]=">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">synology.0.SurveillanceStation.cameras.Haustür.linkSnapshot</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="variables_set" id="m/`Hepc#d!=l=Yu?E{!6">
                                                     <field name="VAR" id="`=hGQ*[0C+pxdf]k]sV]">Nachricht</field>
                                                     <value name="VALUE">
                                                       <block type="text" id="naz0gbDT{!MOKW]c|g8{">
                                                         <field name="TEXT">Es klingelt an der Haustuer</field>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="on_ext" id="[.;w?/pK-.4zyW!UyYBl">
                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                         <field name="CONDITION">ne</field>
                                                         <field name="ACK_CONDITION"></field>
                                                         <value name="OID0">
                                                           <shadow type="field_oid" id="3VnM3u.?JEhM[^n/?X0p">
                                                             <field name="oid">default</field>
                                                           </shadow>
                                                         </value>
                                                         <statement name="STATEMENT">
                                                           <block type="procedures_callcustomnoreturn" id="J8Bxi=.l@zrRJkcGT150">
                                                             <mutation name="Bild_holen"></mutation>
                                                             <next>
                                                               <block type="timeouts_cleartimeout" id="1#Qx;^WXsqqn)X|6E2jF">
                                                                 <field name="NAME">timeout</field>
                                                                 <next>
                                                                   <block type="timeouts_cleartimeout" id="]P6ccsD65Q=LsNc=*[+u">
                                                                     <field name="NAME">timeout2</field>
                                                                     <next>
                                                                       <block type="timeouts_settimeout" id=",Vl,JVw3kG.#VrRAqd:b">
                                                                         <field name="NAME">timeout</field>
                                                                         <field name="DELAY">2000</field>
                                                                         <field name="UNIT">ms</field>
                                                                         <statement name="STATEMENT">
                                                                           <block type="variables_set" id="56pX+FA.eu/bi!ML3mDH">
                                                                             <field name="VAR" id=")2,KTR||]G~d7xyd!QUZ">send</field>
                                                                             <value name="VALUE">
                                                                               <block type="text_join" id="+TV37k{5`41$R(X3%khD">
                                                                                 <mutation items="4"></mutation>
                                                                                 <value name="ADD0">
                                                                                   <block type="variables_get" id="Mkg|x~Kc=E8N`_Gd55y.">
                                                                                     <field name="VAR" id="^RM=2sJ}E,A{F?bz`_me">URL_Chat</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD1">
                                                                                   <block type="text_join" id="{ZtE{Zz7!b9OAowY)%1V">
                                                                                     <mutation items="2"></mutation>
                                                                                     <value name="ADD0">
                                                                                       <block type="variables_get" id="y!U|V20vIg%ipD-$G_XY">
                                                                                         <field name="VAR" id="`=hGQ*[0C+pxdf]k]sV]">Nachricht</field>
                                                                                       </block>
                                                                                     </value>
                                                                                     <value name="ADD1">
                                                                                       <block type="text" id="G|.7zo{,tbQ8-Uo83p,)">
                                                                                         <field name="TEXT">", "file_url": "</field>
                                                                                       </block>
                                                                                     </value>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD2">
                                                                                   <block type="variables_get" id="v/9SP;]`*blX7Qt=h~Eu">
                                                                                     <field name="VAR" id="yW]q[i/Yfz.,5Z+Vb.a,">URL_ioBroker</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD3">
                                                                                   <block type="text" id="z1]{?Af3zI_+#txN*=UR">
                                                                                     <field name="TEXT">"}</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <next>
                                                                               <block type="timeouts_settimeout" id="dUpl:*/S.GOlt6yy5+E?">
                                                                                 <field name="NAME">timeout2</field>
                                                                                 <field name="DELAY">1000</field>
                                                                                 <field name="UNIT">ms</field>
                                                                                 <statement name="STATEMENT">
                                                                                   <block type="request" id="939:VQbG=f:Lt(8,--UH">
                                                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                                                                     <field name="WITH_STATEMENT">TRUE</field>
                                                                                     <field name="LOG"></field>
                                                                                     <value name="URL">
                                                                                       <shadow type="text" id="1o%c{S``+)7HEh-A%)U^">
                                                                                         <field name="TEXT">text</field>
                                                                                       </shadow>
                                                                                       <block type="variables_get" id="vAPQA_YY6uy)ow09^`*K">
                                                                                         <field name="VAR" id=")2,KTR||]G~d7xyd!QUZ">send</field>
                                                                                       </block>
                                                                                     </value>
                                                                                     <statement name="STATEMENT">
                                                                                       <block type="debug" id="qZVJ(@5Ef)}jneJ%Q)_N">
                                                                                         <field name="Severity">log</field>
                                                                                         <value name="TEXT">
                                                                                           <shadow type="text" id="S=pA)VcRi34L-{?F`HMz">
                                                                                             <field name="TEXT">test</field>
                                                                                           </shadow>
                                                                                           <block type="variables_get" id="N_1)-!F8nh][M#5EAmb6">
                                                                                             <field name="VAR" id="s`TAk}2fZk|p^o$4+d@t">result</field>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </statement>
                                                                                     <next>
                                                                                       <block type="debug" id="v:z{{P}3]9(0mcj`VrK7">
                                                                                         <field name="Severity">log</field>
                                                                                         <value name="TEXT">
                                                                                           <shadow type="text">
                                                                                             <field name="TEXT">test</field>
                                                                                           </shadow>
                                                                                           <block type="variables_get" id="/5v?Iwot|ODZ)QhG%957">
                                                                                             <field name="VAR" id=")2,KTR||]G~d7xyd!QUZ">send</field>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </next>
                                                                                   </block>
                                                                                 </statement>
                                                                               </block>
                                                                             </next>
                                                                           </block>
                                                                         </statement>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </statement>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                       <block type="procedures_defcustomnoreturn" id="Fh|~ouZqovH}}ZEi:0P{" x="638" y="338">
                                         <mutation statements="false"></mutation>
                                         <field name="NAME">Bild_holen</field>
                                         <field name="SCRIPT">DQoNCg0KcmVxdWVzdCgNCg0KICB7DQoNCiAgICB1cmw6IFVSTF9TbmFwc2hvdCAsDQoNCiAgICBlbmNvZGluZzogbnVsbCwNCg0KICB9LA0KDQogIChlcnJvciwgcmVzcG9uc2UsIGJvZHkpID0+IHsNCg0KICAgIGlmICghZXJyb3IgJiYgYm9keSkgew0KDQogICAgICB3cml0ZUZpbGUoIjBfdXNlcmRhdGEuMCIsICIvc3lub2xvZ3kvYmlsZC5qcGciLCBib2R5KTsNCg0KICAgIH0NCg0KICB9DQoNCik7DQo=</field>
                                         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                       </block>
                                      </xml>
                                      

                                      var URL_Chat, URL_ioBroker, URL_Snapshot, Nachricht, timeout, send, timeout2, result;
                                      
                                      // Beschreibe diese Funktion …
                                      async function Bild_holen() {
                                          
                                          
                                          
                                          request(
                                          
                                            {
                                          
                                              url: URL_Snapshot ,
                                          
                                              encoding: null,
                                          
                                            },
                                          
                                            (error, response, body) => {
                                          
                                              if (!error && body) {
                                          
                                                writeFile("0_userdata.0", "/synology/bild.jpg", body);
                                          
                                              }
                                          
                                            }
                                          
                                          );
                                      
                                      }
                                      
                                      
                                      URL_Chat = 'http://deineIP:5000/webapi/entry.cgi?api=SYNO.Chat.External&method=incoming&version=2&token=deintoken&payload={"text":"';
                                      URL_ioBroker = 'http://IPvomioBroker:8082/0_userdata.0/synology/bild.jpg';
                                      URL_Snapshot = getState("synology.0.SurveillanceStation.cameras.Haustür.linkSnapshot").val;
                                      Nachricht = 'Es klingelt an der Haustuer';
                                      on({id: 'default', change: "ne"}, async function (obj) {
                                        var value = obj.state.val;
                                        var oldValue = obj.oldState.val;
                                        await Bild_holen();
                                        (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                                        (function () {if (timeout2) {clearTimeout(timeout2); timeout2 = null;}})();
                                        timeout = setTimeout(async function () {
                                          send = [URL_Chat,String(Nachricht) + '", "file_url": "',URL_ioBroker,'"}'].join('');
                                          timeout2 = setTimeout(async function () {
                                            try {
                                              require("request")(send, async function (error, response, result) {
                                                console.log(result);
                                              }).on("error", function (e) {console.error(e);});
                                            } catch (e) { console.error(e); }
                                            console.log(send);
                                          }, 1000);
                                        }, 2000);
                                      });
                                      

                                      Neuschwansteini XBiT W 3 Replies Last reply Reply Quote 0
                                      • Neuschwansteini
                                        Neuschwansteini @Glasfaser last edited by

                                        @glasfaser sieht schon prima aus, bin bis jetzt nur zum Text verschicken gekommen, mit dem Bild hatte ich auch probleme..

                                        Glasfaser 1 Reply Last reply Reply Quote 0
                                        • Glasfaser
                                          Glasfaser @Neuschwansteini last edited by

                                          @ilovegym sagte in Synology Chat ...:

                                          mit dem Bild hatte ich auch probleme..

                                          ich habe es extra schon per writeFile. geschrieben .
                                          Das Bild ist auch aktuell , aber ich komme gerade nicht auf den Blöden Fehler warum er immer das erstellte ( alte ) Bild nimmt .

                                          Neuschwansteini Homoran 2 Replies Last reply Reply Quote 0
                                          • Neuschwansteini
                                            Neuschwansteini @Glasfaser last edited by Neuschwansteini

                                            @glasfaser mal das alte Bild löschen lassen..?
                                            Ich mach das bei meinen Camera Scripten immer so: ( alle in Javascript )

                                            sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: '🔔Es hat jemand geklingelt !🔔'});
                                            exec((['sudo cp /tmp/snap.jpg /mnt/photo/maindoor/maindoor-',formatDate(new Date(), "JJJJ_MM_TT_SS_mm_ss"),'.jpg'].join('')));
                                            exec((['sudo rm /tmp/snap.jpg'] ));
                                            
                                            

                                            Edit: nicht alles copiert.. 😉

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            573
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter chat message handler synology synology diskstation
                                            19
                                            184
                                            18876
                                            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