Hallo,
hatte hier im Forum mal eine Methode gefunden, mit der man Längen-/Breitengrade in eine "Klartext"-Adresse umwandeln konnte. Dies hat auch zuverlässig funktioniert. Nun bekomme ich folgenden Fehler:
script.js.common.VIS.Auto.VWeGolfAdresseAusGPSKoordinaten: ReferenceError: request is not defined at script.js.common.VIS.Auto.VWeGolfAdresseAusGPSKoordinaten:2491:13 at new Promise (<anonymous>) at reqAsync (script.js.common.VIS.Auto.VWeGolfAdresseAusGPSKoordinaten:2481:16) at OSM_Reverse (script.js.common.VIS.Auto.VWeGolfAdresseAusGPSKoordinaten:2501:24) at script.js.common.VIS.Auto.VWeGolfAdresseAusGPSKoordinaten:2527:16 at script.js.common.VIS.Auto.VWeGolfAdresseAusGPSKoordinaten:2549:3 at Script.runInContext (node:vm:148:12) at Script.runInNewContext (node:vm:153:17) at execute (/opt/iobroker/node_modules/iobroker.javascript/main.js:1979:23) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2228:13)
Ich habe ein NPM Update durchgeführt - kann es daran liegen? Das Blockly dazu sieht so aus:
<block xmlns="https://developers.google.com/blockly/xml" type="variables_set" id="wR~~7^?!0{b~ZWJW2z2Y" x="57" y="17">
<field name="VAR" id="2]3hGy$Na|L2qX#+=;E8">lat</field>
<value name="VALUE">
<block type="convert_tonumber" id="hWzOOf8;.`B+Z9M:!wuy">
<value name="VALUE">
<block type="text_replace" id="iq$PAJMO5dQeXWkN:]f1">
<value name="FROM">
<shadow type="text" id="skgW?L6sL,jkQD*MQ^=,">
<field name="TEXT">,</field>
</shadow>
</value>
<value name="TO">
<shadow type="text" id="f|IG4zBx+b#B_Hl,BmB~">
<field name="TEXT">.</field>
</shadow>
</value>
<value name="TEXT">
<shadow type="text" id="LK6OfG42WP@L^,K!cJlO">
<field name="TEXT">text</field>
</shadow>
<block type="convert_tostring" id="O$]q.ry,tjC;).lNA.Zc">
<value name="VALUE">
<block type="get_value" id="(^S9Up?34JmWvIN[g:zP">
<field name="ATTR">val</field>
<field name="OID">alias.0.Fahrzeuge.VW_eGolf_MP96E.POSITION_BREITENGRAD</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="debug" id="Mj})kCg^fazvUa.?[@N!">
<field name="Severity">info</field>
<value name="TEXT">
<shadow type="text" id="%VvnK$gGYiUTOds]h/KE">
<field name="TEXT">test</field>
</shadow>
<block type="variables_get" id="5}*nVoDiWWaX^^e,vd,E">
<field name="VAR" id="2]3hGy$Na|L2qX#+=;E8">lat</field>
</block>
</value>
<next>
<block type="variables_set" id="|i,e7-xsVZtwL,YE9Pns">
<field name="VAR" id=".hv$JjjT(QY(0c2!/tuc">lon</field>
<value name="VALUE">
<block type="convert_tonumber" id="zdJ=q9d8[uma}!QaRdR`">
<value name="VALUE">
<block type="text_replace" id="1r;?,i(:@$$@}X:Dv,$j">
<value name="FROM">
<shadow type="text" id=",33EQg[hFkLIGnA5BkCi">
<field name="TEXT">,</field>
</shadow>
</value>
<value name="TO">
<shadow type="text" id="?JpAIBzxRE{og!G7%t6s">
<field name="TEXT">.</field>
</shadow>
</value>
<value name="TEXT">
<shadow type="text" id="LK6OfG42WP@L^,K!cJlO">
<field name="TEXT">text</field>
</shadow>
<block type="convert_tostring" id="srs+,w3bMkJO$su2JuSd">
<value name="VALUE">
<block type="get_value" id="SV4g.3=xJ~~crtmE9*=4">
<field name="ATTR">val</field>
<field name="OID">alias.0.Fahrzeuge.VW_eGolf_MP96E.POSITION_LAENGENGRAD</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="debug" id="CO,[BAbspFgPnMa37]c^">
<field name="Severity">info</field>
<value name="TEXT">
<shadow type="text" id="%VvnK$gGYiUTOds]h/KE">
<field name="TEXT">test</field>
</shadow>
<block type="variables_get" id="f*X{XjU:U3=yy5[8bVl1">
<field name="VAR" id=".hv$JjjT(QY(0c2!/tuc">lon</field>
</block>
</value>
<next>
<block type="variables_set" id="gV3k#TgOw[TwD3PggX_z">
<field name="VAR" id="J3x^9.8?y5q~@YX!.0vq">zoom</field>
<value name="VALUE">
<block type="math_number" id="RiaGr]H5DPjOiCLI$~+H">
<field name="NUM">18</field>
</block>
</value>
<next>
<block type="variables_set" id="_]-UxYH%D~}#l6DWPyqA">
<field name="VAR" id="InM51wH+hhRZ1K}Uo6R:">result</field>
<value name="VALUE">
<block type="procedures_callcustomreturn" id="E6q6k3RA-DSW4n:wbmt5" inline="true">
<mutation name="OSM_Reverse">
<arg name="lat"></arg>
<arg name="lon"></arg>
<arg name="zoom"></arg>
</mutation>
<value name="ARG0">
<block type="variables_get" id="O~3vjlaQApGabQ#KZ_Np">
<field name="VAR" id="2]3hGy$Na|L2qX#+=;E8">lat</field>
</block>
</value>
<value name="ARG1">
<block type="variables_get" id=";6In%LVgU8c~ZW=V^#!+">
<field name="VAR" id=".hv$JjjT(QY(0c2!/tuc">lon</field>
</block>
</value>
<value name="ARG2">
<block type="variables_get" id="!Lp;DYb2Cg#%7WJ[ixj:">
<field name="VAR" id="J3x^9.8?y5q~@YX!.0vq">zoom</field>
</block>
</value>
</block>
</value>
<next>
<block type="debug" id="=kG9Q3BHtv,N12i)o/cd" inline="true">
<field name="Severity">debug</field>
<value name="TEXT">
<shadow type="text" id="ik1UI0{#imdw4QxI,wuq">
<field name="TEXT">test</field>
</shadow>
<block type="variables_get" id="ZJbVSK}WTjai..N)v+^}">
<field name="VAR" id="InM51wH+hhRZ1K}Uo6R:">result</field>
</block>
</value>
<next>
<block type="variables_set" id="O{z96Lp@j3i8Slita#*W">
<field name="VAR" id=";SRb,$QZLlU?vOmiT~JX">Strasse</field>
<value name="VALUE">
<block type="text" id=".F~*Z,w04}/`Zb~EHIO6">
<field name="TEXT"></field>
</block>
</value>
<next>
<block type="variables_set" id="39@-t*shJUx-}=TcBs72">
<field name="VAR" id="~jZ,3*n[d]KZ1(ana89o">Hausnummer</field>
<value name="VALUE">
<block type="text" id="lCo5cXfY=#t]_-9??cvm">
<field name="TEXT"></field>
</block>
</value>
<next>
<block type="variables_set" id="Wa.e4=|kzt(4dQ2EsnIo">
<field name="VAR" id="Q7gDYvdg}{GBIzzh?9vc">PLZ</field>
<value name="VALUE">
<block type="text" id="0X6gVH,Zq7X)L$UxO`bK">
<field name="TEXT"></field>
</block>
</value>
<next>
<block type="variables_set" id="$a!IHGzO]*0gQ)FyRs1v">
<field name="VAR" id="v]lk,gotsm)bM3Q2w9X:">Stadt</field>
<value name="VALUE">
<block type="text" id="n6Q~K{?kb[4BO6$(X6rV">
<field name="TEXT"></field>
</block>
</value>
<next>
<block type="variables_set" id="z,*?N4M~aXp+cs$;LjM/">
<field name="VAR" id="-QG.FU1X4c1lz=sfcH?*">Ortsteil</field>
<value name="VALUE">
<block type="text" id="(-u~=9GnJ#Sr=cgq;l@*">
<field name="TEXT"></field>
</block>
</value>
<next>
<block type="variables_set" id=";l(%na=dPiyRgvjT`p7J">
<field name="VAR" id=";SRb,$QZLlU?vOmiT~JX">Strasse</field>
<value name="VALUE">
<block type="get_attr" id="4BRp8)RL(Z,ya1V7L%,k">
<value name="PATH">
<shadow type="text" id="@+Kn.LF%vkB35cm%To%G">
<field name="TEXT">address.road</field>
</shadow>
</value>
<value name="OBJECT">
<block type="variables_get" id="/rsi@S]q*[hct$N@3[U^">
<field name="VAR" id="InM51wH+hhRZ1K}Uo6R:">result</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="GF]n^bp:KR6CAP@XO@m~">
<field name="VAR" id="~jZ,3*n[d]KZ1(ana89o">Hausnummer</field>
<value name="VALUE">
<block type="get_attr" id="poO,V);aHMLGORNJUv:/">
<value name="PATH">
<shadow type="text" id="LOCBUCh^8H,AcN*N5f,)">
<field name="TEXT">address.house_number</field>
</shadow>
</value>
<value name="OBJECT">
<block type="variables_get" id="sIO)[*}W,ats$rr:v~:X">
<field name="VAR" id="InM51wH+hhRZ1K}Uo6R:">result</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="+|Z)LBF*uHLG_;s%`TMl">
<field name="VAR" id="Q7gDYvdg}{GBIzzh?9vc">PLZ</field>
<value name="VALUE">
<block type="get_attr" id="Pq^Bjecjs`n?o,y?!}!c">
<value name="PATH">
<shadow type="text" id="[6i]bv|+F1;gx@d8c.)e">
<field name="TEXT">address.postcode</field>
</shadow>
</value>
<value name="OBJECT">
<block type="variables_get" id="jEFim1`IaNOjxazQ;n8K">
<field name="VAR" id="InM51wH+hhRZ1K}Uo6R:">result</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="$L;=BwnWkcz*c:Ja,v9A">
<field name="VAR" id="v]lk,gotsm)bM3Q2w9X:">Stadt</field>
<value name="VALUE">
<block type="get_attr" id="bC`Q5Rr[PnjW}wgHvEBF">
<value name="PATH">
<shadow type="text" id="kTR_D-FK^72QX-fON74F">
<field name="TEXT">address.town</field>
</shadow>
</value>
<value name="OBJECT">
<block type="variables_get" id="1FA1W?drJ[PO[.tc~HO)">
<field name="VAR" id="InM51wH+hhRZ1K}Uo6R:">result</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="-%#I%)w((I9lwE;_)A#%">
<field name="VAR" id="-QG.FU1X4c1lz=sfcH?*">Ortsteil</field>
<value name="VALUE">
<block type="text_join" id="RpLuH!Uf-MaFF~mb6h4p">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text" id="}yk,46V7;kFJRO-Ip-O-">
<field name="TEXT">-</field>
</block>
</value>
<value name="ADD1">
<block type="get_attr" id="Jhz8iS@D@-H8jo)JVk([">
<value name="PATH">
<shadow type="text" id="iE;/).FovyaCD.wgvjTq">
<field name="TEXT">address.village</field>
</shadow>
</value>
<value name="OBJECT">
<block type="variables_get" id="OZmIZS]J_Gt347jYw7dB">
<field name="VAR" id="InM51wH+hhRZ1K}Uo6R:">result</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="update" id="k[sWzO09~=r|YgT[3,rV">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.VIS.Auto.VWeGolfAktuelleAdresse</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="text_join" id=",m%e).l|wRoGRhe[;8zz">
<mutation items="8"></mutation>
<value name="ADD0">
<block type="variables_get" id="5PrA%5d|f,*|,B|2@5gs">
<field name="VAR" id=";SRb,$QZLlU?vOmiT~JX">Strasse</field>
</block>
</value>
<value name="ADD1">
<block type="text" id="/q[J]i}y=7pbi!,x]XXg">
<field name="TEXT"> </field>
</block>
</value>
<value name="ADD2">
<block type="variables_get" id="4TMsfq5B00y%a5X66M(y">
<field name="VAR" id="~jZ,3*n[d]KZ1(ana89o">Hausnummer</field>
</block>
</value>
<value name="ADD3">
<block type="text_newline" id="FSC3E3feS]Fz!Kl(-)8h">
<field name="Type">\n</field>
</block>
</value>
<value name="ADD4">
<block type="variables_get" id="ULW5Y`|bkW*t}gR#Y1YJ">
<field name="VAR" id="Q7gDYvdg}{GBIzzh?9vc">PLZ</field>
</block>
</value>
<value name="ADD5">
<block type="text" id="t}me`s,puqFxmOti@,|^">
<field name="TEXT"> </field>
</block>
</value>
<value name="ADD6">
<block type="variables_get" id="l6XADM$`Pm6.lF,D{P{7">
<field name="VAR" id="v]lk,gotsm)bM3Q2w9X:">Stadt</field>
</block>
</value>
<value name="ADD7">
<block type="variables_get" id="*?:kFXJb-C`f@(1iT8HY">
<field name="VAR" id="-QG.FU1X4c1lz=sfcH?*">Ortsteil</field>
</block>
</value>
</block>
</value>
<next>
<block type="update" id="VUUXD?6)(@jFTD8#RGH)">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.VIS.Auto.VWeGolfAktuelleAdresseStrasse</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="text_join" id="tSVh73})0[7gg84@K8nc">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="variables_get" id="9]%z5BFP7t:.,jLDj}N)">
<field name="VAR" id=";SRb,$QZLlU?vOmiT~JX">Strasse</field>
</block>
</value>
<value name="ADD1">
<block type="text" id="*ko{:x9|_FBXwExl5M.M">
<field name="TEXT"> </field>
</block>
</value>
<value name="ADD2">
<block type="variables_get" id="va3.aM*gLU?5$*xh:{!@">
<field name="VAR" id="~jZ,3*n[d]KZ1(ana89o">Hausnummer</field>
</block>
</value>
</block>
</value>
<next>
<block type="update" id="k~(_C]sBA}gRpOnM)`ir">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.VIS.Auto.VWeGolfAktuelleAdresseOrt</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="text_join" id="Ygp#T[/r|WLC+3GaHw_J">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="variables_get" id="6;Gl%};w+YmZ!eF=#/n*">
<field name="VAR" id="Q7gDYvdg}{GBIzzh?9vc">PLZ</field>
</block>
</value>
<value name="ADD1">
<block type="text" id="*138?,sa=O9r}Nc0)K:z">
<field name="TEXT"> </field>
</block>
</value>
<value name="ADD2">
<block type="variables_get" id="A*;egBI0mMMO?Os!Z.p|">
<field name="VAR" id="v]lk,gotsm)bM3Q2w9X:">Stadt</field>
</block>
</value>
<value name="ADD3">
<block type="variables_get" id="n}hcIN-H_l47mmj0kZg}">
<field name="VAR" id="-QG.FU1X4c1lz=sfcH?*">Ortsteil</field>
</block>
</value>
</block>
</value>
<next>
<block type="update" id="$Bvh[[ajBZW)=_VK-^_,">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.VIS.Auto.VWeGolfAktuelleAdresseAktualisierungszeit</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="time_get" id=".)CEL*sN#UjZTi]hDA?P">
<mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
<field name="OPTION">custom</field>
<field name="FORMAT">TT.MM.JJJJ SS:mm:ss</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>
</next>
</block>
</next>
</block>
</next>
</block>
Die JS-Funktion, die den Fehler wohl verursacht, so:
let result;
function reqAsync() {
return new Promise(function(resolve, reject){
const options = {
url: 'https://nominatim.openstreetmap.org/reverse.php?format=json&lat=' + lat + '&lon=' + lon + '&zoom=' + zoom,
method: 'GET',
headers: {
'Accept': 'application/json',
'Accept-Charset': 'utf-8',
'User-Agent': 'iobroker script'
}
}
request(options, function(err,response,body){
if(response.statusCode != 200) {
reject();
}
resolve(JSON.parse(body));
})
})
}
try {
result = await reqAsync();
} catch(e) {
log(e);
result = e;
}
return result;