Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Adresse aus GPS Koordinaten ermitteln ?

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    350

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

Adresse aus GPS Koordinaten ermitteln ?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
87 Beiträge 12 Kommentatoren 7.0k Aufrufe 10 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D DrFirebird

    @david-g
    Funktioniert einwandfrei.
    Vielen Dank

    D Offline
    D Offline
    DrFirebird
    schrieb am zuletzt editiert von DrFirebird
    #18

    Einen kleinen schönheitsfehler habe ich noch.
    Den aktuellen Standort lasse ich mir im "Open Street Map" Widget anzeigen.
    Ändert sich nun die Koordinaten, springt der Merker im Widget nicht an die richtige Stelle.
    Aktualisiere ich dir VIS, dann bin ich an der richtgen Position.

    EDIT: Ich denke, dass ist einTiming Problem.
    Die Datenpunkte für die Koordinaten (LAT / LNG) werden nacheinander geschrieben, mit einer Millisekunde versatz.
    In dieser Millisekunde hat das Widget schon reagiert und springt zu den neuen Koordinaten, obwohl noch nicht beide
    Datenpunkte aktuallisiert wurden.

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      Micha 3
      schrieb am zuletzt editiert von
      #19

      Funktioniert ja super soweit. Danke auf jeden fall.
      Ein Problem ergibt sich aber nun doch. seit der Umstellung im JavaScript Adapter die Umstellung von httpGET bekomme ich nun folgende Fehlermeldung

      warn: script.js.common.GPS: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
      

      Wie kann ich das beheben?

      R 1 Antwort Letzte Antwort
      1
      • M Micha 3

        Funktioniert ja super soweit. Danke auf jeden fall.
        Ein Problem ergibt sich aber nun doch. seit der Umstellung im JavaScript Adapter die Umstellung von httpGET bekomme ich nun folgende Fehlermeldung

        warn: script.js.common.GPS: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
        

        Wie kann ich das beheben?

        R Offline
        R Offline
        Razer2412
        schrieb am zuletzt editiert von
        #20

        @micha-3 said in Adresse aus GPS Koordinaten ermitteln ?:

        Funktioniert ja super soweit. Danke auf jeden fall.
        Ein Problem ergibt sich aber nun doch. seit der Umstellung im JavaScript Adapter die Umstellung von httpGET bekomme ich nun folgende Fehlermeldung

        warn: script.js.common.GPS: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
        

        Wie kann ich das beheben?

        Ich würde mich ebenfalls über eine Lösung freuen - Danke!

        bahnuhrB HomoranH CodierknechtC 3 Antworten Letzte Antwort
        0
        • R Razer2412

          @micha-3 said in Adresse aus GPS Koordinaten ermitteln ?:

          Funktioniert ja super soweit. Danke auf jeden fall.
          Ein Problem ergibt sich aber nun doch. seit der Umstellung im JavaScript Adapter die Umstellung von httpGET bekomme ich nun folgende Fehlermeldung

          warn: script.js.common.GPS: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
          

          Wie kann ich das beheben?

          Ich würde mich ebenfalls über eine Lösung freuen - Danke!

          bahnuhrB Online
          bahnuhrB Online
          bahnuhr
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #21

          @razer2412
          Suche benutzen, da gibt es gefühlt 100er Beiträge.

          Stichwort wie im log: httpGet


          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
          Danke.
          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
          ScreenToGif :https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • R Razer2412

            @micha-3 said in Adresse aus GPS Koordinaten ermitteln ?:

            Funktioniert ja super soweit. Danke auf jeden fall.
            Ein Problem ergibt sich aber nun doch. seit der Umstellung im JavaScript Adapter die Umstellung von httpGET bekomme ich nun folgende Fehlermeldung

            warn: script.js.common.GPS: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
            

            Wie kann ich das beheben?

            Ich würde mich ebenfalls über eine Lösung freuen - Danke!

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #22

            @razer2412 sagte in Adresse aus GPS Koordinaten ermitteln ?:

            Ich würde mich ebenfalls über eine Lösung freuen - Danke!

            und die helfenden würden sich über dein Skript freuen.
            Oder eine stärkere Glaskugel

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            0
            • R Razer2412

              @micha-3 said in Adresse aus GPS Koordinaten ermitteln ?:

              Funktioniert ja super soweit. Danke auf jeden fall.
              Ein Problem ergibt sich aber nun doch. seit der Umstellung im JavaScript Adapter die Umstellung von httpGET bekomme ich nun folgende Fehlermeldung

              warn: script.js.common.GPS: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
              

              Wie kann ich das beheben?

              Ich würde mich ebenfalls über eine Lösung freuen - Danke!

              CodierknechtC Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von
              #23

              @razer2412

              Da wurde hier schon X mal besprochen.

              Falls die Forensuche zu viel Aufwand bedeutet: Ich habe da mal was vorbereitet ...
              https://forum.iobroker.net/search?term=request httpget&in=titlesposts&matchWords=all&sortBy=timestamp&sortDirection=desc&showAs=posts

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              M 1 Antwort Letzte Antwort
              1
              • CodierknechtC Codierknecht

                @razer2412

                Da wurde hier schon X mal besprochen.

                Falls die Forensuche zu viel Aufwand bedeutet: Ich habe da mal was vorbereitet ...
                https://forum.iobroker.net/search?term=request httpget&in=titlesposts&matchWords=all&sortBy=timestamp&sortDirection=desc&showAs=posts

                M Offline
                M Offline
                Micha 3
                schrieb am zuletzt editiert von Micha 3
                #24

                Geht trotzdem nicht.

                Beim ersten

                	2025-09-13 19:19:24.405	warn	script.js.common.GPS: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
                

                Wenn wir schon dabei sind, beim Warmwasser sogar die Meldung.

                	2025-09-13 19:16:21.923	error	script.js.Zentrale.Warmwassersteuerung: httpGet(url=http://192.168.178.136/cm?cmnd=counter1%200, error=timeout of 1500ms exceeded)
                

                das blockly-skript

                <xml xmlns="https://developers.google.com/blockly/xml">
                  <variables>
                    <variable type="timeout" id="timeout">timeout</variable>
                    <variable id="t{9+flX*7=dsZdJ6pUDs">Position</variable>
                    <variable id="InM51wH+hhRZ1K}Uo6R:">result</variable>
                  </variables>
                  <block type="http_get" id="m-)iMJC?nyP-2Z{jK*{S" x="338" y="502">
                    <field name="TIMEOUT">2000</field>
                    <field name="UNIT">ms</field>
                    <field name="TYPE">arraybuffer</field>
                    <value name="URL">
                      <shadow type="text" id="mtY5?0cuLz,.0t!EWqIB">
                        <field name="TEXT">http://</field>
                      </shadow>
                      <block type="text_join" id="%AIgcwHNe/@sw*U01y$j">
                        <mutation items="2"></mutation>
                        <value name="ADD0">
                          <block type="text" id="w`-_6V`Q}otb@4S:2plf">
                            <field name="TEXT">https://dataservice.accuweather.com/locations/v1/cities/geoposition/search?apikey=xxxxxxxxxxxxx=</field>
                          </block>
                        </value>
                        <value name="ADD1">
                          <block type="get_value" id="SKOaXNue28T!,3USSm[}">
                            <field name="ATTR">val</field>
                            <field name="OID">0_userdata.0.GPS.accuweather_GPS</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="STATEMENT">
                      <block type="variables_set" id="B.8O%)EDl50Pxp@#{+%.">
                        <field name="VAR" id="t{9+flX*7=dsZdJ6pUDs">Position</field>
                        <value name="VALUE">
                          <block type="text_getSubstring" id="owiE8!SuQ*Q%@^B#G8=2">
                            <mutation at1="true" at2="true"></mutation>
                            <field name="WHERE1">FROM_START</field>
                            <field name="WHERE2">FROM_START</field>
                            <value name="STRING">
                              <block type="variables_get" id="e4z]G)3d#LQfW2QN0ZM!">
                                <field name="VAR" id="InM51wH+hhRZ1K}Uo6R:">result</field>
                              </block>
                            </value>
                            <value name="AT1">
                              <block type="math_number" id="/`f+By;MjuAQu~YW(O(4">
                                <field name="NUM">21</field>
                              </block>
                            </value>
                            <value name="AT2">
                              <block type="math_number" id="6!?5#)73q+T{zE_B].7O">
                                <field name="NUM">27</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <next>
                          <block type="update" id="{b$:l~qpE|8N{)e*U6~I">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                            <field name="OID">0_userdata.0.GPS.accuweather_Position</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="convert_tonumber" id="QWY0%hWvBuBR#=3oK=L*">
                                <value name="VALUE">
                                  <block type="variables_get" id="AMy:l(Q?52+HV;3@1K@N">
                                    <field name="VAR" id="t{9+flX*7=dsZdJ6pUDs">Position</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                          </block>
                        </next>
                      </block>
                    </statement>
                  </block>
                  <block type="on" id="Oa.K#_8v*gk[2_8:{/hf" x="338" y="738">
                    <field name="OID">hm-rpc.2.00021BE99E2EFA.3.STATE</field>
                    <field name="CONDITION">false</field>
                    <field name="ACK_CONDITION"></field>
                    <statement name="STATEMENT">
                      <block type="timeouts_settimeout" id="OVb_d2mk9).9s77}ZxLm">
                        <field name="NAME">timeout</field>
                        <field name="DELAY">2000</field>
                        <field name="UNIT">ms</field>
                        <statement name="STATEMENT">
                          <block type="http_get" id="n$[MBQ:|r$H4L_Fm0-9u">
                            <field name="TIMEOUT">1500</field>
                            <field name="UNIT">ms</field>
                            <field name="TYPE">arraybuffer</field>
                            <value name="URL">
                              <shadow type="text" id="jy.JTwBxm9C)KyeVI`--">
                                <field name="TEXT">http://192.168.178.136/cm?cmnd=counter1%200</field>
                              </shadow>
                            </value>
                          </block>
                        </statement>
                      </block>
                    </statement>
                  </block>
                </xml>
                
                HomoranH 1 Antwort Letzte Antwort
                0
                • M Micha 3

                  Geht trotzdem nicht.

                  Beim ersten

                  	2025-09-13 19:19:24.405	warn	script.js.common.GPS: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
                  

                  Wenn wir schon dabei sind, beim Warmwasser sogar die Meldung.

                  	2025-09-13 19:16:21.923	error	script.js.Zentrale.Warmwassersteuerung: httpGet(url=http://192.168.178.136/cm?cmnd=counter1%200, error=timeout of 1500ms exceeded)
                  

                  das blockly-skript

                  <xml xmlns="https://developers.google.com/blockly/xml">
                    <variables>
                      <variable type="timeout" id="timeout">timeout</variable>
                      <variable id="t{9+flX*7=dsZdJ6pUDs">Position</variable>
                      <variable id="InM51wH+hhRZ1K}Uo6R:">result</variable>
                    </variables>
                    <block type="http_get" id="m-)iMJC?nyP-2Z{jK*{S" x="338" y="502">
                      <field name="TIMEOUT">2000</field>
                      <field name="UNIT">ms</field>
                      <field name="TYPE">arraybuffer</field>
                      <value name="URL">
                        <shadow type="text" id="mtY5?0cuLz,.0t!EWqIB">
                          <field name="TEXT">http://</field>
                        </shadow>
                        <block type="text_join" id="%AIgcwHNe/@sw*U01y$j">
                          <mutation items="2"></mutation>
                          <value name="ADD0">
                            <block type="text" id="w`-_6V`Q}otb@4S:2plf">
                              <field name="TEXT">https://dataservice.accuweather.com/locations/v1/cities/geoposition/search?apikey=xxxxxxxxxxxxx=</field>
                            </block>
                          </value>
                          <value name="ADD1">
                            <block type="get_value" id="SKOaXNue28T!,3USSm[}">
                              <field name="ATTR">val</field>
                              <field name="OID">0_userdata.0.GPS.accuweather_GPS</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="STATEMENT">
                        <block type="variables_set" id="B.8O%)EDl50Pxp@#{+%.">
                          <field name="VAR" id="t{9+flX*7=dsZdJ6pUDs">Position</field>
                          <value name="VALUE">
                            <block type="text_getSubstring" id="owiE8!SuQ*Q%@^B#G8=2">
                              <mutation at1="true" at2="true"></mutation>
                              <field name="WHERE1">FROM_START</field>
                              <field name="WHERE2">FROM_START</field>
                              <value name="STRING">
                                <block type="variables_get" id="e4z]G)3d#LQfW2QN0ZM!">
                                  <field name="VAR" id="InM51wH+hhRZ1K}Uo6R:">result</field>
                                </block>
                              </value>
                              <value name="AT1">
                                <block type="math_number" id="/`f+By;MjuAQu~YW(O(4">
                                  <field name="NUM">21</field>
                                </block>
                              </value>
                              <value name="AT2">
                                <block type="math_number" id="6!?5#)73q+T{zE_B].7O">
                                  <field name="NUM">27</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <next>
                            <block type="update" id="{b$:l~qpE|8N{)e*U6~I">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                              <field name="OID">0_userdata.0.GPS.accuweather_Position</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="convert_tonumber" id="QWY0%hWvBuBR#=3oK=L*">
                                  <value name="VALUE">
                                    <block type="variables_get" id="AMy:l(Q?52+HV;3@1K@N">
                                      <field name="VAR" id="t{9+flX*7=dsZdJ6pUDs">Position</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                    <block type="on" id="Oa.K#_8v*gk[2_8:{/hf" x="338" y="738">
                      <field name="OID">hm-rpc.2.00021BE99E2EFA.3.STATE</field>
                      <field name="CONDITION">false</field>
                      <field name="ACK_CONDITION"></field>
                      <statement name="STATEMENT">
                        <block type="timeouts_settimeout" id="OVb_d2mk9).9s77}ZxLm">
                          <field name="NAME">timeout</field>
                          <field name="DELAY">2000</field>
                          <field name="UNIT">ms</field>
                          <statement name="STATEMENT">
                            <block type="http_get" id="n$[MBQ:|r$H4L_Fm0-9u">
                              <field name="TIMEOUT">1500</field>
                              <field name="UNIT">ms</field>
                              <field name="TYPE">arraybuffer</field>
                              <value name="URL">
                                <shadow type="text" id="jy.JTwBxm9C)KyeVI`--">
                                  <field name="TEXT">http://192.168.178.136/cm?cmnd=counter1%200</field>
                                </shadow>
                              </value>
                            </block>
                          </statement>
                        </block>
                      </statement>
                    </block>
                  </xml>
                  
                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #25

                  @micha-3 bitte das Blockly zeigen!
                  https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1

                  @micha-3 sagte in Adresse aus GPS Koordinaten ermitteln ?:

                  <variable id="InM51wH+hhRZ1K}Uo6R:">result</variable>
                  

                  und

                  @micha-3 sagte in Adresse aus GPS Koordinaten ermitteln ?:

                  TYPE">arraybuffer

                  sieht für mich nicht korrekt aus

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    Micha 3
                    schrieb am zuletzt editiert von Micha 3
                    #26

                    Geht mit "text" aber auch nicht.

                    EDIT/ Jetzt hab ich den Fehler. Aber wie beheb ich das? ich kann kein JS, das ist alles nur zusammen kopiert.

                    var request =require('request');
                    let result;
                    const options = {
                        url: 'https://nominatim.openstreetmap.org/reverse.php?format=json&lat=' + lat + '&lon=' + lon + '&zoom=18',
                        method: 'GET',
                        headers: {
                            'Accept': 'application/json',
                            'Accept-Charset': 'utf-8',
                            'User-Agent': 'iobroker script'
                        }
                    }
                    
                    request(options, function(err,response,body){
                        result = JSON.parse(body);
                    })
                    await wait(1000);
                    return result;
                    
                    1 Antwort Letzte Antwort
                    0
                    • bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von bahnuhr
                      #27

                      Hab das ganze mal schnell mit "httpget" umgesetzt, anbei:

                          var lat = "51.4";
                          var lon = "9.5";
                      httpGet('https://nominatim.openstreetmap.org/reverse.php?format=json&lat=' + lat + '&lon=' + lon + '&zoom=18', { timeout: 1000 }, (error, response) => {
                          if (!error) {
                              //console.log(response.statusCode);
                              //console.log(response.data);
                              var result = JSON.parse(response.data);
                              //log (result.display_name);        
                              log (result.address.road + " " + result.address.house_number); 
                              log (result.address.postcode + " " + result.address.municipality); 
                          } else {
                              console.error(error);
                          }
                      });
                      

                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      M 1 Antwort Letzte Antwort
                      0
                      • R Offline
                        R Offline
                        Razer2412
                        schrieb am zuletzt editiert von
                        #28

                        Hallo zusammen,

                        vielen Dank für die schnellen Rückmeldungen.

                        @Homoran Ich habe das Script von @David-G verwendet.

                        @bahnuhr und @Codierknecht
                        natürlich habe ich versucht das ganze mithilfe der Suche und anderen Hilfsmitteln (ChatGPT) selbst zu lösen. Leider ohne Erfolg.

                        Mein bisheriges Script:

                        var lat, lon, result, hausnummer, strasse, plz, ort, ort2, kreis, bundesland, land, stadt, stadtteil;
                        
                        // Beschreibe diese Funktion …
                        async function OSM(lat, lon) {
                            var request =require('request');
                            let result;
                            const options = {
                               url: 'https://nominatim.openstreetmap.org/reverse.php?format=json&lat=' + lat + '&lon=' + lon + '&zoom=18',
                               method: 'GET',
                               headers: {
                                   'Accept': 'application/json',
                                   'Accept-Charset': 'utf-8',
                                   'User-Agent': 'iobroker script'
                               }
                            }
                             
                            request(options, function(err,response,body){
                               result = JSON.parse(body);
                            })
                            await wait(1000);
                            return result;
                        }
                        
                        
                        schedule("* * * * *", async () => {
                          lat = getState('vw-connect.0.xyz.parkingposition.lat').val;
                          lon = getState('vw-connect.0.xyz.parkingposition.lon').val;
                          result = await OSM(lat, lon);
                          hausnummer = '';
                          strasse = '';
                          plz = '';
                          ort = '';
                          ort2 = '';
                          kreis = '';
                          bundesland = '';
                          land = '';
                          hausnummer = getAttr(result, 'address.house_number');
                          strasse = getAttr(result, 'address.road');
                          plz = getAttr(result, 'address.postcode');
                          stadt = getAttr(result, 'address.town');
                          stadtteil = getAttr(result, 'address.village');
                          kreis = getAttr(result, 'address.county');
                          bundesland = getAttr(result, 'address.state');
                          land = getAttr(result, 'address.country');
                          setState('0_userdata.0.Helfer.Position_Auto' /* Position Auto */, ([strasse ? strasse : null,hausnummer ? [' ',hausnummer,''].join('') : null,strasse ? ', ' : null,plz ? String(plz) + ' ' : null,stadt ? String(stadt) + '' : null,stadtteil ? [' (',stadtteil,')'].join('') : null,kreis ? ', ' + String(kreis) : null,bundesland ? ', ' + String(bundesland) : null,land ? ', ' + String(land) : null,!land ? 'Keine Adressen verfügbar.' : null].join('')), true);
                        });
                        
                        

                        Über weitere Tipps/Hilfe würde ich mich sehr freuen!

                        bahnuhrB CodierknechtC 2 Antworten Letzte Antwort
                        0
                        • R Razer2412

                          Hallo zusammen,

                          vielen Dank für die schnellen Rückmeldungen.

                          @Homoran Ich habe das Script von @David-G verwendet.

                          @bahnuhr und @Codierknecht
                          natürlich habe ich versucht das ganze mithilfe der Suche und anderen Hilfsmitteln (ChatGPT) selbst zu lösen. Leider ohne Erfolg.

                          Mein bisheriges Script:

                          var lat, lon, result, hausnummer, strasse, plz, ort, ort2, kreis, bundesland, land, stadt, stadtteil;
                          
                          // Beschreibe diese Funktion …
                          async function OSM(lat, lon) {
                              var request =require('request');
                              let result;
                              const options = {
                                 url: 'https://nominatim.openstreetmap.org/reverse.php?format=json&lat=' + lat + '&lon=' + lon + '&zoom=18',
                                 method: 'GET',
                                 headers: {
                                     'Accept': 'application/json',
                                     'Accept-Charset': 'utf-8',
                                     'User-Agent': 'iobroker script'
                                 }
                              }
                               
                              request(options, function(err,response,body){
                                 result = JSON.parse(body);
                              })
                              await wait(1000);
                              return result;
                          }
                          
                          
                          schedule("* * * * *", async () => {
                            lat = getState('vw-connect.0.xyz.parkingposition.lat').val;
                            lon = getState('vw-connect.0.xyz.parkingposition.lon').val;
                            result = await OSM(lat, lon);
                            hausnummer = '';
                            strasse = '';
                            plz = '';
                            ort = '';
                            ort2 = '';
                            kreis = '';
                            bundesland = '';
                            land = '';
                            hausnummer = getAttr(result, 'address.house_number');
                            strasse = getAttr(result, 'address.road');
                            plz = getAttr(result, 'address.postcode');
                            stadt = getAttr(result, 'address.town');
                            stadtteil = getAttr(result, 'address.village');
                            kreis = getAttr(result, 'address.county');
                            bundesland = getAttr(result, 'address.state');
                            land = getAttr(result, 'address.country');
                            setState('0_userdata.0.Helfer.Position_Auto' /* Position Auto */, ([strasse ? strasse : null,hausnummer ? [' ',hausnummer,''].join('') : null,strasse ? ', ' : null,plz ? String(plz) + ' ' : null,stadt ? String(stadt) + '' : null,stadtteil ? [' (',stadtteil,')'].join('') : null,kreis ? ', ' + String(kreis) : null,bundesland ? ', ' + String(bundesland) : null,land ? ', ' + String(land) : null,!land ? 'Keine Adressen verfügbar.' : null].join('')), true);
                          });
                          
                          

                          Über weitere Tipps/Hilfe würde ich mich sehr freuen!

                          bahnuhrB Online
                          bahnuhrB Online
                          bahnuhr
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #29

                          @razer2412
                          Warum nimmst du nicht das Script was ich 1 Beitrag vor deinem gesendet habe ?
                          Funktioniert einwandfrei.
                          Und benutzt httpget.

                          Komisch.
                          Warum stell ich hier was ein ?


                          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                          Danke.
                          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                          ScreenToGif :https://www.screentogif.com/downloads.html

                          1 Antwort Letzte Antwort
                          0
                          • R Razer2412

                            Hallo zusammen,

                            vielen Dank für die schnellen Rückmeldungen.

                            @Homoran Ich habe das Script von @David-G verwendet.

                            @bahnuhr und @Codierknecht
                            natürlich habe ich versucht das ganze mithilfe der Suche und anderen Hilfsmitteln (ChatGPT) selbst zu lösen. Leider ohne Erfolg.

                            Mein bisheriges Script:

                            var lat, lon, result, hausnummer, strasse, plz, ort, ort2, kreis, bundesland, land, stadt, stadtteil;
                            
                            // Beschreibe diese Funktion …
                            async function OSM(lat, lon) {
                                var request =require('request');
                                let result;
                                const options = {
                                   url: 'https://nominatim.openstreetmap.org/reverse.php?format=json&lat=' + lat + '&lon=' + lon + '&zoom=18',
                                   method: 'GET',
                                   headers: {
                                       'Accept': 'application/json',
                                       'Accept-Charset': 'utf-8',
                                       'User-Agent': 'iobroker script'
                                   }
                                }
                                 
                                request(options, function(err,response,body){
                                   result = JSON.parse(body);
                                })
                                await wait(1000);
                                return result;
                            }
                            
                            
                            schedule("* * * * *", async () => {
                              lat = getState('vw-connect.0.xyz.parkingposition.lat').val;
                              lon = getState('vw-connect.0.xyz.parkingposition.lon').val;
                              result = await OSM(lat, lon);
                              hausnummer = '';
                              strasse = '';
                              plz = '';
                              ort = '';
                              ort2 = '';
                              kreis = '';
                              bundesland = '';
                              land = '';
                              hausnummer = getAttr(result, 'address.house_number');
                              strasse = getAttr(result, 'address.road');
                              plz = getAttr(result, 'address.postcode');
                              stadt = getAttr(result, 'address.town');
                              stadtteil = getAttr(result, 'address.village');
                              kreis = getAttr(result, 'address.county');
                              bundesland = getAttr(result, 'address.state');
                              land = getAttr(result, 'address.country');
                              setState('0_userdata.0.Helfer.Position_Auto' /* Position Auto */, ([strasse ? strasse : null,hausnummer ? [' ',hausnummer,''].join('') : null,strasse ? ', ' : null,plz ? String(plz) + ' ' : null,stadt ? String(stadt) + '' : null,stadtteil ? [' (',stadtteil,')'].join('') : null,kreis ? ', ' + String(kreis) : null,bundesland ? ', ' + String(bundesland) : null,land ? ', ' + String(land) : null,!land ? 'Keine Adressen verfügbar.' : null].join('')), true);
                            });
                            
                            

                            Über weitere Tipps/Hilfe würde ich mich sehr freuen!

                            CodierknechtC Offline
                            CodierknechtC Offline
                            Codierknecht
                            Developer Most Active
                            schrieb am zuletzt editiert von
                            #30

                            @razer2412

                            Ich hätte da auch noch 'ne Variante.
                            Benötigt allerdings einen (kostenlosen) API-Key:

                            async function getAddress(latitude, longitude) {
                                const url = `https://geocode.maps.co/reverse?lat=${latitude}&lon=${longitude}&api_key=${key}`;
                                httpGet(url, {timeout: 20000}, function(err, response) {
                                    if (err) {
                                        console.log(err);
                                    } else if (response.statusCode == 200) {
                                        return response.data.display_name;
                                    };
                                });
                            }
                            

                            Im Übrigen finde ich das bisherige Script reichlich spooky.
                            Warum wird da jede Minute die Position bestimmt, wenn das Auto geparkt ist?
                            Die wird sich wohl kaum verändern. Es sei denn, jemand schraubt am Raum-Zeit-Kontinuum.
                            Das Auto wird doch mit ziemlicher Sicherheit den Status (fährt, steht, geparkt, lädt) übermitteln. Dann muss man die Position doch nur bei Statusänderungen ermitteln.

                            @bahnuhr Ist doch viel einfacher, wenn einem jemand das mundgerecht zurechtlegt :grinning:

                            Ne, im Ernst:
                            @Razer2412 Wir leisten hier "Hilfe zur Selbsthilfe". Da Eine oder Andere muss man sich dann schon noch selbst zurechfummeln. Das übt :grin:

                            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                            HmIP|ZigBee|Tasmota|Unifi
                            Zabbix Certified Specialist
                            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                            1 Antwort Letzte Antwort
                            1
                            • bahnuhrB bahnuhr

                              Hab das ganze mal schnell mit "httpget" umgesetzt, anbei:

                                  var lat = "51.4";
                                  var lon = "9.5";
                              httpGet('https://nominatim.openstreetmap.org/reverse.php?format=json&lat=' + lat + '&lon=' + lon + '&zoom=18', { timeout: 1000 }, (error, response) => {
                                  if (!error) {
                                      //console.log(response.statusCode);
                                      //console.log(response.data);
                                      var result = JSON.parse(response.data);
                                      //log (result.display_name);        
                                      log (result.address.road + " " + result.address.house_number); 
                                      log (result.address.postcode + " " + result.address.municipality); 
                                  } else {
                                      console.error(error);
                                  }
                              });
                              
                              M Offline
                              M Offline
                              Micha 3
                              schrieb am zuletzt editiert von
                              #31

                              @bahnuhr sagte in Adresse aus GPS Koordinaten ermitteln ?:

                                                                                                                                                              var lat = "51.4";                                                                                                                                                                                var lon = "9.5";                                                                                                                                                                            httpGet('https://nominatim.openstreetmap.org/reverse.php?format=json&lat=' + lat + '&lon=' + lon + '&zoom=18', { timeout: 1000 }, (error, response) => {                                                                                                                                                                                if (!error) {                                                                                                                                                                                    //console.log(response.statusCode);                                                                                                                                                                                    //console.log(response.data);                                                                                                                                                                                    var result = JSON.parse(response.data);                                                                                                                                                                                    //log (result.display_name);                                                                                                                                                                                            log (result.address.road + " " + result.address.house_number);                                                                                                                                                                                     log (result.address.postcode + " " + result.address.municipality);                                                                                                                                                                                 } else {                                                                                                                                                                                    console.error(error);                                                                                                                                                                                }                                                                                                                                                                            });                                            
                              

                              Dankeschön. aber nun kommt wieder was neues. Ich kann es nicht speichern.

                              bahnuhrB 1 Antwort Letzte Antwort
                              0
                              • M Micha 3

                                @bahnuhr sagte in Adresse aus GPS Koordinaten ermitteln ?:

                                                                                                                                                                var lat = "51.4";                                                                                                                                                                                var lon = "9.5";                                                                                                                                                                            httpGet('https://nominatim.openstreetmap.org/reverse.php?format=json&lat=' + lat + '&lon=' + lon + '&zoom=18', { timeout: 1000 }, (error, response) => {                                                                                                                                                                                if (!error) {                                                                                                                                                                                    //console.log(response.statusCode);                                                                                                                                                                                    //console.log(response.data);                                                                                                                                                                                    var result = JSON.parse(response.data);                                                                                                                                                                                    //log (result.display_name);                                                                                                                                                                                            log (result.address.road + " " + result.address.house_number);                                                                                                                                                                                     log (result.address.postcode + " " + result.address.municipality);                                                                                                                                                                                 } else {                                                                                                                                                                                    console.error(error);                                                                                                                                                                                }                                                                                                                                                                            });                                            
                                

                                Dankeschön. aber nun kommt wieder was neues. Ich kann es nicht speichern.

                                bahnuhrB Online
                                bahnuhrB Online
                                bahnuhr
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #32

                                @micha-3 sagte in Adresse aus GPS Koordinaten ermitteln ?:

                                Ich kann es nicht speichern.

                                ???


                                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                Danke.
                                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                ScreenToGif :https://www.screentogif.com/downloads.html

                                1 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  Micha 3
                                  schrieb am zuletzt editiert von Micha 3
                                  #33
                                  <block xmlns="https://developers.google.com/blockly/xml" type="procedures_defcustomreturn" id="?;wMWdJ!vB8:m#;$39f@" x="-537" y="213">
                                    <mutation statements="false">
                                      <arg name="lat" varid="QN!T6w6a-/l=eT]qb^[m"></arg>
                                      <arg name="lon" varid=";AX~{zgT$/kdtN6_QqtB"></arg>
                                    </mutation>
                                    <field name="NAME">OSM</field>
                                    <field name="SCRIPT">dmFyIHJlcXVlc3QgPXJlcXVpcmUoJ3JlcXVlc3QnKTsNCmxldCByZXN1bHQ7DQpjb25zdCBvcHRpb25zID0gew0KICAgIHVybDogJ2h0dHBzOi8vbm9taW5hdGltLm9wZW5zdHJlZXRtYXAub3JnL3JldmVyc2UucGhwP2Zvcm1hdD1qc29uJmxhdD0nICsgbGF0ICsgJyZsb249JyArIGxvbiArICcmem9vbT0xOCcsDQogICAgbWV0aG9kOiAnR0VUJywNCiAgICBoZWFkZXJzOiB7DQogICAgICAgICdBY2NlcHQnOiAnYXBwbGljYXRpb24vanNvbicsDQogICAgICAgICdBY2NlcHQtQ2hhcnNldCc6ICd1dGYtOCcsDQogICAgICAgICdVc2VyLUFnZW50JzogJ2lvYnJva2VyIHNjcmlwdCcNCiAgICB9DQp9DQoNCnJlcXVlc3Qob3B0aW9ucywgZnVuY3Rpb24oZXJyLHJlc3BvbnNlLGJvZHkpew0KICAgIHJlc3VsdCA9IEpTT04ucGFyc2UoYm9keSk7DQp9KQ0KYXdhaXQgd2FpdCgxMDAwKTsNCnJldHVybiByZXN1bHQ7</field>
                                    <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                  </block>
                                  

                                  Ich bin echt zu doof. darin kommt das JS und das kann ich nicht speichern.

                                  1 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    Micha 3
                                    schrieb am zuletzt editiert von
                                    #34

                                    das JS was drin ist falls ich es nicht gepostet habe.

                                    var request =require('request');
                                    let result;
                                    const options = {
                                        url: 'https://nominatim.openstreetmap.org/reverse.php?format=json&lat=' + lat + '&lon=' + lon + '&zoom=18',
                                        method: 'GET',
                                        headers: {
                                            'Accept': 'application/json',
                                            'Accept-Charset': 'utf-8',
                                            'User-Agent': 'iobroker script'
                                        }
                                    }
                                    
                                    request(options, function(err,response,body){
                                        result = JSON.parse(body);
                                    })
                                    await wait(1000);
                                    return result;
                                    
                                    bahnuhrB 1 Antwort Letzte Antwort
                                    0
                                    • M Micha 3

                                      das JS was drin ist falls ich es nicht gepostet habe.

                                      var request =require('request');
                                      let result;
                                      const options = {
                                          url: 'https://nominatim.openstreetmap.org/reverse.php?format=json&lat=' + lat + '&lon=' + lon + '&zoom=18',
                                          method: 'GET',
                                          headers: {
                                              'Accept': 'application/json',
                                              'Accept-Charset': 'utf-8',
                                              'User-Agent': 'iobroker script'
                                          }
                                      }
                                      
                                      request(options, function(err,response,body){
                                          result = JSON.parse(body);
                                      })
                                      await wait(1000);
                                      return result;
                                      
                                      bahnuhrB Online
                                      bahnuhrB Online
                                      bahnuhr
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #35

                                      @micha-3

                                      Was machst du da ???

                                      Versuchst du ein JS in ein blockly rein zu tun ?

                                      Speichere das JS in ein JS; und nicht in ein blockly.


                                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                      Danke.
                                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                      ScreenToGif :https://www.screentogif.com/downloads.html

                                      1 Antwort Letzte Antwort
                                      0
                                      • M Offline
                                        M Offline
                                        Micha 3
                                        schrieb am zuletzt editiert von
                                        #36

                                        ich sag doch, ich kann das nicht. ich hab mir das von oben kopiert und es lief ja auch. nun hab ich die Fehlermeldung und festgestellt, es das JS in der Funktion. aber wie und was das alles macht weiß ich nicht.

                                        1 Antwort Letzte Antwort
                                        0
                                        • R Offline
                                          R Offline
                                          Razer2412
                                          schrieb am zuletzt editiert von
                                          #37

                                          @bahnuhr
                                          Danke für dein Skript! Leider habe ich das gleiche Problem welches auch @Micha-3 versucht zu erklären: Das Skript lässt sich im Javaskript Editor nicht speichern und damit auch nicht nutzen.

                                          @Codierknecht vielen Dank auch für deine Hilfe!
                                          Bitte beachte die Abfrage jede Minute nicht - die dient nur zu testzwecken.
                                          Das fertige Skript funktioniert dann wie das ursprüngliche Skript bei jeder Statusänderung. :)

                                          Ich habe schon weit über 30 Skripte (Blockly) zur Hausautomatisierung gebastelt, welche teilweise auch wirklich umfangreich sind. Sehr vieles habe ich über try and error herausgefunden.
                                          Auch hier habe ich Stunden selbst versucht ein lauffähiges Skript zu erhalten, bevor ich hier unnötig nachfrage!

                                          Ich möchte mich dafür entschuldigen, wenn meine Eigenleistung nicht den Erwartungen gerecht wird.

                                          bahnuhrB 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          677

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe