Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Ausgegebene Werte werden als nicht "Bestätigt" ausgegeben

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    6
    1
    226

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    220

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    893

Ausgegebene Werte werden als nicht "Bestätigt" ausgegeben

Scheduled Pinned Locked Moved JavaScript
16 Posts 4 Posters 1.1k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R renni61

    @ticaki

    Hi,
    besten Dank für die superschnelle Rückmeldung! Die Daten kommen aus einem MQTT-String.
    Mit Deiner Variante gibt er im neu zu rstellenden Datenpunkt leider die Summe beider Einzeldatenpunkte aus. 😢
    VG Jörg

    AlCalzoneA Offline
    AlCalzoneA Offline
    AlCalzone
    Developer
    wrote on last edited by
    #7

    @renni61 sagte in Ausgegebene Werte werden als nicht "Bestätigt" ausgegeben:

    Summe beider Einzeldatenpunkte

    Das dürfte nicht sein, selbst wenn es sich um Zahlen handelt:
    f1611b7f-fb3b-4edd-88b6-29884c76fc89-grafik.png

    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

    R 1 Reply Last reply
    0
    • T ticaki

      @renni61
      Wenn der Datenpunkt eine Zeichenkette ist geht es so:

      pos = obj.lat + ', ' + obj.lon;
      

      oder in schön:

      pos = obj.lat.toString() + ', ' + obj.lon.toString();
      
      R Offline
      R Offline
      renni61
      wrote on last edited by
      #8

      @ticaki

      Hi, >>> Kommando von meiner vorhergehenden Antwort zurück! Es funktioniert doch mit Deiner Variante.
      Vielen lieben Dank!!! 👍 👍 👍
      Jörg

      1 Reply Last reply
      0
      • T ticaki

        @renni61
        Wenn der Datenpunkt eine Zeichenkette ist geht es so:

        pos = obj.lat + ', ' + obj.lon;
        

        oder in schön:

        pos = obj.lat.toString() + ', ' + obj.lon.toString();
        
        T Do not disturb
        T Do not disturb
        ticaki
        wrote on last edited by
        #9

        @renni61
        @ticaki sagte in Ausgegebene Werte werden als nicht "Bestätigt" ausgegeben:

        @renni61
        Wenn der Datenpunkt eine Zeichenkette ist geht es so:

        Da hab ich mich schlecht ausgedrückt. Das Beispiel von mir wandelt die Eingage ob Zeichenkette, Nummer oder Float in eine Zeichenkette um.

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        1 Reply Last reply
        0
        • AlCalzoneA AlCalzone

          @renni61 sagte in Ausgegebene Werte werden als nicht "Bestätigt" ausgegeben:

          Summe beider Einzeldatenpunkte

          Das dürfte nicht sein, selbst wenn es sich um Zahlen handelt:
          f1611b7f-fb3b-4edd-88b6-29884c76fc89-grafik.png

          R Offline
          R Offline
          renni61
          wrote on last edited by
          #10

          @alcalzone

          Hallo,

          auch auf die "Gefahr" hin das ich nerve, muss ich (hoffentlich letztmalig) nochmal um Hilfe bitten. :man-shrugging:

          Das nachfolgende Script läuft - dank Eurer Hilfestellung - dem Grunde nach (was die Ausgabe betrifft) eigentlich akkurat nach meinen Vorstellungen. Leider werden jedoch im Protokoll Warnungen ausgegeben, die ich nicht beseitigt bekomme.

          Die Aufstellung der ausgegebenen Warnungen sind direkt hinter dem Script aufgeführt.

          Der vermeintliche Verursacher der Warnungen scheint die Zeile 47 zu sein. Lösche ich diese, läuft ALLES ohne Fehlermeldung. Ich habe keine Ahnung, wo hier nun wieder der "Hund begraben liegt".

          var pfad = "0_userdata.0.owntracks.";
          var channel = "RennertJ.";
          var sname = "S20.";
          var idevent = pfad + channel + sname + 'Presence';
          var iddesc = pfad + channel + sname + 'Location';
          var idlat = pfad + channel + sname + 'Latitude';
          var idlon = pfad + channel + sname + 'Longitude';
          var idacc = pfad + channel + sname + 'Accuracy';
          var idpos = pfad + channel + sname + 'Position';
          
          createState(idevent, 0, { type: 'string', name: 'Anwesenheit', read: true, write: true, role: 'variable' });
          createState(iddesc, 0, { type: 'string', name: 'Ort', read: true, write: true, role: 'variable' });
          createState(idlat, 0, { type: 'number', name: 'Breitengrad', read: true, write: true, role: 'number', unit: '°'});
          createState(idlon, 0, { type: 'number', name: 'Laengengrad', read: true, write: true, role: 'number', unit: '°'});
          createState(idacc, 0, { type: 'number', name: 'Genauigkeit', read: true, write: true, role: 'number', unit: 'm'});
          createState(idpos, 0, { type: 'number', name: 'Position', read: true, write: true, role: 'number'});
          
          // Script
          on({ id: 'mqtt.0.owntracks.RennertJ.S20.event', change: "any" }, function (obj) {
          
          // Variabeln erstellen
              var event;
              var desc;
              var lat;
              var lon;
              var acc;
              var pos;
              
              try {
                  obj = JSON.parse(getState('mqtt.0.owntracks.RennertJ.S20.event').val);
              } catch (e) {
                  console.error('Cannot parse: ' + getState('mqtt.0.owntracks.RennertJ.S20.event').val);
                  return;
              }
          
              desc = obj.desc;
              event = obj.event;
              lat = obj.lat;
              lon = obj.lon;
              acc = obj.acc;
              pos = obj.lat.toString() + ', ' + obj.lon.toString();
              
              setState(idevent, event, true);
              setState(iddesc, desc, true);
              setState(idlat, lat, true);
              setState(idlon, lon, true);
              setState(idpos, pos, true);
          })
          

          javascript.0
          2021-09-21 20:47:57.577 info State value to set for "0_userdata.0.owntracks.RennertJ.S20.Position" has to be type "number" but received type "string"

          javascript.0
          2021-09-21 20:47:57.536 warn at processImmediate (internal/timers.js:461:21)

          javascript.0
          2021-09-21 20:47:57.536 warn at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41)

          javascript.0
          2021-09-21 20:47:57.536 warn at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:525:29)

          javascript.0
          2021-09-21 20:47:57.535 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38)

          javascript.0
          2021-09-21 20:47:57.533 warn at Object.<anonymous> (script.js.common.MQTT.Owntracks_S20:47:5)

          javascript.0
          2021-09-21 20:47:57.532 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)

          Thanks!

          VG Jörg

          T 1 Reply Last reply
          0
          • R renni61

            @alcalzone

            Hallo,

            auch auf die "Gefahr" hin das ich nerve, muss ich (hoffentlich letztmalig) nochmal um Hilfe bitten. :man-shrugging:

            Das nachfolgende Script läuft - dank Eurer Hilfestellung - dem Grunde nach (was die Ausgabe betrifft) eigentlich akkurat nach meinen Vorstellungen. Leider werden jedoch im Protokoll Warnungen ausgegeben, die ich nicht beseitigt bekomme.

            Die Aufstellung der ausgegebenen Warnungen sind direkt hinter dem Script aufgeführt.

            Der vermeintliche Verursacher der Warnungen scheint die Zeile 47 zu sein. Lösche ich diese, läuft ALLES ohne Fehlermeldung. Ich habe keine Ahnung, wo hier nun wieder der "Hund begraben liegt".

            var pfad = "0_userdata.0.owntracks.";
            var channel = "RennertJ.";
            var sname = "S20.";
            var idevent = pfad + channel + sname + 'Presence';
            var iddesc = pfad + channel + sname + 'Location';
            var idlat = pfad + channel + sname + 'Latitude';
            var idlon = pfad + channel + sname + 'Longitude';
            var idacc = pfad + channel + sname + 'Accuracy';
            var idpos = pfad + channel + sname + 'Position';
            
            createState(idevent, 0, { type: 'string', name: 'Anwesenheit', read: true, write: true, role: 'variable' });
            createState(iddesc, 0, { type: 'string', name: 'Ort', read: true, write: true, role: 'variable' });
            createState(idlat, 0, { type: 'number', name: 'Breitengrad', read: true, write: true, role: 'number', unit: '°'});
            createState(idlon, 0, { type: 'number', name: 'Laengengrad', read: true, write: true, role: 'number', unit: '°'});
            createState(idacc, 0, { type: 'number', name: 'Genauigkeit', read: true, write: true, role: 'number', unit: 'm'});
            createState(idpos, 0, { type: 'number', name: 'Position', read: true, write: true, role: 'number'});
            
            // Script
            on({ id: 'mqtt.0.owntracks.RennertJ.S20.event', change: "any" }, function (obj) {
            
            // Variabeln erstellen
                var event;
                var desc;
                var lat;
                var lon;
                var acc;
                var pos;
                
                try {
                    obj = JSON.parse(getState('mqtt.0.owntracks.RennertJ.S20.event').val);
                } catch (e) {
                    console.error('Cannot parse: ' + getState('mqtt.0.owntracks.RennertJ.S20.event').val);
                    return;
                }
            
                desc = obj.desc;
                event = obj.event;
                lat = obj.lat;
                lon = obj.lon;
                acc = obj.acc;
                pos = obj.lat.toString() + ', ' + obj.lon.toString();
                
                setState(idevent, event, true);
                setState(iddesc, desc, true);
                setState(idlat, lat, true);
                setState(idlon, lon, true);
                setState(idpos, pos, true);
            })
            

            javascript.0
            2021-09-21 20:47:57.577 info State value to set for "0_userdata.0.owntracks.RennertJ.S20.Position" has to be type "number" but received type "string"

            javascript.0
            2021-09-21 20:47:57.536 warn at processImmediate (internal/timers.js:461:21)

            javascript.0
            2021-09-21 20:47:57.536 warn at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41)

            javascript.0
            2021-09-21 20:47:57.536 warn at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:525:29)

            javascript.0
            2021-09-21 20:47:57.535 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38)

            javascript.0
            2021-09-21 20:47:57.533 warn at Object.<anonymous> (script.js.common.MQTT.Owntracks_S20:47:5)

            javascript.0
            2021-09-21 20:47:57.532 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)

            Thanks!

            VG Jörg

            T Do not disturb
            T Do not disturb
            ticaki
            wrote on last edited by ticaki
            #11

            @renni61
            Ich kanns mir nicht verkeifen :) Lesen bildet

            Wenn der Datenpunkt eine Zeichenkette ist geht es so:

            Das Beispiel von mir wandelt die Eingage ob Zeichenkette, Nummer oder Float in eine Zeichenkette um.

            createState(idpos, 0, { type: 'number', name: 'Position', read: true, write: true, role: 'number'});
            
            createState(idpos, 0, { type: 'string', name: 'Position', read: true, write: true, role: 'number'});
            

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            R 1 Reply Last reply
            0
            • T ticaki

              @renni61
              Ich kanns mir nicht verkeifen :) Lesen bildet

              Wenn der Datenpunkt eine Zeichenkette ist geht es so:

              Das Beispiel von mir wandelt die Eingage ob Zeichenkette, Nummer oder Float in eine Zeichenkette um.

              createState(idpos, 0, { type: 'number', name: 'Position', read: true, write: true, role: 'number'});
              
              createState(idpos, 0, { type: 'string', name: 'Position', read: true, write: true, role: 'number'});
              
              R Offline
              R Offline
              renni61
              wrote on last edited by
              #12

              @ticaki

              Mh, hatte ich auch in der "Verlosung" gehabt und mehrmals vor meiner Nachfrage geändert. Trotzdem kommen weiter Fehlermeldungen:

              javascript.0
              2021-09-21 21:39:06.208 info State value to set for "0_userdata.0.owntracks.RennertJ.S20.Position" has to be type "number" but received type "string"

              javascript.0
              2021-09-21 21:39:06.193 warn at processImmediate (internal/timers.js:461:21)

              javascript.0
              2021-09-21 21:39:06.193 warn at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41)

              javascript.0
              2021-09-21 21:39:06.193 warn at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:525:29)

              javascript.0
              2021-09-21 21:39:06.193 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38)

              javascript.0
              2021-09-21 21:39:06.192 warn at Object.<anonymous> (script.js.common.MQTT.Owntracks_S20:48:5)

              javascript.0
              2021-09-21 21:39:06.192 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)

              javascript.0
              2021-09-21 21:39:06.190 warn You are assigning a string to the state "0_userdata.0.owntracks.RennertJ.S20.Position" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.

              VG Jörg

              T 1 Reply Last reply
              0
              • R renni61

                @ticaki

                Mh, hatte ich auch in der "Verlosung" gehabt und mehrmals vor meiner Nachfrage geändert. Trotzdem kommen weiter Fehlermeldungen:

                javascript.0
                2021-09-21 21:39:06.208 info State value to set for "0_userdata.0.owntracks.RennertJ.S20.Position" has to be type "number" but received type "string"

                javascript.0
                2021-09-21 21:39:06.193 warn at processImmediate (internal/timers.js:461:21)

                javascript.0
                2021-09-21 21:39:06.193 warn at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41)

                javascript.0
                2021-09-21 21:39:06.193 warn at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:525:29)

                javascript.0
                2021-09-21 21:39:06.193 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38)

                javascript.0
                2021-09-21 21:39:06.192 warn at Object.<anonymous> (script.js.common.MQTT.Owntracks_S20:48:5)

                javascript.0
                2021-09-21 21:39:06.192 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)

                javascript.0
                2021-09-21 21:39:06.190 warn You are assigning a string to the state "0_userdata.0.owntracks.RennertJ.S20.Position" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.

                VG Jörg

                T Do not disturb
                T Do not disturb
                ticaki
                wrote on last edited by
                #13

                @renni61
                Ich glaube nicht das createState den Type ändert. Du mußt den State wohl löschen und neu erstellen lassen. Aber das ist auf jeden Fall der Fehler.

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                AsgothianA R 3 Replies Last reply
                0
                • T ticaki

                  @renni61
                  Ich glaube nicht das createState den Type ändert. Du mußt den State wohl löschen und neu erstellen lassen. Aber das ist auf jeden Fall der Fehler.

                  AsgothianA Offline
                  AsgothianA Offline
                  Asgothian
                  Developer
                  wrote on last edited by
                  #14

                  @ticaki sagte in Ausgegebene Werte werden als nicht "Bestätigt" ausgegeben:

                  @renni61
                  Ich glaube nicht das createState den Type ändert. Du mußt den State wohl löschen und neu erstellen lassen. Aber das ist auf jeden Fall der Fehler.

                  Du kannst den Typ des State auch im Admin anpassen - wenn du auf die Expertenansicht umstellst.

                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                  1 Reply Last reply
                  0
                  • T ticaki

                    @renni61
                    Ich glaube nicht das createState den Type ändert. Du mußt den State wohl löschen und neu erstellen lassen. Aber das ist auf jeden Fall der Fehler.

                    R Offline
                    R Offline
                    renni61
                    wrote on last edited by
                    #15

                    @ticaki

                    Es ist zum Haare raufen! Alles gelöscht und einen völlig neuen Script aufgesetzt, Fehlermeldungen bleiben.
                    Nach Zustandsänderung kommt im Scriptbearbeitungsfenster sofort folgende Warnung:

                    22:19:48.903 warn javascript.0 (132) at Object.<anonymous> (script.js.common.MQTT.S20_RJ:47:5)

                    Wenn ich das mit meinen sehr dürftigen Kenntnissen richtig interpretiere, weißt doch der Fehler hier auf Zeile 47 hin, oder täusche ich mich da? Ich glaube, ich renne gleich mit meinem Holzkopp gegen die Wand. 😠

                    1 Reply Last reply
                    0
                    • T ticaki

                      @renni61
                      Ich glaube nicht das createState den Type ändert. Du mußt den State wohl löschen und neu erstellen lassen. Aber das ist auf jeden Fall der Fehler.

                      R Offline
                      R Offline
                      renni61
                      wrote on last edited by
                      #16

                      @ticaki

                      So, Problem ist gelöst. :man-gesturing-ok:

                      Ich Vollhonk hatte folgenden Ausdruck nicht im Script drin:

                      setState(idacc, acc, true);
                      

                      Das war schlussendlich der verfluchte Fehler.
                      Ganz lieben Dank dennoch für Eure Hilfestellung!!! Ich weiß das hoch zu würdigen! THANKS!!!

                      Gute Nacht

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      579

                      Online

                      32.8k

                      Users

                      82.8k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe