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.
    • 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
                                        • Homoran
                                          Homoran Global Moderator Administrators @Glasfaser last edited by

                                          @glasfaser sagte in Synology Chat ...:

                                          komme gerade nicht auf den Blöden Fehler warum er immer das erstellte ( alte ) Bild nimmt

                                          ist zu dem Zeitpunkt des holens denn wirklich das neue Bild schon geschrieben?

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

                                            @homoran

                                            Ja , ich habe auch schon mehere timeout im Testscript eingebaut gehabt.

                                            Es wird geholt und geschrieben .
                                            Das Bild ist immer aktuell im Ordner 0_userdata.0

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            518
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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