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 @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
                                      • Neuschwansteini
                                        Neuschwansteini @Glasfaser last edited by

                                        @glasfaser hmm ich lass die immer nach /tmp schreiben.. wird es denn auch angelegt_

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

                                          @ilovegym sagte in Synology Chat ...:

                                          wird es denn auch angelegt_

                                          Ja .

                                          e8337993-6cf5-404a-8f42-7d3bd9055223-grafik.png

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

                                            @glasfaser

                                            da wollte ich mal mitspielen aber bekomme nicht mal dein Blockly importiert...😢
                                            sollte es laufen ist es echt gut ohne 3rd Anbieter alle Meldungen zu erhalten.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            803
                                            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