NEWS
Synology Chat ...
-
@ilovegym sagte in Synology Chat ...:
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..
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?
-
@ilovegym
Kannst du kurz zusammenfassen was gemacht werden soll und warum.
Ist die schnittstelle lokal oder via cloud? -
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 cloudRequierements:
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 -
@ilovegym So spontan habe ich da gerade keine Lust drauf
-
@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.
-
Ich habe mal was gebaut ... hänge aber noch daran , das er immer das alte Bild sendet, obwohl es aktualisiert wird .
Vielleicht ein Grundbauststein:
-
@glasfaser sieht schon prima aus, bin bis jetzt nur zum Text verschicken gekommen, mit dem Bild hatte ich auch probleme..
-
@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 . -
@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..
-
@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?
-
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 -
@glasfaser hmm ich lass die immer nach /tmp schreiben.. wird es denn auch angelegt_
-
-
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. -
Versuche nochmal .. habe gerade es neu im Spoiler gesetzt
-
Danke geht jetzt
-
Habe es mal verunstaltet aber es geht... und bekomme auch immer das neue Bild....
Sollte ja auch mit dem Datenpunkt "synology.0.SurveillanceStation.cameras.XXXX.linkSnapshot" gehen nur bei mir geht der gerade nicht<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="0;mm8IOdOmH_wz;%[zPo">Syno_URL</variable> <variable id=",O#!.RmBLV$D$25E`o7/">Syno_Port</variable> <variable id="Eg)M29q*/71]Q#lGjYO;">Chat_token</variable> <variable id="`=hGQ*[0C+pxdf]k]sV]">Nachricht</variable> <variable id="u^a{RwAvq(*-0PK`(`@4">URL_Snapshot</variable> <variable id="yW]q[i/Yfz.,5Z+Vb.a,">URL_ioBroker</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="on_ext" id="[.;w?/pK-.4zyW!UyYBl" x="163" y="88"> <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">0_userdata.0.Testbutton</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="u^*rT,0CM,T_]XeGow}h"> <field name="VAR" id="0;mm8IOdOmH_wz;%[zPo">Syno_URL</field> <value name="VALUE"> <block type="text" id="K]+z|W)qG[s?viD8cP}Q"> <field name="TEXT">192.168.X.XXX</field> </block> </value> <next> <block type="variables_set" id=",|/0@uFO[kJp[pSjyfW~"> <field name="VAR" id=",O#!.RmBLV$D$25E`o7/">Syno_Port</field> <value name="VALUE"> <block type="text" id="YmIhCu8+dV@OO0U[PWx#"> <field name="TEXT">5000</field> </block> </value> <next> <block type="variables_set" id="Z}%_nt.Jz``.b})ifYmx"> <field name="VAR" id="Eg)M29q*/71]Q#lGjYO;">Chat_token</field> <value name="VALUE"> <block type="text" id="[^9?/_`o:[u8zr_:o:`T"> <field name="TEXT">XXXX</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="variables_set" id="fT*7tvvXRtyOgN,6C,2?"> <field name="VAR" id="u^a{RwAvq(*-0PK`(`@4">URL_Snapshot</field> <value name="VALUE"> <block type="text" id="N]=+,oldD=_C5-KIA*6["> <field name="TEXT">http://192.168.X.XXX/action/snapshot</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://192.168.X.XXX:8082/0_userdata.0/synology/bild.jpg</field> </block> </value> <next> <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="0jj@r*)y_VPw~)q+,3)N"> <field name="VAR" id=")2,KTR||]G~d7xyd!QUZ">send</field> <value name="VALUE"> <block type="text_join" id="Q^/K[ogSU%663c!lHXyf"> <mutation items="11"></mutation> <value name="ADD0"> <block type="text" id="Xp!K%fv+S+C7_K~7ka^c"> <field name="TEXT">http://</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="U#z.iPhHMr!oaBW_.L}$"> <field name="VAR" id="0;mm8IOdOmH_wz;%[zPo">Syno_URL</field> </block> </value> <value name="ADD2"> <block type="text" id="|ITd9=%HnJAhhwgaz3|-"> <field name="TEXT">:</field> </block> </value> <value name="ADD3"> <block type="variables_get" id="_E?oZ@h{l{gD!e{A..FQ"> <field name="VAR" id=",O#!.RmBLV$D$25E`o7/">Syno_Port</field> </block> </value> <value name="ADD4"> <block type="text" id="_^c23]w8ve_wLo_pG;lU"> <field name="TEXT">/webapi/entry.cgi?api=SYNO.Chat.External&method=incoming&version=2&token="</field> </block> </value> <value name="ADD5"> <block type="variables_get" id="p//Pgq^!$p27`+=TYO0t"> <field name="VAR" id="Eg)M29q*/71]Q#lGjYO;">Chat_token</field> </block> </value> <value name="ADD6"> <block type="text" id="zG0}^=D_TXDv9Tjx8afb"> <field name="TEXT">"&payload={"text":"</field> </block> </value> <value name="ADD7"> <block type="variables_get" id="];FJ@4Io`JJ?oyGqhlTU"> <field name="VAR" id="`=hGQ*[0C+pxdf]k]sV]">Nachricht</field> </block> </value> <value name="ADD8"> <block type="text" id="G|.7zo{,tbQ8-Uo83p,)"> <field name="TEXT">", "file_url": "</field> </block> </value> <value name="ADD9"> <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="ADD10"> <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> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defcustomnoreturn" id="Fh|~ouZqovH}}ZEi:0P{" x="513" y="337"> <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>
-
@glasfaser said in Synology Chat ...:
timeout, send, timeout2, result
Wie muss das Script denn aussehen, wenn man einfach eine Nachricht ohne Bild schicken will?
-
-
@glasfaser Danke! Es läuft!