NEWS
Synology Chat ...
-
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
-
@wrod sagte in Synology Chat ...:
Jetzt brauche ich noch Skripts, die auf Abfrage das Objekt "Nachrichtentext" sinnvoll befüllen.
Das würde jetzt diesen Thread "Synology Chat"dafür sprengen .
@all
Ich habe nochmal das Blockly verkürzt .
@dslraser
kann man das schon Produktiv übernehmen , was meinst du oder eher noch eine Testphase !Beispiel :
Das einzigste was mich stört , ich finde keinen Butten um eine ( Test ) -Nachricht im Syn Chat zu löschen !?
-
@glasfaser sagte in Synology Chat ...:
kann man das schon Produktiv übernehmen , was meinst du oder eher noch eine Testphase !
Ich habe bisher hier nur mitgelesen. Ich habe das Blockly noch nicht probiert, aber auf jeden Fall interessant.
EDIT: nur zur Info, hier reicht Wert (
= wahr
kann weg wenn Du auf wahr triggern möchtest, sonstnicht Wert
nehmen) -
@glasfaser
Ich habe mir jetzt mal Chat auf der Syno und auf den Handy installiert.
Könntest Du, oder auch wer anders, mal eine Anleitung für „DAU‘s“ (also für mich) erstellen welche Einstellungen auf der Syno für einen Bot (ich habe den bei mir Haus) genannt, gemacht werden müssen um mit dem Bot interagieren zu können.Ich bekomme bisher mit Deinem Blockly nur eine 404 Meldung.
{"error":{"code":404,"errors":"bot type error"},"success":false}
-
Bin kein guter Bescheiber .... aber hier in Bildern :
.
.
.
.
token=%22meintoken%22
dein token rein ohne die %22 in der URL am Anfang und am Ende
EDIT: nur zur Info, hier reicht Wert ( = wahr kann weg wenn Du auf wahr triggern möchtest, sonst nicht Wertnehmen)
ja ich weiß , ist nur ein TESTSCRIPT ....
-
@dslraser
Ich probiere es mal:-
In Synology Chat oben rechts auf Deinen User gehen (hier "A"):
-
Dort "Einbindung" wählen:
-
Dann "Eingehende Webhooks":
-
Dort "Erstellen" und einen Absendernamen und Kanal wählen bzw. einen neuen erstellen (z.B. "iobroker_an_user_x"). Im Webhook-Link sind dann die URL und der Token enthalten, den das Script braucht.
Das sollte es sein.
-
-
@glasfaser ich habe die %22 mit kopiert. Geht offenkundig auch.