NEWS
Synology Chat ...
-
@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!
-
@glasfaser
Hast du vielleicht eine Idee, warum keine Umlaute (ä, ö) oder zum Beispiel Grad Celcius als Zeichen nicht gehen. Dann kommt im Log immer ein Fehler?
Liebe Grüße -
@tschaeens sagte in Synology Chat ...:
warum keine Umlaute (ä, ö)
Weil der Text noch :
encodeURIComponent()
Die Methode encodeURIComponent() kodiert eine Komponente des Uniform Resource Identifier (URI) indem jedes Vorkommen bestimmter Zeichen durch ein, zwei, drei oder vier Escape-Sequenzen ersetzt werden, die der UTF8-Kodierung des Zeichens entsprechen. Vier Escape-Sequenzen werden nur bei Zeichen bestehend aus zwei "Surrogate"-Zeichen verwendet.
https://www.w3schools.com/jsref/jsref_encodeuricomponent.asp
Klingelt%20jemand%20an%20der%20Haust%C3%BCr
22%20%C2%B0C
warum%20keine%20Umlaute%20(%C3%A4%2C%20%C3%B6)%20und%20kein%2022%20%C2%B0C
geht hiermit :
.
-
@tschaeens sagte in Synology Chat ...:
oder zum Beispiel
mit der Änderung oben , können jetzt auch Emoji mit versendet werden
.
-
@wrod Danke.
Es sieht nun so aus.
Immer wenn ein anderer Vorgang (etwa ein anderes Skript) ein eigens erzeugtes Objekt "Nachrichtentext" ändert, wird dieser an mich versendet. Dann wird dieser wieder auf "false" gesetzt.
Jetzt brauche ich noch Skripts, die auf Abfrage das Objekt "Nachrichtentext" sinnvoll befüllen.
Gibt es dazu elegante Möglichkeiten, insbesondere für eine Abfrage mehrerer Objekte auf das Überschreiten von Grenzwerten, also etwaWenn <Objekt_X> überschreitet <Grenzwert_X> dann setze Erzeuge Variable <Text> aus <Konstante_X> und ggf <Variable_X> und befülle Objekt <Nachrichtentext>; mit
- <Objekt A> <Grenzwert A> <Konstante A> <Variable A>
- <Objekt B> <Grenzwert B> <Konstante C> <Variable C>
- ...
- <Objekt n> <Grenzwert n> <Konstante n> <Variable n>
Das wäre ja wohl eine Schleife oder Liste in Form von
Für jedes Elemente in Liste x prüfe und setze.Das Skript müsste dann aber wohl ständig abfragen. Lässt sich das auch über eine Liste/Schleife lösen im Sinne von
Wenn eines der folgenden Elemente sich ändert, dann prüfe?
Dank im Voraus