Ich nutze die App EgiGeoZone Geofence und befülle über den iotAdapter einen Datenpunkt mit true/false. Unkompliziert und zuverlässig.
NEWS
Best posts made by Quarkmax
-
RE: Einfache Meldung "Bin zu Hause" (Geofence)?
-
RE: Test Adapter ice Road
Bei mir auch, ich habe mir ein Blockly gebastelt, was die selbst angelegten Datenpunkte in 0_userdata befüllt.
API-Key und Koordinaten müssen angepasst werden. Am besten auch die Abfragezeit, damit der Server nicht zu gleichen Zeit beballert wird.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="NEeY,S|j#!{h2-:;?RQl">forecastId</variable> <variable id="Z2j7X{T[0GQB[8PbWQgo">forecastText</variable> <variable id="c_2sg9u`Cc.3_w48SFX6">forecastCity</variable> <variable id="o)lntt?nBir`R*=-$N3B">result</variable> <variable id="4DVI-pjORp/8JYATV]sW">requestDate</variable> <variable id="0heT0dTyt^[^avXEGOEB">forecastDate</variable> <variable id="t@TFo%W?p`*sXa#G1^/(">callsLeft</variable> <variable id="waMWUDuPfz/k^Z=FowGc">message</variable> <variable id="llxyObNcVgCzK0wTpa:?">success</variable> <variable id="^xitj]gL}lf%0y{+-/@e">code</variable> </variables> <block type="schedule" id="?pgFvQ6{}?J$t+XJwpnU" x="13" y="13"> <field name="SCHEDULE">5 */1 * * *</field> <statement name="STATEMENT"> <block type="request" id="eJt(6JEBe03V}i!Ks+MV"> <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="b?S2mgHyO(]T{62xyff^"> <field name="TEXT">https://api.eiswarnung.de?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&lat=xx.1638&lng=xx.9269</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="4N:z*tB#Nh*X683Q+Np."> <field name="VAR" id="NEeY,S|j#!{h2-:;?RQl">forecastId</field> <value name="VALUE"> <block type="get_attr" id="?P)*Q.9AQ(*XhGdRHWrH"> <value name="PATH"> <shadow type="text" id="HbD-V!Cr3[d/Jbe{S2Ha"> <field name="TEXT">result.forecastId</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id=".aOXq2FQ,;;Nh~8$m=}5"> <value name="VALUE"> <block type="variables_get" id="]t3-]U9MUdt%L=tp$wg("> <field name="VAR" id="o)lntt?nBir`R*=-$N3B">result</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="|ZKQPhuY?s}#uU17J/`!"> <field name="VAR" id="Z2j7X{T[0GQB[8PbWQgo">forecastText</field> <value name="VALUE"> <block type="get_attr" id="o/b,m9F{~*C|uq=b(0+/"> <value name="PATH"> <shadow type="text" id=";pHSdqD6}H;R+ClyLdXl"> <field name="TEXT">result.forecastText</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="Gc*GX*pqGTc?r#2VK`^3"> <value name="VALUE"> <block type="variables_get" id="x~5EI%VYF)E5)c@5v-N{"> <field name="VAR" id="o)lntt?nBir`R*=-$N3B">result</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="%Q[-g{smzzObTX/FV%=+"> <field name="VAR" id="c_2sg9u`Cc.3_w48SFX6">forecastCity</field> <value name="VALUE"> <block type="get_attr" id="W6~ibSv_g]Z;RP:rH}q)"> <value name="PATH"> <shadow type="text" id="i{!oSBpCDSs;_|MXn|NY"> <field name="TEXT">result.forecastCity</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="zc]_w,ZaJ;FM-Y[:Ii@L"> <value name="VALUE"> <block type="variables_get" id="YSwPI31dN3g{D1EsMD,F"> <field name="VAR" id="o)lntt?nBir`R*=-$N3B">result</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="tsct@$F!SKjfIWY8qT3j"> <field name="VAR" id="4DVI-pjORp/8JYATV]sW">requestDate</field> <value name="VALUE"> <block type="get_attr" id="P%iotEGsXwDk2}89bV)@"> <value name="PATH"> <shadow type="text" id="Cg(Y?E;A$0]fWb)Vi_Cy"> <field name="TEXT">result.requestDate</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="OD@+h?J(nAU*Z:?T/@_O"> <value name="VALUE"> <block type="variables_get" id="z9c=AjIITp#E(x.~O.x-"> <field name="VAR" id="o)lntt?nBir`R*=-$N3B">result</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id=",R/]lz([@LV[Ih,zz#xo"> <field name="VAR" id="0heT0dTyt^[^avXEGOEB">forecastDate</field> <value name="VALUE"> <block type="get_attr" id="GZYCk@+e/,.s-@hh;?/4"> <value name="PATH"> <shadow type="text" id="@{Z7M;@Qr5imtdKv(sw{"> <field name="TEXT">result.forecastDate</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="%9S;*mW[*Ik[Gq;o!EQZ"> <value name="VALUE"> <block type="variables_get" id="FfsK`kSC1EGCm{=nA%;X"> <field name="VAR" id="o)lntt?nBir`R*=-$N3B">result</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id=";9~WSD,PMY}t3-x#Naky"> <field name="VAR" id="t@TFo%W?p`*sXa#G1^/(">callsLeft</field> <value name="VALUE"> <block type="get_attr" id="R^XL*Lx[AW#b9(F!*`.Z"> <value name="PATH"> <shadow type="text" id="/;M(:yoLEV9vqkVHn.6t"> <field name="TEXT">callsLeft</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="O7J$lxhk{buLK.YOX6Pd"> <value name="VALUE"> <block type="variables_get" id="0Jio2?[%~sr`#sQN+`FB"> <field name="VAR" id="o)lntt?nBir`R*=-$N3B">result</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="EY/JW/qz=V`9x4c^`$eu"> <field name="VAR" id="waMWUDuPfz/k^Z=FowGc">message</field> <value name="VALUE"> <block type="get_attr" id="hWp.!GHU]C{5G3E5i;%E"> <value name="PATH"> <shadow type="text" id="[e^82O/UKY2,x|qkPq1^"> <field name="TEXT">message</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="o.~.(LFBDlc=RS,=1QxF"> <value name="VALUE"> <block type="variables_get" id="laC9L)yM+7+u@d5=W240"> <field name="VAR" id="o)lntt?nBir`R*=-$N3B">result</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="j*a#ib/$jl:,`K2=!PXN"> <field name="VAR" id="llxyObNcVgCzK0wTpa:?">success</field> <value name="VALUE"> <block type="get_attr" id="}F(1Y`akgT_76%L;xI5@"> <value name="PATH"> <shadow type="text" id="oXK;ajoGF]Wmwhp:{eCf"> <field name="TEXT">success</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id=")M8f$^Jl5KF!?N[0II^9"> <value name="VALUE"> <block type="variables_get" id="6[j{z%[S}k-Dm]V$y^)|"> <field name="VAR" id="o)lntt?nBir`R*=-$N3B">result</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="Mi9Qi0xAQSl(qJi4lkNT"> <field name="VAR" id="^xitj]gL}lf%0y{+-/@e">code</field> <value name="VALUE"> <block type="get_attr" id="{vHY31HBh^A[L9zK,}9q"> <value name="PATH"> <shadow type="text" id="Bl$93J|Hp/Eu;V)HsrL%"> <field name="TEXT">code</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="{By9!eG8F1SQ9O_|Vet~"> <value name="VALUE"> <block type="variables_get" id="^,F#rquyFkOr/sE,+h0*"> <field name="VAR" id="o)lntt?nBir`R*=-$N3B">result</field> </block> </value> </block> </value> </block> </value> <next> <block type="update" id="t{kiDMxP!W3rbS/ZE3eP"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Wetter.IceRoad.forecastId</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="JUVyXQRDaEX,zLitsW6v"> <field name="VAR" id="NEeY,S|j#!{h2-:;?RQl">forecastId</field> </block> </value> <next> <block type="update" id="Hm4z}q#m[%+l0*gNAv(T"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Wetter.IceRoad.forecastText</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="NQ5(sC7C;Jqr[l{cf24N"> <field name="VAR" id="Z2j7X{T[0GQB[8PbWQgo">forecastText</field> </block> </value> <next> <block type="update" id="eD+k:UxojF5C@tj#~?m0"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Wetter.IceRoad.forecastCity</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="POqW1tT)rJCsp;2$KA;l"> <field name="VAR" id="c_2sg9u`Cc.3_w48SFX6">forecastCity</field> </block> </value> <next> <block type="update" id="icmYH**?.{`@dOqlm9Y?"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Wetter.IceRoad.requestDate</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="9TH.zhvUTv4-lz6mAsrs"> <field name="VAR" id="4DVI-pjORp/8JYATV]sW">requestDate</field> </block> </value> <next> <block type="update" id="W71^w+[+c44]+^lJ?W;F"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Wetter.IceRoad.forecastDate</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="8Gu%`.tHI4`JF[uS!{2("> <field name="VAR" id="0heT0dTyt^[^avXEGOEB">forecastDate</field> </block> </value> <next> <block type="update" id="v:jGMM|`osx1~{*#$Tzx"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Wetter.IceRoad.callsLeft</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="/2*apnCxH{VVjl2oEza~"> <field name="VAR" id="t@TFo%W?p`*sXa#G1^/(">callsLeft</field> </block> </value> <next> <block type="update" id="bjSrq~8i*7BF*jf-jej!"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Wetter.IceRoad.message</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="5Q|Q;|prCU:m|j8xyC^K"> <field name="VAR" id="waMWUDuPfz/k^Z=FowGc">message</field> </block> </value> <next> <block type="update" id="h6S^`1)UOpWlCV@e@O[b"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Wetter.IceRoad.success</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="eUC^qKOCkiGSr`4aHS`Z"> <field name="VAR" id="llxyObNcVgCzK0wTpa:?">success</field> </block> </value> <next> <block type="update" id="6Gnxp?yKrplO%XbHx,Tb"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Wetter.IceRoad.code</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="a+SE0?Q.K|oR$a4XLU=?"> <field name="VAR" id="^xitj]gL}lf%0y{+-/@e">code</field> </block> </value> </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> </statement> </block> </statement> </block> </xml>
-
RE: Nachrichten über Pushover verschicken
@tolkin
Naja, eine weitere Instanz hinzufügen würde ausreichen. Also ja. -
RE: Test Adapter ice Road
@bommel_030
ja, der kann mehr
forecastId - int- Vorhersage: 0 = kein Eis, 1 = Eis, 2 = evtl. Eis -
RE: iob diag - Skript
@thomas-braun
Perfektpi@ioBroker:~$ systemd-detect-virt lxc pi@ioBroker:~$
-
RE: Neuer Robonect HX Adapter
@grizzelbee
mit 1.1.0 werden die angefragten Werte vollumfänglich angezeigt. Dankeschön
Latest posts made by Quarkmax
-
RE: Test Adapter Alarm 3.6.x
@james-miller80 sagte in Test Adapter Alarm 3.6.x:
was genau ist damit gemeint
nimm nicht das PLUS sondern tippe telegram.0 (also die Instanz, welche du verwenden willst) ein und dann <Enter>
-
RE: Neuer Robonect HX Adapter
@grizzelbee
mit 1.1.0 werden die angefragten Werte vollumfänglich angezeigt. Dankeschön -
RE: Neuer Robonect HX Adapter
@Grizzelbee
Danke für die Weiterentwicklung des Adapters. Kannst Du mal bitte schauen, z.B. die VOLTAGE und TEMPERATUR der Batterie wird nur als volle Zahl angezeigt, keine Nachkommastellen mehr. Der Adapter teilt nicht mehr durch 1000 (VOLTAGE) oder 10 (TEMP). -
RE: Einfache Meldung "Bin zu Hause" (Geofence)?
Ich nutze die App EgiGeoZone Geofence und befülle über den iotAdapter einen Datenpunkt mit true/false. Unkompliziert und zuverlässig.
-
RE: Skript/Blockly verbessern
@thomas-braun
und für die Anrufer, welche nicht im Telefonbuch stehen, habe ich so gelöstIch trigger nur auf RingRing. Das Timeout braucht der Adapter, weil zwischen RingRing und Aktualisierung der Caller-DP 500ms vegehen.
-
RE: mqtt parsen
@thomas-braun
ich habe das irgendwo im Forum gefunden und es funktioniert für mich mit der zweiten Ebene.// ############## user config // where the mqtt messages arrive const mqttDatenpunktObjectId = 'mqtt.0.linktap.up_cmd.xxxxxxxxxxxxxxx'; // where the states should appear const userDataFolder = '0_userdata.0.Linktap.xxxxxxxxxxxxxx'; // ############## end user config // receive on(mqttDatenpunktObjectId, (obj) => { const jsonString = obj.state.val; const jsonData = JSON.parse(jsonString); function createObjectsRecursively(parent, data) { for (const key in data) { const obj = data[key]; const stateName = `${parent}.${key}`; if (typeof obj === 'object') { createObjectsRecursively(stateName, obj); } else { let value = obj; // Check if the state already exists. If it does, just update the value. // If it does not exist create the states. if (!existsState(stateName)) { // If the state does not exist, create it and set the value createState(stateName, value, { name: key, type: typeof value, role: "value", read: true, write: true }); log(`Created state ${stateName}`); } else { setState(stateName, value, true); } } } } createObjectsRecursively(userDataFolder, jsonData); });
Vielleicht hat @paul53 eine elegantere Lösung. Ich hoffe ja noch immer auf einen Adapter, wo man Ursprung- und ZielDatenpunkt eingibt und der erledigt alles .
-
RE: Test Adapter Awtrix-Light
@haus-automatisierung sagte in Test Adapter Awtrix-Light:
Ich kann nicht zu allem Ja sagen - sonst sieht am Ende niemand mehr durch.
Verständlich und Nachvollziehbar. Mir geht es nicht speziell um die Konfiguration in den Settings, sondern um die Möglichkeit mit Binding zu arbeiten oder das Icon als Datenpunkt zur App mit bereitzustellen.
Na, ich Hoffe einfach...
-
RE: Test Adapter Awtrix-Light
@haus-automatisierung
Danke für den Adapter, läuft 1a. In Deinem LaMetric-Adapter hat man die Möglichkeit, über ein Binding im zu benennden ICON selbiges dynamisch durch das Schreiben eines Datenpunktes mitack:true
abzubilden (z.B. Wetteradapter + Blockly). In diesem Adapter arbeitest du ja direkt mit Datenpunkten und nicht mit Binding. Ich denke das ist der Grund, weshalb das ICON nicht ansteuerbar ist. Besteht die Möglichkeit, das ICON dynamisch abzubilden, als Feature zum Adapter hinzuzufügen? -
RE: [gelöst] DWD Adapter - Code 404
@bahnuhr
dwd ist wegen des Unwetters down. Da kommen keine Abfragen mehr durch