NEWS
IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox
-
@bahnuhr
Vielen Dank für die Rückmeldung. Das Problem ist wohl beim convertieren des files welches durch pico2wafe gelöst werden kann. Allerdings bin ich hier ein totaler Anfänger. Gibts irgendwo eine Anleitung was ich wo installieren muss und welche Dateien, Einstellungen ich wo ändern muss ?
Sorry habe gerade keinen Plan. -
-
ich versuche diesen Weg auch gerade. Wie muss denn die Starface eingerichtet werden damit die der asterisk dort anmelden kann. Hats Du ggf. die conf Dateien zur Verfügung von der iobroker Instance.
Vielen Dank schon mal
-
Vielen Dank. So richtig verstanden was ich tun muss damit es funktioniert habe ich leider nicht.
Gibt es keine Schritt für Schritt Anleitung, ich bin hier kein Profi.
Gruss Harry -
@harry71
um die Variante mit picoTTS zu nutzen gibt es aktuell keine Anleitung, nur die Beiträge hier im Forum.Es gibt aber auch noch andere Möglichkeiten, falls eine Nutzung der Google-API möglich / gewünscht ist:
z.B. den Beitrag von @PLCHome-0 in dem einfach nur eine Zeile mit einem Header eingefügt wird (sollte sehr einfach und schnell funktionieren)
oder auf Github eine Variante mit der offiziellen Google API (für die aber ein Key benötigt wird) -
@boeskij Die Änderung mit dem Header ist auch schon in Github eingeflossen. Es hat nur noch kein npm publish stattgefunden. Eigentlich schade, sonst könnte man die Version unter Unstabile schon abrufen.
-
Hallo,
Ich versuche gerade, bei der Betätigung meiner Doorbird Klingelanlage (D2101KV), eine Nachricht abzuspielen. Die Doorbird hat ebenfalls eine SIP Funktion sodass ich mich frage, ob ich über den Asterisk auch eine SIP Nummer wählen kann?
Fall wäre, der Postbote gibt einen Zahlencode auf dem Doorbird Keypad ein und das Garten- und Garagentor (ca 50cm.) öffnen sich. Nun wäre noch eine Sprachnachricht nett, die dem Boten mitteilt, dass er das Packet in der Garage abstellen soll.
Wäre dies mit dem Adapter möglich?
Danke für eine Hilfestellung. -
Vermutlich wird hier der Adapter nicht mehr weiterentwickelt ... Schade.
Habe leider seit längerem dieses Problem.Vielleicht hat ja einer noch ne Idee
asterisk.0 2022-03-16 21:23:49.937 error Error while dialing (1). Error: {"response":"Error","actionid":"b3ad18bd-394a-8c86-42b4-5f90be7e758b","message":"Originate failed"}, Result: {"parameter":{"callerid":"**622","telnr":"+4916099733398","text":"Ich bin ein Test","extension":"19900808","audiofile":"/tmp/audio_1647462066793","delete":"delete"},"options":{"action":"originate","channel":"SIP/19900808/4916099733398","context":"ael-ansage","exten":"4916099733398","priority":1,"timeout":60000,"variable":{"repeat":5,"file":"/tmp/audio_1647462066793","del":"delete"},"callerid":"**622"},"guid":"b3ad18bd-394a-8c86-42b4-5f90be7e758b","result":{"response":"Error","actionid":"b3ad18bd-394a-8c86-42b4-5f90be7e758b","message":"Originate failed"}}
-
@knallix sagte in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:
0
Geht mir genauso: Originate failed.
Hast Du es mittlerweile irgendwie hinbekommen? Ich musste iobroker nach einem SD-Kartenfehler neu installieren. Seitdem gehen weder die Benachrichtigung per Signal noch die Anrufe mit Asterisk.
Verbindung zum Manager steht, .gsm-Files werden erzeugt, alles eingerichtet gem. Anleitung, Rechte eingestellt, aber bei der Fritzbox scheint nichts anzukommen. Blöd. -
Meine TK Anlage kann nur einen Sip Proxa also muss ich en Port eingeben nach der IP
Geht das irgendwie auch ?
-
@stuebi
Hi, habe den Asterisk Adapter erfolgreich zum laufen gebracht. Ich kann vom ioBroker ein externes Telefon anrufen und ich kann auch den ioBroker anrufen.Mein eigentliches Ziel ist es nun, den Anruf auf Telegram weiter zu reichen. Also ein interner Anruf klingelt auf mehreren Telefonen (an der Fritzbox angeschlossen). Der Telegram Anruf wird also parallel zu den internen Telefonen klingeln. Wenn einer abnimmt, wird das interne Gespräch geführt und die anderen Telefone hören auf zu klingeln.
Hättest eine Idee wie das geht?
Natürlich geht die Frage auch an alle anderen Profis
Danke vorab -
@mika-0 Was hast du für ein System am laufen ? Hatte es mal am laufen und bekomme es leider nicht mehr hin -.-
Habe nochmal alles neu installiert :D. Jetzt läuft es erstmal wieder
-
Moin Moin
die Einträge hier sind ja schon ziemlich "alt"....
Wird das noch weiter verfolgt oder "geholfen"?
Ich will das soweit für eine Alarmmeldung nutzen. Ausgelöst wird das Ganze durch ein potentialfreies Relais an einem GPIO... funktioniert soweit auch super, jedoch kriege ich es nicht gepeilt, dass die ganze Mimik nur einmal anruft, da der Alarmkontakt längere Zeit geschlossen ist
Habe schon ein paar unterschiedliche Versuche gestartet, aber kriege den Knoten nicht aus dem Kopf. -
@ewc sagte in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:
Ich will das soweit für eine Alarmmeldung nutzen. Ausgelöst wird das Ganze durch ein potentialfreies Relais an einem GPIO... funktioniert soweit auch super, jedoch kriege ich es nicht gepeilt, dass die ganze Mimik nur einmal anruft, da der Alarmkontakt längere Zeit geschlossen ist
Jedem, der fragt, sollte geholfen werden ...
Allerdings muss für die Antwort noch etwas klar sein.
Wie sieht dien Script oder was du benutzt aus,Also Blocky oder Script kann auf Änderungen reagieren. Wenn du den Eingang immer auf ein hast, ruft er erst wieder an, wenn der zwischendurch einmal zurückschaltet. Man kann aber auch immer auf on reagieren (refresh), dann hängt es aber vom Adapter ab, ob er das Objekt zyklisch neu setzt ...
Poste mal, wie du es verbunden hast ...
Ertl hilft hier ein Timer. Benutzt die Blocky oder Script?Es sollte so einen ablauf haben:
- Ereignis On Change (True & False):
- lösche Intervall
- wenn auslösen (True):
- Erzeuge Intervall
- Bei Intervall anrufen - anrufen
- Erzeuge Intervall
- Ereignis On Change (True & False):
-
@plchome-0
Servus... vielen Dank für deinen Beitraglass mich vorne anfangen, da Du es mit mir mit einem DAU zu tun hast.
Von Scripten habe ich ungefähr so viel "Plan", wie von Raketentechnik!
Ich "versuche" mich ausschließlich in blocklyDer gedachte Ablauf ist/soll folgender sein:
GPIO x1 Eingang -closed- "Alarm scharf/unscharf
wenn -closed- "scharf" warte 5 Minuten
wenn "nach 5 Minuten" und GPIO x1 "closed"
und GPIO x2 Eingang closed (Alarmtrigger über NVR)
warte 3 Minuten
danach starte Anruf über Asterisk (und ggfls. noch einen Shelly) wenn GPIO x1 noch closedDanke vorab
-
@ewc
Hier folgend mal mein Blockly welches bis heute hervorragend funktioniert...... hab ich irgendwann mal wo gefunden und für mich angepasst......
Wenn ein Wert, zb Alarm auf True geht, dann führt er den Anruf über Asterisk durch, und sendet noch paar Bilder per Telegram.
Die Wartefunktion musst halt noch einbauen, sollte aber problemlos laufen.....<block xmlns="https://developers.google.com/blockly/xml" type="comment" id="Ut.{Z@QTB%(!/ykysQ=k" x="-1379.9985809326172" y="-2917"> <field name="COMMENT">The initialisation (or: input definition)</field> <next> <block type="variables_set" id="!!_]N!)5+R2ZsWOQ{|hm" disabled="true"> <field name="VAR" id=",R)~|vEe|Hk1^bExwyKm">text</field> <value name="VALUE"> <block type="text" id="EGujT.Wq67[ty-_j_w+#"> <field name="TEXT">Hello World. This is your programmers night ending waking call.</field> </block> </value> <next> <block type="variables_set" id="nhn^T8oU%$*5(W!n?_`z"> <field name="VAR" id=",R)~|vEe|Hk1^bExwyKm">text</field> <value name="VALUE"> <block type="text" id="gJXmjUnpYe3hKiH`c2%%"> <field name="TEXT">EINBRUCH </field> </block> </value> <next> <block type="variables_set" id="KkB5t9h=$B;|zW,Qz#Ta"> <field name="VAR" id="6]OTkZnB2nWeMqZ[:Bgt">number1</field> <value name="VALUE"> <block type="text" id="h|yX`%[FaPO#,y#;.%6a"> <field name="TEXT">0123456789</field> </block> </value> <next> <block type="variables_set" id="I%a6as[-[DywWeu.%*Zy"> <field name="VAR" id="RlYVjB#b`Cq%nNI$a%nh">callerid</field> <value name="VALUE"> <block type="text" id="ac?TQv@ROH2b;6$E%^bf"> <field name="TEXT">040-123456789</field> </block> </value> <next> <block type="variables_set" id=",mfupJ?X,=|L%4%?:Eo{"> <field name="VAR" id="Zneb2#O,oT6=1a1GO,S(">repeat</field> <value name="VALUE"> <block type="math_number" id="oq+XnD,B``zqO?l`M@V%"> <field name="NUM">5</field> </block> </value> <next> <block type="variables_set" id="])FZ.rNCAY1^tlv_f=*C"> <field name="VAR" id="h{aZlv.AZH(yGq#J%uJr">priority</field> <value name="VALUE"> <block type="math_number" id="?aafiD|=f*JyTDr.1vlP"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="-@f5[3E-6PBhwch+=g@p"> <field name="VAR" id=";tv}Hj%EQ[8=cFac/:}f">timeout</field> <value name="VALUE"> <block type="math_number" id="-.=TYm)/P|UL*d[l3:Bt"> <field name="NUM">30000</field> </block> </value> <next> <block type="variables_set" id="xNBfE[or`]AY%sn^tz_)"> <field name="VAR" id="-aH},}FLLO(hwwOl0Y$T">language</field> <value name="VALUE"> <block type="text" id="eRUx,@uW0d}YNVXH!,Ov"> <field name="TEXT">de</field> </block> </value> <next> <block type="variables_set" id="rjWYJA?5VWlh6]#3L,Q}"> <field name="VAR" id="}uHNc}pP|cgYM`{o,w!2">async</field> <value name="VALUE"> <block type="logic_boolean" id="}^=!YrAycFCbv8NU`^AP"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="|O*4Q$M5IiK9Q38`@b1;"> <field name="VAR" id="d.dOhyf%X]|(.dOO7x7q">audiofile</field> <value name="VALUE"> <block type="text" id="L*!WI@tG7D6eJQuyb7U9"> <field name="TEXT"></field> </block> </value> <next> <block type="comment" id="~U9DpylPw%E#E+fvtOq`"> <field name="COMMENT">...some code...</field> <next> <block type="comment" id="zoDD)%PO_-iHJg:*Sr[m"> <field name="COMMENT">The output:</field> <next> <block type="sendto_custom" id="yS]K]uIl{ve`#tJZJ=cz"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="text,telnr,callerid,repeat,priority,timeout,language,async,audiofile" with_statement="true"></mutation> <field name="INSTANCE">asterisk.0</field> <field name="COMMAND">dial</field> <field name="LOG"></field> <field name="WITH_STATEMENT">TRUE</field> <value name="ARG0"> <shadow type="text" id="!|C9r_9heWOhSQSUuLrI"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="CU$W({!8Xu;jg(YhcIn$"> <field name="VAR" id=",R)~|vEe|Hk1^bExwyKm">text</field> </block> </value> <value name="ARG1"> <shadow type="text" id="/UT;.u_OkYwbIvCfGCoC"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="CqVXW%}92.O79}(?$2BB"> <field name="VAR" id="6]OTkZnB2nWeMqZ[:Bgt">number1</field> </block> </value> <value name="ARG2"> <shadow type="text" id="#L;BDr}L|lvVvuV[fc1e"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="$Mhz;(yceco5-GtTr7mT"> <field name="VAR" id="RlYVjB#b`Cq%nNI$a%nh">callerid</field> </block> </value> <value name="ARG3"> <shadow type="text" id="qVb@`/0H[%B5t,/;pFMf"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="}7#LR8O~o}zx^[Lpuhu0"> <field name="VAR" id="Zneb2#O,oT6=1a1GO,S(">repeat</field> </block> </value> <value name="ARG4"> <shadow type="text" id="uyGU[Rj2bq30KI$9WH`:"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="R@tT7FIJU`Yy~p*x7-;+"> <field name="VAR" id="h{aZlv.AZH(yGq#J%uJr">priority</field> </block> </value> <value name="ARG5"> <shadow type="text" id="H1/.a.TkTjTQD](3c#@("> <field name="TEXT"></field> </shadow> <block type="variables_get" id="t**ccGKtujxJp)~50^=8"> <field name="VAR" id=";tv}Hj%EQ[8=cFac/:}f">timeout</field> </block> </value> <value name="ARG6"> <shadow type="text" id="x04;LWX0}VOI{NtyaW4W"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="9Tu3ezt:.!(_fSgv}m}|"> <field name="VAR" id="-aH},}FLLO(hwwOl0Y$T">language</field> </block> </value> <value name="ARG7"> <shadow type="text" id="vgsWw8c1]jcT(@1AMV{p"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="pkrx47{^lV/G%d|*Q:C$"> <field name="VAR" id="}uHNc}pP|cgYM`{o,w!2">async</field> </block> </value> <value name="ARG8"> <shadow type="text" id="]le)JE#!lwFa8hxX;B1`"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="(F?eaC-NNN,B}#jh_/P."> <field name="VAR" id="d.dOhyf%X]|(.dOO7x7q">audiofile</field> </block> </value> <statement name="STATEMENT"> <block type="comment" id="|[;A,9NdXQHIS#BE4@6,"> <field name="COMMENT">The feedback:</field> <next> <block type="comment" id="#42*u}dU=,ouS{H$GoPZ"> <field name="COMMENT"> V1: (embedded function)</field> <next> <block type="debug" id=":jEb,=ar{`y|c1jsND=("> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="vI3Fl$aB3ZF0|Kn3XccV"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="Nw,XS77H9lL^~glq/=X/"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="[BF3O|{`lV9WPGMO~wnV"> <field name="TEXT">Result V1:</field> </block> </value> <value name="ADD1"> <block type="convert_object2json" id="Iy[)42:y2FnCKa6AEfde"> <field name="PRETTIFY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="rLnhEslI%Sxp=p}5:M_("> <field name="VAR" id="}^hTHFA%kq_OI$ULIw:?">result</field> </block> </value> </block> </value> </block> </value> <next> <block type="comment" id="bmSQI^i8?6UsgR6XehPj"> <field name="COMMENT"> V2:(local function /w ability for modification)</field> <next> <block type="debug" id="Lc/vkyTV^eNv{*{9k|xA"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id=".3e%EDoC7l8L:}PJ1mK#"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="%i-UVXVf]8Hke-*!vtG?"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="^8gZ=)4Th,9$}IHg_mIX"> <field name="TEXT">Result V2:</field> </block> </value> <value name="ADD1"> <block type="procedures_callcustomreturn" id="jd@IAvxBBdQVsg43G[,|"> <mutation name="fl_stringifyWoJoin"> <arg name="inp"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="%sdhN;-K`%b3ZfC.6~kR"> <field name="VAR" id="}^hTHFA%kq_OI$ULIw:?">result</field> </block> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="telegram" id="B`J1j~[59+jNJ8PUT=b~" disabled="true"> <field name="INSTANCE">.0</field> <field name="LOG">log</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="Ey`9S7*6N2o()_|g[5YS"> <field name="TEXT">ALARM</field> </shadow> </value> <next> <block type="control" id="QniwpBIa9yq7Oyz_ERhw" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">synology.0.SurveillanceStation.getSnapshotCamera</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="e,d,=}^u|hr0ONyG|:#P"> <field name="TEXT">1</field> </block> </value> <next> <block type="timeouts_wait" id="F|Bd80~d}dKb#E!W^z-%"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id="hXq4PDckjN1*L$W!R`iF" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">synology.0.SurveillanceStation.getSnapshotCamera</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="Mu%BJFNsogIkgBtx.BBz"> <field name="TEXT">3</field> </block> </value> <next> <block type="timeouts_wait" id="S]R?XvZjnRFrBJ8$%P6O"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id="c*7$P~+xvSsCm[]jqFBt" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">synology.0.SurveillanceStation.getSnapshotCamera</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="n:ZsHl(5^MSuAw7fyg[!"> <field name="TEXT">5</field> </block> </value> <next> <block type="timeouts_wait" id="9RF86{s^S$O^*Tz.`u5*"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id=";xcmKej6u@fpTRQHm#yY" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">synology.0.SurveillanceStation.getSnapshotCamera</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="-rb?ZyCai@_o@0^oq)bZ"> <field name="TEXT">6</field> </block> </value> <next> <block type="timeouts_wait" id="w|KmqpztqWq7sd)Y/3fY"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id="yReaw(Ed5pJz2bbggrVl" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">synology.0.SurveillanceStation.getSnapshotCamera</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="n|1le(mfJFPs_JVgsaMW"> <field name="TEXT">7</field> </block> </value> <next> <block type="timeouts_wait" id="2-`/G$1Hmf`u{?GW}qh1"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id="+mC|J}+9^q1ph2%a6MiL" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">synology.0.SurveillanceStation.getSnapshotCamera</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="9lC_iL(,+;eF:@0wa6;N"> <field name="TEXT">9</field> </block> </value> <next> <block type="timeouts_wait" id="KNg]FZ2,4hYK{3KncY4r"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="timeouts_settimeout" id=",O|+TWAl|r*hP$k(Cm7." disabled="true"> <field name="NAME">timeout4</field> <field name="DELAY">2</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="telegram" id="/6_vFXeCrGp_}UBKIl%]"> <field name="INSTANCE">.0</field> <field name="LOG">log</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="N0CU0BsQ{`3x~p1o-n(G"> <field name="TEXT">/opt/iobroker/iobroker-data/synology_0/snapshotCam_1.jpg</field> </shadow> </value> <next> <block type="timeouts_wait" id="}2dfS*,I$u@BJ;FEjhhr"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="telegram" id="AqsBjPyg-x5,YKSExV=}"> <field name="INSTANCE">.0</field> <field name="LOG">log</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="au8E0*mV|WrPmiNw+Bu#"> <field name="TEXT">/opt/iobroker/iobroker-data/synology_0/snapshotCam_3.jpg</field> </shadow> </value> <next> <block type="timeouts_wait" id="nZg{|lx^Z)]Z[OosBLgH"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="telegram" id="TcTOu:bNR47$rzqEU|a7"> <field name="INSTANCE">.0</field> <field name="LOG">log</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="Ts0PSJ}./$2RQkxPW3!G"> <field name="TEXT">/opt/iobroker/iobroker-data/synology_0/snapshotCam_5.jpg</field> </shadow> </value> <next> <block type="timeouts_wait" id=")p?h`)|_;gowC1.F%/S6"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="telegram" id="mE:f*}Ku.Fs?czR4{%X("> <field name="INSTANCE">.0</field> <field name="LOG">log</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="b1P($i|[u5m#9MCetf%5"> <field name="TEXT">/opt/iobroker/iobroker-data/synology_0/snapshotCam_6.jpg</field> </shadow> </value> <next> <block type="timeouts_wait" id="QpXJ6iH.;!Pg*@?k}ix6"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="telegram" id="hEqJRy,ug@C1Mm3BL@A$"> <field name="INSTANCE">.0</field> <field name="LOG">log</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="X=#zLt6HE}2feRXFd*c@"> <field name="TEXT">/opt/iobroker/iobroker-data/synology_0/snapshotCam_7.jpg</field> </shadow> </value> <next> <block type="timeouts_wait" id="Afbx3qNSnH}#ZL,K^./)"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="telegram" id="Y`5;BR(3GK5~2*=bH_z]"> <field name="INSTANCE">.0</field> <field name="LOG">log</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="_X]q.|IE9ZnL}bK9F4;("> <field name="TEXT">/opt/iobroker/iobroker-data/synology_0/snapshotCam_9.jpg</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block>
Wenn fragen sind dann halt melden.
Grüße
Sunny -
@ewc sagte in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:
Der gedachte Ablauf ist/soll folgender sein:
GPIO x1 Eingang -closed- "Alarm scharf/unscharf
wenn -closed- "scharf" warte 5 Minuten
wenn "nach 5 Minuten" und GPIO x1 "closed"
und GPIO x2 Eingang closed (Alarmtrigger über NVR)
warte 3 Minuten
danach starte Anruf über Asterisk (und ggfls. noch einen Shelly) wenn GPIO x1 noch closedHi, sorry, ich hab leider Informatik und nicht Kunst studiert.
Das Problem ist, dass der X2 beim Schalten und nach 5min geprüft werden sollte, daher hab ich ihn mal in eine Funktion ausgelagert.
Ach, die Timer müssen auf Minuten gestellt werden.<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="qyH7wq!-AOqe;Qn?*$Gv">5Min</variable> <variable id="c)53FM(#B:Y8tLluj7R$">value_x2</variable> <variable type="timeout" id="Timer2">Timer2</variable> <variable type="timeout" id="Timer1">Timer1</variable> </variables> <block type="variables_set" id="oQOKs5dy#o7YDnO3|y8(" x="38" y="-162"> <field name="VAR" id="qyH7wq!-AOqe;Qn?*$Gv">5Min</field> <value name="VALUE"> <block type="logic_boolean" id="^8ec%``[UR5J?TyvP9(]"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="on_ext" id="2gvtvw$D1+B:Z@R[%DF_"> <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="nJ$?z|g=p*]H^;.KG=^d"> <field name="oid">0_userdata.0.test.x1</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="$o38w*m;c1XZxq5V1`B4"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="uA0v_VPCj:mQ-0a;qNig"> <field name="TEXT">X2 Wurde geschltet auf </field> </shadow> <block type="text_join" id="g6XE|gOKiPN:7}MU(cuc"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="/_jmk]!$*S!5kRvAsc2G"> <field name="TEXT">X1 auf </field> </block> </value> <value name="ADD1"> <block type="on_source" id="_J#ZG%TUaWB?ovCRfv1M"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="variables_set" id="YY_aE0gJG2}tkTWXn9U_"> <field name="VAR" id="qyH7wq!-AOqe;Qn?*$Gv">5Min</field> <value name="VALUE"> <block type="logic_boolean" id="R8UDaE+rD%`FdX-B]h({"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="mR.h{lWQ*@vbf?cKPc|B"> <field name="NAME">Timer1</field> <next> <block type="controls_if" id="jdZ#9-?#2,uM|0rOZ.f["> <value name="IF0"> <block type="logic_compare" id="kCw4.M:y@Va*xw7G`|+;"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="1E,MF]#w+WD|*6H!JPRc"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_boolean" id="vHPo`yGUH}=u]EG%++P#"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_settimeout" id="oo/O`w1ZsesGO]icT}AR"> <field name="NAME">Timer1</field> <field name="DELAY">5</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="variables_set" id="i~$Fw}}{Nul/|Y4r|^]f"> <field name="VAR" id="qyH7wq!-AOqe;Qn?*$Gv">5Min</field> <value name="VALUE"> <block type="logic_boolean" id="(_kkv=vlk^kTZh~Id``1"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="v5#2OA-d8k6RqoKQz:y`"> <mutation name="pruefex2"> <arg name="value_x2"></arg> </mutation> <value name="ARG0"> <block type="get_value" id="KGEORwpvzoO4.j12dPJT"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.test.x2</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="on_ext" id="wai*:bt|e9q(lAxJM`a_"> <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="=/!kt2t]ElWK9maLUztN"> <field name="oid">0_userdata.0.test.x2</field> </shadow> </value> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="21@Y/BL:gABG4mapP/)G"> <mutation name="pruefex2"> <arg name="value_x2"></arg> </mutation> <value name="ARG0"> <block type="on_source" id="?7(5#`WG{#YXB%WaU74e"> <field name="ATTR">state.val</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="*W|1t#%2V5b_nS=#HxJ9" x="488" y="-162"> <mutation> <arg name="value_x2" varid="c)53FM(#B:Y8tLluj7R$"></arg> </mutation> <field name="NAME">pruefex2</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="debug" id="WDygLdRg|(8i;BQWvUvR"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="uA0v_VPCj:mQ-0a;qNig"> <field name="TEXT">X2 Wurde geschltet auf </field> </shadow> <block type="text_join" id="QX9Iwnb{`k!b))9!2dPu"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="0KUyAetb|p,kj_7Hccc+"> <field name="TEXT">X2 auf </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="8xz=_N*rz/Y+kZ%v~Y?F"> <field name="VAR" id="c)53FM(#B:Y8tLluj7R$">value_x2</field> </block> </value> </block> </value> <next> <block type="timeouts_cleartimeout" id="5zO];g+_5U`2h(I@2ncl"> <field name="NAME">Timer2</field> <next> <block type="controls_if" id="H7_oemVk_S+G]SXrjC|B"> <value name="IF0"> <block type="logic_operation" id="JM%+9${v_@7J^a$_7NMH"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="*Bp!z}c68`wx=prHp{)M"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="rFZyNB6uz9Ht]MOjK/r4"> <field name="VAR" id="c)53FM(#B:Y8tLluj7R$">value_x2</field> </block> </value> <value name="B"> <block type="logic_boolean" id="c]f9FE`a2KN#CW2hlfk;"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="[7a~rI3zgMIU]Xt%9NW;"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="/^s{NjlA?et)bx`?|zF1"> <field name="VAR" id="qyH7wq!-AOqe;Qn?*$Gv">5Min</field> </block> </value> <value name="B"> <block type="logic_boolean" id="3}~2dDE=Kn9?t+TQ(@gy"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_settimeout" id="qmcn.*U%kAOcz,WRN91,"> <field name="NAME">Timer2</field> <field name="DELAY">3</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="debug" id="Z14OvO~D^,Mqz-8B%;ir"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="]T6$/aN1yu0Ht.RQ(UE{"> <field name="TEXT">Jetzt Anruf</field> </shadow> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </xml>
Ich hab es noch mal überarbeitet, hatte nicht gelesen, das X2 aus sein soll.
Ich hab nur in der Funktion die Abfrage value_x2= von true auf false geändert.
Jetzt hats du ja zwei beispiele, viel Spaß. -
@plchome-0
Vielen Dank für deine Mühen.Ich habe da noch einen Wurm drin, ich pfusche mal ein wenig rum…
-
@ewc Mach mal
-
@plchome-0
Servus....
Also, ich bekomme das Script ums Verrecken nicht zum Laufen.
Erste Konfiguration war ein Pi4-8GB, "Buster", interne Pullups auf GPIO16 und 26... kein Anruf, schlechte/unzureichende GPIO Umschaltung true/false visaverse.
Externe PullUps (10k) das gleiche Schauspiel.
Anderen Pi, auch 4 und 8GB genommen, keine Änderung.
Gestern neues OS aufgesetzt (Bookworm), da scheitert es dann mit der Installation von Asterisk. (haha)Meine Frau fragt mich schon, wie weit ich bin, worauf ich antworte: ich bin nahe der Verzweiflung
ich setze nochmal Buster auf -(