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. Länge und Breite aus DP auslesen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    912

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Länge und Breite aus DP auslesen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
8 Beiträge 3 Kommentatoren 444 Aufrufe 1 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.
  • C Offline
    C Offline
    c1olli
    schrieb am zuletzt editiert von c1olli
    #1

    Hallo,

    was JS angeht bin ich ziemlich unbeleckt, aber meistens gelingt es mir aus dem was ich in der Suche finde das richtige Ergebnis zu bekommen.

    Jetzt habe ich aber ein kleines Problem:
    Für mein Fahrzeug bekomme ich Werte über Mqtt. Das funktioniert auch sehr gut ,
    Nur die Position gibt folgende Meldung:

    {
      "@ASN1Type":"RvsWGS84Point",
      "altitude":0,
      "latitude":53771580,
      "longitude":8590432
    }
    

    Wie bekomme ich nun latitude und longitude ausgelesen?
    Folgendes Script habe ich verwendet:

    //MG4 Position bestimmen
    const idSensor = 'alias.0.Auto.MG4-Position';
    const idBreite = '0_userdata.0.latitude';
    const idLaenge = '.0_userdata.0.longitude';
     
    on(idSensor, function(dp) { // triggert bei Wertänderung
       let obj = JSON.parse(dp.state.val);
       setState(idBreite, obj ['longitude'].longitude, true);
       setState(idLaenge, obj ['latitude'].latitude, true);
    });
    

    Leider kommt an den Datenpunkten nichts an

    Dann hab ich es noch über http versucht:
    Die Ausgabe über http ist:

    "{\n \"@ASN1Type\":\"RvsWGS84Point\",\n \"altitude\":0,\n \"latitude\":53771580,\n \"longitude\":8590432\n}"
    
    //MG4 Position bestimmen
    
    const axios = require("axios");
    var dp_breite="0_userdata.0.latitude";
    var dp_laenge="0_userdata.0.longitude";
    var url = "http://192.168.178.115:8087/getPlainValue/alias.0.Auto.MG4-Position"
    function getData() {
      axios.get(url).then(({ data })=> {
          setState(dp_breite,data.latitude);
          setState(dp_laenge,data.longitude);
      });
      setTimeout(getData,5000);
    }
    getData();
    

    Da wird dann 0 gesendet

    Gruß
    Olli

    paul53P 1 Antwort Letzte Antwort
    0
    • mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #2

      Wenn Dein Objekt richtig ist - einfach einen Punkt als Zugriff:

      //MG4 Position bestimmen
      const idSensor = 'alias.0.Auto.MG4-Position';
      const idBreite = '0_userdata.0.latitude';
      const idLaenge = '.0_userdata.0.longitude';
       
      on(idSensor, function(dp) { // triggert bei Wertänderung
         let obj = JSON.parse(dp.state.val);
         setState(idBreite, obj.longitude, true);
         setState(idLaenge, obj.latitude, true);
      });
      
      

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      1 Antwort Letzte Antwort
      0
      • C c1olli

        Hallo,

        was JS angeht bin ich ziemlich unbeleckt, aber meistens gelingt es mir aus dem was ich in der Suche finde das richtige Ergebnis zu bekommen.

        Jetzt habe ich aber ein kleines Problem:
        Für mein Fahrzeug bekomme ich Werte über Mqtt. Das funktioniert auch sehr gut ,
        Nur die Position gibt folgende Meldung:

        {
          "@ASN1Type":"RvsWGS84Point",
          "altitude":0,
          "latitude":53771580,
          "longitude":8590432
        }
        

        Wie bekomme ich nun latitude und longitude ausgelesen?
        Folgendes Script habe ich verwendet:

        //MG4 Position bestimmen
        const idSensor = 'alias.0.Auto.MG4-Position';
        const idBreite = '0_userdata.0.latitude';
        const idLaenge = '.0_userdata.0.longitude';
         
        on(idSensor, function(dp) { // triggert bei Wertänderung
           let obj = JSON.parse(dp.state.val);
           setState(idBreite, obj ['longitude'].longitude, true);
           setState(idLaenge, obj ['latitude'].latitude, true);
        });
        

        Leider kommt an den Datenpunkten nichts an

        Dann hab ich es noch über http versucht:
        Die Ausgabe über http ist:

        "{\n \"@ASN1Type\":\"RvsWGS84Point\",\n \"altitude\":0,\n \"latitude\":53771580,\n \"longitude\":8590432\n}"
        
        //MG4 Position bestimmen
        
        const axios = require("axios");
        var dp_breite="0_userdata.0.latitude";
        var dp_laenge="0_userdata.0.longitude";
        var url = "http://192.168.178.115:8087/getPlainValue/alias.0.Auto.MG4-Position"
        function getData() {
          axios.get(url).then(({ data })=> {
              setState(dp_breite,data.latitude);
              setState(dp_laenge,data.longitude);
          });
          setTimeout(getData,5000);
        }
        getData();
        

        Da wird dann 0 gesendet

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #3

        @c1olli sagte: Leider kommt an den Datenpunkten nichts an

        Man darf das Attribut nicht doppelt anwenden: Entweder ['longitude'] oder .longitude. Außerdem den Wert durch 1000000 dividieren.

        on(idSensor, function(dp) { // triggert bei Wertänderung
           let obj = JSON.parse(dp.state.val);
           setState(idBreite, obj.latitude / 1000000, true);
           setState(idLaenge, obj.longitude / 1000000, true);
        });
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • C Offline
          C Offline
          c1olli
          schrieb am zuletzt editiert von
          #4

          Leider kommt immer noch nichts am Datenpunkt an

          Heisst, wenn ich auf unter Objekte rechts mir das Refresch Datum anzeigen lasse, kommt da nichts.

          Gruß
          Olli

          paul53P 1 Antwort Letzte Antwort
          0
          • C c1olli

            Leider kommt immer noch nichts am Datenpunkt an

            Heisst, wenn ich auf unter Objekte rechts mir das Refresch Datum anzeigen lasse, kommt da nichts.

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

            @c1olli sagte: nichts am Datenpunkt an

            Hat denn im Sensor-DP eine Änderung stattgefunden? Ohne Änderung wird nicht getriggert.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            C 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @c1olli sagte: nichts am Datenpunkt an

              Hat denn im Sensor-DP eine Änderung stattgefunden? Ohne Änderung wird nicht getriggert.

              C Offline
              C Offline
              c1olli
              schrieb am zuletzt editiert von
              #6

              @paul53
              Ok - die hat nicht stattgefunden - kann ich das künstlich für einen Test anstoßen?

              Gruß
              Olli

              paul53P 1 Antwort Letzte Antwort
              0
              • C c1olli

                @paul53
                Ok - die hat nicht stattgefunden - kann ich das künstlich für einen Test anstoßen?

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #7

                @c1olli sagte: kann ich das künstlich für einen Test anstoßen?

                Ändere im Tab "Objekte" die Altitude im JSON auf 1. Evtl. auf Expertenmodus schalten, falls der Datenpunkt "read only" ist.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                C 1 Antwort Letzte Antwort
                1
                • paul53P paul53

                  @c1olli sagte: kann ich das künstlich für einen Test anstoßen?

                  Ändere im Tab "Objekte" die Altitude im JSON auf 1. Evtl. auf Expertenmodus schalten, falls der Datenpunkt "read only" ist.

                  C Offline
                  C Offline
                  c1olli
                  schrieb am zuletzt editiert von c1olli
                  #8

                  @paul53
                  Jo nu löppt es
                  Ich hatte es schon richtig, aber weil sich nichts getan hat hab ich weiter versucht und das Ganze verschlimmbessert.
                  Na ja wieder was dazu gelernt.

                  Vielen Dank für die Hilfe.

                  Gruß
                  Olli

                  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

                  721

                  Online

                  32.6k

                  Benutzer

                  82.2k

                  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