{"id":6268,"date":"2024-01-26T18:47:55","date_gmt":"2024-01-26T18:47:55","guid":{"rendered":"https:\/\/csiag.eu\/?p=6268"},"modified":"2025-03-10T11:01:22","modified_gmt":"2025-03-10T11:01:22","slug":"nustatyti-smarthome-gps-duomenis","status":"publish","type":"post","link":"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/","title":{"rendered":"\"SmartHome\" - GPS duomen\u0173 nustatymas"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Inhaltsverzeichnis<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/#Grundlagen\" >Grundlagen<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/#Provider_SMS-Einstellungen\" >Provider SMS-Einstellungen<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/#Setup_%E2%80%93_Teltonika_Router\" >Setup &#8211; Teltonika Router<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/#Services_%E2%80%93_Mobile_Utilities_%E2%80%93_SMS_Gateway\" >Services &#8211; Mobile Utilities &#8211; SMS Gateway<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/#Services_%E2%80%93_InputOutput_%E2%80%93_PostGet\" >Services &#8211; Input\/Output &#8211; Post\/Get<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/#Setup_%E2%80%93_RaspberryMatic\" >Setup &#8211; RaspberryMatic<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/#CUx-Daemon_installieren\" >CUx-Daemon installieren<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/#CUx-Daemon_%E2%80%93_Gerat_erstellen\" >CUx-Daemon &#8211; Ger\u00e4t erstellen<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/#Skripte\" >Skripte<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/#SMS_zur_GPS-Datenausgabe_senden\" >SMS zur GPS-Datenausgabe senden<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/#SMS_Liste_ausgeben\" >SMS Liste ausgeben<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/#Programm_W_Daten_OWM\" >Programm W_Daten_OWM<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/#Zusammensetzen_der_URL\" >Zusammensetzen der URL<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Lesedauer<\/span> <span class=\"rt-time\"> 4<\/span> <span class=\"rt-label rt-postfix\">Minuten<\/span><\/span>\n<p>Wer GPS-Daten mittels SmartHome ermitteln m\u00f6chte, um z.B. die lokalen Wetterdaten abzufragen, kann dies mit einem Teltonika Router RUTX50 ohne zus\u00e4tzliche Hard- oder Software mit Homematic \/ RaspberryMatic realisieren.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Grundlagen\"><\/span>Grundlagen<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Die Teltonika-Router RUTX.. erm\u00f6glichen das Senden und Empfangen von SMS \u00fcber die aktivierte SIM-Karte. Ebenso das Senden von Positionsdaten als Antwort auf eine SMS mit dem Inhalt &#8222;<kbd>Passwort gps<\/kbd>&#8222;.<\/p>\n\n\n\n<p>Per HTTP-Request kann Einblick in die SMS Eingangsliste und SMS Inhalte genommen werden. Aus der, auf den SMS-Request per SMS hin, empfangenen SMS lassen sich die aktuellen L\u00e4ngen- und Breiten-Angaben auslesen.<\/p>\n\n\n\n<p>Diese k\u00f6nnen nun via Script innerhalb der SmarttHome-Automation mittels HomeMatic oder RaspberryMatic weiter verarbeiten. So lassen sich auf Reisen die stetig wechselnden Geo-Daten f\u00fcr eine laufend auf den aktuellen Standort bezogene, aktualisierte Wetterabfrage, z.B. \u00fcber den kostenfreien Service von <a href=\"https:\/\/openweathermap.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">openweathermap.org<\/a> nutzen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Provider_SMS-Einstellungen\"><\/span>Provider SMS-Einstellungen<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Je nach Provider muss ggf. noch die im Router eingesetzte SIM-Karte f\u00fcr SMS freigeschaltet werden. Dies geschieht i.d.R. in den zugeh\u00f6rigen Einstellungen nach Einloggen auf der Provider-Webseite.<\/p>\n\n\n\n<p>W\u00e4hrend sog. Multi-Card-Angebote das Klingeln und Telefonieren auf allen mit einer solchen SIM-Karte ausgestatteten Ger\u00e4ten umsetzbar ist, wird SMS nur wahlweise auf EINER der SIM-Karten unterst\u00fctzt!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Setup_%E2%80%93_Teltonika_Router\"><\/span>Setup &#8211; Teltonika Router<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Services_%E2%80%93_Mobile_Utilities_%E2%80%93_SMS_Gateway\"><\/span>Services &#8211; Mobile Utilities &#8211; SMS Gateway<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mobile Post\/Get Settings &#8211; <kbd>Enabled<\/kbd><\/li>\n\n\n\n<li>Username: <kbd>Anmeldename<\/kbd><\/li>\n\n\n\n<li>Password: <kbd>AnmeldePasswort<\/kbd><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Services_%E2%80%93_InputOutput_%E2%80%93_PostGet\"><\/span>Services &#8211; Input\/Output &#8211; Post\/Get<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>I\/O Post\/Get Settings &#8211; <kbd>Enabled<\/kbd><\/li>\n\n\n\n<li>Username: <kbd>Anmeldename<\/kbd><\/li>\n\n\n\n<li>Password: <kbd>AnmeldePasswort<\/kbd><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Setup_%E2%80%93_RaspberryMatic\"><\/span>Setup &#8211; RaspberryMatic<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"CUx-Daemon_installieren\"><\/span>CUx-Daemon installieren<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Der CUx-Daemon ist ein AddOn, das virtuelle Ger\u00e4te innerhalb HomeMatic \/ RaspberryMatic zur Verf\u00fcgung stellt, die u.a. als weniger belastender Ersatz f\u00fcr System-Aufrufe genutzt werden k\u00f6nnen, hier z.B. zwecks SMS-Versand \u00fcber einen HTTP-Request an den Router.<\/p>\n\n\n\n<p>Die Installation des AddOn erfolgt \u00fcber Einstellungen &#8211; Zusatzsoftware, dort im untersten Bereich kann die AddOn-Datei mittels Klick auf den Button <code>Datei ausw\u00e4hlen<\/code> im entsprechenden Download-Ordner des Rechners gew\u00e4hlt und mit Klick auf den Button <code>Installieren<\/code> auf die Zentra\u00f6e geladen und installiert werden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"CUx-Daemon_%E2%80%93_Gerat_erstellen\"><\/span>CUx-Daemon &#8211; Ger\u00e4t erstellen<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Der Aufruf des CUx-Daemon erfolgt \u00fcber System mittels Klick auf den Button <code>CUx-Daemon<\/code>.<\/p>\n\n\n\n<p>Klick oben rechts auf den Button <code>Ger\u00e4te<\/code> \u00f6ffnet die Oberfl\u00e4che. Oben links, unter CUxD Ger\u00e4tetyp, wird aus der Liste unten <code>System<\/code> ausgew\u00e4hlt.<\/p>\n\n\n\n<p>Als Funktion wird die Funktion <kbd><code>Exec<\/code><\/kbd> gew\u00e4hlt, im Feld Name eine entsprechende Bezeichnung, z.B. <kbd>GPS<\/kbd>, eingegeben und anschlie\u00dfend mit Klick auf den Button <code>Ger\u00e4t auf der CCU erzeugen<\/code>, das Ger\u00e4t gespeichert.<\/p>\n\n\n\n<p>Daraufhin erscheint das angelegte Ger\u00e4t mit seiner ID in dem rechten Fenster, z.B. CUX2801001 und kann \u00fcber dies ID in Scripten angesprochen werden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Skripte\"><\/span>Skripte<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"SMS_zur_GPS-Datenausgabe_senden\"><\/span>SMS zur GPS-Datenausgabe senden<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Die in eckigen Klammern gesetzten Angaben sind durch eigene Daten zu ersetzen:<\/p>\n\n\n\n<p>string url=&#8220;&#8218;http:\/\/[<kbd>IP des Routers<\/kbd>]\/cgi-bin\/sms_send?username=[<kbd>BenutzerName<\/kbd>]&amp;password=[<kbd>Passwort<\/kbd>]&amp;number=[<kbd>InternationaleRufnummer<\/kbd>]&amp;text=[<kbd>Passwort gps<\/kbd>]'&#8220;;<br>dom.GetObject(&#8222;CUxD.CUX2801001:1.CMD_EXEC&#8220;).State(&#8222;wget -q -O &#8211; &#8222;#url);<\/p>\n\n\n\n<p>Zu beachten ist, dass der String in doppelte (&#8222;) UND einfache (&#8218;) Anf\u00fchrungsstriche gesetzt ist!<\/p>\n\n\n\n<p>Dieses Skript wird in dem zu erstellenden Programm <code>GPS_Loc_Update<\/code> aufgerufen und das folgende Skript, das seinerseits das Programm GPS_Data aufruft, um 30 Sekunden versetzt, um den Empfang der SMS mit den P\u00dcS-Daten abzuwarten:<\/p>\n\n\n\n<p>var programObj = dom.GetObject(&#8222;GPS_Data&#8220;);<br>programObj.ProgramExecute();<\/p>\n\n\n\n<p>Programm <code>GPS_Loc_Update<\/code> kann einmal t\u00e4glich oder in k\u00fcrzeren Intervallen, je nach Erfordernis, per Zeitsteuerung ausgef\u00fchrt werden.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"387\" src=\"https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-1-1024x387.png\" alt=\"\" class=\"wp-image-6269\" srcset=\"https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-1-1024x387.png 1024w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-1-1536x581.png 1536w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-1-18x7.png 18w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-1-300x113.png 300w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-1-768x290.png 768w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-1.png 1820w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"GPS_Data\"><span class=\"ez-toc-section\" id=\"SMS_Liste_ausgeben\"><\/span>SMS Liste ausgeben<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Zwecks Auslesen der GPS-Daten wird per HTTP-Request der Router zur Ausgabe der SMS-Liste aufgefordert.<\/p>\n\n\n\n<p>Dieses Skript ben\u00f6tigt zwei Variablen vom Typ ZEICHENKETTE, die unter Einstellungen &#8211; Systemvariablen unten mit Klick auf den Button Neu  angelegt werden m\u00fcssen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>W_Lat<\/em> (zur Speicherung der geograrfischen Breite)<\/li>\n\n\n\n<li><em>W_Lon<\/em> (zur Speicherung der geograrfischen L\u00e4nge)<\/li>\n<\/ul>\n\n\n\n<p>Der Inhalt des Skripts (Zeilen mit f\u00fchrendem <em>Ausrufezeichen<\/em> sind Kommentare; <em>WriteLine<\/em>-Anweisungen dienen lediglich der Ausgabe-Kontrolle und k\u00f6nnen gel\u00f6scht werden.)):<\/p>\n\n\n\n<p>var url = &#8222;http:\/\/[<kbd>IP des Routers<\/kbd>]\/cgi-bin\/sms_list?username=[<kbd>BenutzerName<\/kbd>]&amp;password=[<kbd>Passwort<\/kbd>]&#8220;;<\/p>\n\n\n\n<p>! Deklaration der Variablen<br>var posValueStart;<br>var posValueEnd;<br>var pos;<br>var daten;<br>var posStart;<br>var posEnd; string stderr; string stdout;<\/p>\n\n\n\n<p>! WGET-Kommando zur \u00dcbermittlung des HTTP-Request-Strings an den Router<br>system.Exec(&#8222;wget -q -O &#8211; &#8218;&#8220;#url#&#8220;&#8218;&#8220;, &amp;stdout, &amp;stderr);<\/p>\n\n\n\n<p>! Ausgabe des Abfrage-Ergebnisses zur Kontrolle<br>WriteLine(stdout);<\/p>\n\n\n\n<p>! Index: 1<br>! Date: Fri Jan 26 11:01:02 2024<br>! Sender: +49xxxxxxxxxxxxx<br>! Text: Fix time: 2024-01-26, 11:01:01 <mark style=\"background-color:#00b22c\" class=\"has-inline-color has-nv-site-bg-color\">Latitude: <\/mark>54.834682<mark style=\"background-color:#fe0000\" class=\"has-inline-color has-nv-site-bg-color\"> Longitude: <\/mark>12.040196 http:\/\/maps.google.com\/?<br>! q=54.834682,12.040196&amp;om=1speed:0<br>! Status: read<\/p>\n\n\n\n<p>! GPS Daten auslesen<br>pos = 0;<br>! Position des Beginns des gesuchten Wertes<br>posStart = &#8218;Latitude: &#8218;;<br>! Position des Endes des gesuchten Wertes<br>posEnd = &#8218; Longitude: &#8218;;<br>posValueStart = stdout.Find(posStart) + posStart.Length();<br>posValueEnd = stdout.Find(posEnd)-posValueStart;<br>! die gesuchte Zeichenkette lautet:<br>string Latitude = stdout.Substr(posValueStart, posValueEnd);<br>! Umwandlung des Strings (Zeichenkette) in eine Flie\u00dfkomma-Zahl<br>var lat = Latitude.ToFloat();<br>! Ausgabe der geografischen L\u00e4nge zur Kontrolle<br>WriteLine(&#8222;Latitude&#8220;);WriteLine(Latitude);<\/p>\n\n\n\n<p>! Speichern der geografischen L\u00e4nge in die  Variable <em>W_Lat<\/em><br>dom.GetObject(&#8218;W_Lat&#8216;).State(lat);<\/p>\n\n\n\n<p>pos = 0;<br>posStart = &#8218;Longitude: &#8218;;<br>posEnd = &#8218; http&#8216;;<br>posValueStart = stdout.Find(posStart) + posStart.Length();<br>posValueEnd = stdout.Find(posEnd)-posValueStart;<br>string Longitude = stdout.Substr(posValueStart, posValueEnd);<br>var lon = Longitude.ToFloat();<br>WriteLine(&#8222;Longitude&#8220;);WriteLine(lon);<\/p>\n\n\n\n<p>dom.GetObject(&#8218;W_Lon&#8216;).State(lon);<\/p>\n\n\n\n<p>Das Programm enth\u00e4lt keine Bedingung zur Ausf\u00fchrung, da es \u00fcber das vorstehende Programm, bzw. Skript initiiert wird.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"305\" src=\"https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-2-1024x305.png\" alt=\"\" class=\"wp-image-6270\" srcset=\"https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-2-1024x305.png 1024w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-2-1536x457.png 1536w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-2-18x5.png 18w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-2-300x89.png 300w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-2-768x229.png 768w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-2.png 1820w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:21px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Jetzt k\u00f6nnen die geografischen Angaben zur Abfrage der Wetterdaten f\u00fcr diesen Ort genutzt werden. Hierzu wird ein weiteres, periodisch per Zeitsteuerung gestartetes Programm angelegt, das mittels Skript die beiden Werte in den HTTP-Request-String des o.g. Wetterdienstes einf\u00fcgt und somit jeweils die sich \u00e4ndernden \u00d6rtlichkeiten in der Abfrage ber\u00fccksichtigt.<\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Programm_W_Daten_OWM\"><\/span>Programm W_Daten_OWM<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"426\" src=\"https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-3-1024x426.png\" alt=\"\" class=\"wp-image-6271\" srcset=\"https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-3-1024x426.png 1024w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-3-1536x639.png 1536w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-3-18x7.png 18w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-3-300x125.png 300w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-3-768x320.png 768w, https:\/\/csiag.eu\/wp-content\/uploads\/2024\/01\/image-3.png 1648w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:18px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Zusammensetzen_der_URL\"><\/span>Zusammensetzen der URL<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>! Laden der in GPS_Data bef\u00fcllten Variablen <em>W_Lat<\/em> und <em>W_Lon<\/em> und Zuordnen zu den Variablen <em>url_1<\/em> und <em>url_2<\/em><\/p>\n\n\n\n<p>var url_1 = dom.GetObject(&#8222;W_Lat&#8220;).Value();<br>WriteLine(&#8222;Lat=&#8220;);WriteLine(url_1);<br>var url_2 = dom.GetObject(&#8222;W_Lon&#8220;).Value();<br>WriteLine(&#8222;Lon=&#8220;);WriteLine(url_2);<\/p>\n\n\n\n<p>! Zusammensetzen der URL unter Verwendung der Variablen-Inhalte aus <em>url_1<\/em> und <em>url_2<\/em><br>! [xxxxxxxxxxxxxxxxxxxxxxxxx] repr\u00e4sentiert den &#8211; nach Registrierung &#8211; erhaltenen API-Key des Wetterdienstes<br>var url = &#8222;https:\/\/api.openweathermap.org\/data\/2.5\/weather?lat=&#8220;#url_1#&#8220;&amp;lon=&#8220;#url_2#&#8220;&amp;appid=[xxxxxxxxxxxxxxxxxxxxxxxxx]&amp;units=metric&#8220;;<br>! Ausgabe des kompletten Strings zur Kontrolle<br>WriteLine(url);<\/p>\n\n\n\n<p>Es folgt die selbe Prozedur der Deklaration der Variablen, des WGET-Kommandos, der Ausgabe des Abfrage-Ergebnisses zur Kontrolle und das Auslesen der jeweils gew\u00fcnschten Wetterdaten (s. <a href=\"https:\/\/openweathermap.org\/current\" target=\"_blank\" rel=\"noreferrer noopener\">Dokumentation<\/a>) nach dem bzgl. GPS-Daten gegebenen Vorgehen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Skaitymo laikas<\/span> <span class=\"rt-time\"> 4<\/span> <span class=\"rt-label rt-postfix\">minut\u0117s<\/span><\/span>Jei norite nustatyti GPS duomenis naudodamiesi \"SmartHome\", pvz., u\u017eklausti vietini\u0173 or\u0173 duomen\u0173, tai galima padaryti naudojant \"Teltonika RUTX50\" mar\u0161rutizatori\u0173 be papildomos aparatin\u0117s ar programin\u0117s \u012frangos su \"Homematic\" \/ \"RaspberryMatic\". Pagrindai \"Teltonika\" mar\u0161rutizatoriai RUTX... leid\u017eia si\u0173sti ir gauti SMS \u017einutes per aktyvuot\u0105 SIM kortel\u0119. Pana\u0161iai galima si\u0173sti pad\u0117ties duomenis, atsakant \u012f SMS \u017einut\u0119 su...&nbsp;<a href=\"https:\/\/csiag.eu\/lt\/blog\/2024\/01\/26\/smarthome-gps-daten-ermitteln\/\" rel=\"bookmark\">Skaityti daugiau \"<span class=\"screen-reader-text\">\"SmartHome\" - GPS duomen\u0173 nustatymas<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[1117,2868,346,347],"tags":[864,2961,2963,2955,2962,1118,2954,2964,377,2956,863,2965,2957,372,902,574,2960,2683,575,371,370,2470,2958,741,2682,895,2959,858,859],"class_list":["post-6268","post","type-post","status-publish","format-standard","hentry","category-gps-ortung","category-router","category-smarthome","category-smarthome-im-wohnmobil","tag-breite","tag-cux-daemon","tag-cux2801001","tag-ermitteln","tag-geraet","tag-gps","tag-gps-daten","tag-gps-datenausgabe","tag-homematic","tag-http-request","tag-laenge","tag-openweathermap-org","tag-positionsdaten","tag-programm","tag-raspberrymatic","tag-router","tag-rutx","tag-rutx50","tag-setup","tag-skript","tag-smarthome","tag-sms","tag-standort","tag-string","tag-teltonika","tag-variable","tag-wetter","tag-wetterdaten","tag-wetterdienst"],"modified_by":"Achim Goerner","_links":{"self":[{"href":"https:\/\/csiag.eu\/lt\/wp-json\/wp\/v2\/posts\/6268","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/csiag.eu\/lt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/csiag.eu\/lt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/csiag.eu\/lt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/csiag.eu\/lt\/wp-json\/wp\/v2\/comments?post=6268"}],"version-history":[{"count":0,"href":"https:\/\/csiag.eu\/lt\/wp-json\/wp\/v2\/posts\/6268\/revisions"}],"wp:attachment":[{"href":"https:\/\/csiag.eu\/lt\/wp-json\/wp\/v2\/media?parent=6268"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/csiag.eu\/lt\/wp-json\/wp\/v2\/categories?post=6268"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/csiag.eu\/lt\/wp-json\/wp\/v2\/tags?post=6268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}