Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. ioBroker Allgemein
  4. simpleApi weiß nicht mehr welchen Typ er will

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    11
    1
    539

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.9k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    857

simpleApi weiß nicht mehr welchen Typ er will

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
22 Beiträge 5 Kommentatoren 1.7k Aufrufe 3 Beobachtet
  • Ä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.
  • K klassisch

    In diesem Beispiel ist es derselbe ESP, der eben eine Temperatur ausgibt.
    Und er gibt z.B. 12.72 aus
    Und das schon seit Jahren. Bisher ohne Probleme.
    Das ist ja nur eine Zeichenfolge, die übers Lan eingeliefert wird. Da kann es keine Types geben. Kann man ja auch vom Browsr aus absenden.
    Der Typ steht in den Daten.
    Aber egal, was ich da hinterlege, es wird mit Verweis auf simpleApi angemeckert.

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

    @klassisch sagte in simpleApi weiß nicht mehr welchen Typ er will:

    Da kann es keine Types geben.

    doch
    @Jey-Cee wird das sicher noch besser wissen, aber eine Dezimale mit Komma würde vom ioBroker definitiv als String identifiziert.
    Und die Wahrscheinlichkeit dass eine Ganzzahlige als Number durchgehenwird sehe ich auch

    dass es bisher "geklappt" hat lag daran, dss es keine Typprüfung gab

    kein Support per PN! - Fragen im Forum stellen -
    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    1 Antwort Letzte Antwort
    0
    • K klassisch

      SimpleApi dient mir seit Jahren beim Einliefern von Werten von meinen ESP8266 Sensoren. Bislang treu und klaglos.
      Die ESP-Sensoren senden ja ASCII Zeichen und wissen nichts von JS Typen.
      Die JS Typen sind in den Objekten hinterlegt.
      Bislang alles harmonisch und still.
      Jetzt habe ich als last follower eine Updaterunde aus dem Stable repository auf eine neue Serverinstanz gewagt:

          js-controller 3.3.22    
          Plattform: Windows
          Betriebssystem: win32
          Architektur: x64
          CPUs: 4
          Geschwindigkeit: 2496 MHz
          Modell: Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz
          RAM: 7.3 GB
          System-Betriebszeit: 00:00:00
          Node.js: v14.18.2
          NPM: 6.14.15
          Adapter-Anzahl: 364
          Datenträgergröße: 166.5 GB
          Festplatte frei: 102.9 GB
          Betriebszeit: 1 T. 21:12:01
          Aktive Instanzen: 31
          Pfad: C:\Program Files\iobroker\ioBrMain036\
      

      SimpleApi v2.6.1
      Admin 5.2.2

      Mittlerweile bekomme ich im log ständig weiße info-Meldungen mit simple-api.0 als source, wie z.B.

      State value to set for "0_userdata.0.heating.Keller.Temp" has to be type "number" but received type "string" 
      

      Ok, hat vielleicht jemand das Control-Level hochgedreht.
      Eingeliefert wird ein String, was soll sonst auch übers Netzwerk kommen?

      Der Datenpunkt hat type Number, weil soll so als Numder weiter verarbeitet werden.
      Aber gut, dann typisieren wir den Datenpunkt mal händisch auf String um und erwarten dann halt eventuell eine Fehlermeldung, wenn das Datum per Script weiter verarbeitet wird.
      Ich brauche aber gar nicht so lange zu warten, denn jetzt heißt es:

      State value to set for "0_userdata.0.heating.Keller.Temp" has to be type "string" but received type "number" 
      

      Was will der simpleApi jetzt? Der ESP sendet noch immer im gleichen Format wie seit Jahren.

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

      @klassisch sagte: has to be type "number" but received type "string"

      Laut Quellcode sollte in eine Zahl gewandelt werden.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

      K 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @klassisch sagte: has to be type "number" but received type "string"

        Laut Quellcode sollte in eine Zahl gewandelt werden.

        K Online
        K Online
        klassisch
        Most Active
        schrieb am zuletzt editiert von
        #11

        @paul53 Das hätte ich auch erwartet.

        Schauen wir uns ein anderes Beispiel an:

        State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "number" but received type "string" 
        

        Das Objekt hat Typ number

        {
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1588573013258,
          "common": {
            "name": "H-abs",
            "role": "",
            "type": "number",
            "desc": "Manuell erzeugt",
            "unit": "g/m^3",
            "read": true,
            "write": true,
            "def": false,
        

        Der ESP sendet 6.20

        Jetzt ändere ich manuell in string

         "name": "H-abs",
            "role": "",
            "type": "string",
            "desc": "Manuell erzeugt",
            "unit": "g/m^3",
            "read": true,
            "write": true,
           
        

        und ich erhalte:

        State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "string" but received type "number. 
        

        Jetzt gebe ich vom Browser aus ein:
        ...:8087/set/0_userdata.0.heating.Werkstatt.H-abs?value=6.30

        und erhalte im Browser die Antwort

        id	"0_userdata.0.heating.Werkstatt.H-abs"
        value	6.3
        val	6.3
        

        und im iobroker log

        State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "string" but received type "number
        

        Und in den Objekten sehe ich 6,3

        Wo kommt jetzt das Komma her? Ich arbeite seit Jahr und Tag mit Punkt.

        Jey CeeJ 1 Antwort Letzte Antwort
        0
        • K Online
          K Online
          klassisch
          Most Active
          schrieb am zuletzt editiert von
          #12

          Aha, in den Systemeinstellungen steht FloaterTeiler "," statt "."

          Da hat das Update wohl was verstellt

          bahnuhrB 1 Antwort Letzte Antwort
          0
          • K klassisch

            Aha, in den Systemeinstellungen steht FloaterTeiler "," statt "."

            Da hat das Update wohl was verstellt

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

            @klassisch sagte in simpleApi weiß nicht mehr welchen Typ er will:

            Systemeinstellungen steht FloaterTeiler "," statt "."

            wo steht das ?
            welche Systemeinstellungen ?


            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

            K 1 Antwort Letzte Antwort
            0
            • bahnuhrB bahnuhr

              @klassisch sagte in simpleApi weiß nicht mehr welchen Typ er will:

              Systemeinstellungen steht FloaterTeiler "," statt "."

              wo steht das ?
              welche Systemeinstellungen ?

              K Online
              K Online
              klassisch
              Most Active
              schrieb am zuletzt editiert von
              #14

              @bahnuhr 1a03782e-812e-4b1f-a052-2e50acdb4127-grafik.png

              1 Antwort Letzte Antwort
              0
              • Jey CeeJ Online
                Jey CeeJ Online
                Jey Cee
                Developer
                schrieb am zuletzt editiert von
                #15

                @klassisch nimm mal das folgende Skript pass die ID an und beobachte die Ausgaben wenn dein ESP Daten schickt.

                on({id: '0_userdata.0.example_state'},
                    (obj) => {
                        log( `${typeof( obj.state.val )}, value: ${obj.state.val}` );
                    })
                

                @klassisch sagte in simpleApi weiß nicht mehr welchen Typ er will:

                Aha, in den Systemeinstellungen steht FloaterTeiler "," statt "."

                Das ist reine Kosmetik, intern wird immer noch mit "." gearbeitet.

                Persönlicher Support
                Spenden -> paypal.me/J3YC33

                K 1 Antwort Letzte Antwort
                0
                • K Online
                  K Online
                  klassisch
                  Most Active
                  schrieb am zuletzt editiert von
                  #16

                  Habe jetzt den Datentyp wieder auf Number umgestellt, erhalte aber Fehler

                  State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "number" but received type "string" 
                  
                  1 Antwort Letzte Antwort
                  0
                  • K klassisch

                    @paul53 Das hätte ich auch erwartet.

                    Schauen wir uns ein anderes Beispiel an:

                    State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "number" but received type "string" 
                    

                    Das Objekt hat Typ number

                    {
                      "from": "system.adapter.admin.0",
                      "user": "system.user.admin",
                      "ts": 1588573013258,
                      "common": {
                        "name": "H-abs",
                        "role": "",
                        "type": "number",
                        "desc": "Manuell erzeugt",
                        "unit": "g/m^3",
                        "read": true,
                        "write": true,
                        "def": false,
                    

                    Der ESP sendet 6.20

                    Jetzt ändere ich manuell in string

                     "name": "H-abs",
                        "role": "",
                        "type": "string",
                        "desc": "Manuell erzeugt",
                        "unit": "g/m^3",
                        "read": true,
                        "write": true,
                       
                    

                    und ich erhalte:

                    State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "string" but received type "number. 
                    

                    Jetzt gebe ich vom Browser aus ein:
                    ...:8087/set/0_userdata.0.heating.Werkstatt.H-abs?value=6.30

                    und erhalte im Browser die Antwort

                    id	"0_userdata.0.heating.Werkstatt.H-abs"
                    value	6.3
                    val	6.3
                    

                    und im iobroker log

                    State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "string" but received type "number
                    

                    Und in den Objekten sehe ich 6,3

                    Wo kommt jetzt das Komma her? Ich arbeite seit Jahr und Tag mit Punkt.

                    Jey CeeJ Online
                    Jey CeeJ Online
                    Jey Cee
                    Developer
                    schrieb am zuletzt editiert von
                    #17

                    @klassisch sagte in simpleApi weiß nicht mehr welchen Typ er will:

                    Jetzt gebe ich vom Browser aus ein:
                    ...:8087/set/0_userdata.0.heating.Werkstatt.H-abs?value=6.30

                    Wenn du folgendes eingibst erhälst du einen String statt einer Number:

                    ...:8087/set/0_userdata.0.heating.Werkstatt.H-abs?value="6.30"
                    

                    Nochmal es macht einen Unterschied wie der ESP die Daten sendet, bedeutet es zählt was der Sendet und damit auch wie er intern mit den Werten umgeht.

                    Persönlicher Support
                    Spenden -> paypal.me/J3YC33

                    1 Antwort Letzte Antwort
                    0
                    • Jey CeeJ Jey Cee

                      @klassisch nimm mal das folgende Skript pass die ID an und beobachte die Ausgaben wenn dein ESP Daten schickt.

                      on({id: '0_userdata.0.example_state'},
                          (obj) => {
                              log( `${typeof( obj.state.val )}, value: ${obj.state.val}` );
                          })
                      

                      @klassisch sagte in simpleApi weiß nicht mehr welchen Typ er will:

                      Aha, in den Systemeinstellungen steht FloaterTeiler "," statt "."

                      Das ist reine Kosmetik, intern wird immer noch mit "." gearbeitet.

                      K Online
                      K Online
                      klassisch
                      Most Active
                      schrieb am zuletzt editiert von
                      #18

                      @jey-cee sagte in simpleApi weiß nicht mehr welchen Typ er will:

                      on({id: '0_userdata.0.example_state'},

                      Vielen Dank, daß Du Dich der Sache annimmst

                      Ich füttere simpleApi über Browser mit 6.15 und erhalte im log (unten nach oben)

                      simple-api.0
                      	2021-12-26 11:22:48.501	info	State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "number" but received type "string"
                      javascript.0
                      	2021-12-26 11:22:42.388	info	script.js.tests.testSimpleApiTypeconfusion: number, value: 6.15
                      

                      Kurz drauf kommt der ESP und liefert ein:

                      javascript.0
                      	2021-12-26 11:23:48.512	info	script.js.tests.testSimpleApiTypeconfusion: string, value: 6.20
                      simple-api.0
                      	2021-12-26 11:23:48.507	info	State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "number" but received type "string"
                      simple-api.0
                      	2021-12-26 11:23:48.506	info	State value to set for "0_userdata.0.heating.Werkstatt.H-rel" has to be type "number" but received type "string" 
                      

                      Objekt noch immer number

                      "name": "H-abs",
                          "role": "",
                          "type": "number",
                          "desc": "Manuell erzeugt",
                          "unit": "g/m^3",
                          "read": true,
                          "write": true,
                         
                      
                      paul53P Jey CeeJ 2 Antworten Letzte Antwort
                      0
                      • K klassisch

                        @jey-cee sagte in simpleApi weiß nicht mehr welchen Typ er will:

                        on({id: '0_userdata.0.example_state'},

                        Vielen Dank, daß Du Dich der Sache annimmst

                        Ich füttere simpleApi über Browser mit 6.15 und erhalte im log (unten nach oben)

                        simple-api.0
                        	2021-12-26 11:22:48.501	info	State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "number" but received type "string"
                        javascript.0
                        	2021-12-26 11:22:42.388	info	script.js.tests.testSimpleApiTypeconfusion: number, value: 6.15
                        

                        Kurz drauf kommt der ESP und liefert ein:

                        javascript.0
                        	2021-12-26 11:23:48.512	info	script.js.tests.testSimpleApiTypeconfusion: string, value: 6.20
                        simple-api.0
                        	2021-12-26 11:23:48.507	info	State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "number" but received type "string"
                        simple-api.0
                        	2021-12-26 11:23:48.506	info	State value to set for "0_userdata.0.heating.Werkstatt.H-rel" has to be type "number" but received type "string" 
                        

                        Objekt noch immer number

                        "name": "H-abs",
                            "role": "",
                            "type": "number",
                            "desc": "Manuell erzeugt",
                            "unit": "g/m^3",
                            "read": true,
                            "write": true,
                           
                        
                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #19

                        @klassisch sagte: script.js.tests.testSimpleApiTypeconfusion: string, value: 6.20

                        Zahlen haben keine 0 hinten. Vielleicht wird es deshalb als String erkannt ?

                        EDIT: Wenn ich im Browser eine 0 anhänge, wird es trotzdem in Zahl gewandelt:

                        Bild_2021-12-26_114723.png

                        Es muss also an der Formatierung im ESP liegen, dass es als String erkannt wird.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                        K 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @klassisch sagte: script.js.tests.testSimpleApiTypeconfusion: string, value: 6.20

                          Zahlen haben keine 0 hinten. Vielleicht wird es deshalb als String erkannt ?

                          EDIT: Wenn ich im Browser eine 0 anhänge, wird es trotzdem in Zahl gewandelt:

                          Bild_2021-12-26_114723.png

                          Es muss also an der Formatierung im ESP liegen, dass es als String erkannt wird.

                          K Online
                          K Online
                          klassisch
                          Most Active
                          schrieb am zuletzt editiert von
                          #20

                          @paul53 Das scheint es nicht zu sein. Wenn ich per Browser 6.15 sende hatte ich das gleiche Problem

                          Hatte aber auch ein großes Win Update.
                          Und jetzt habe ich im Win wieder den Punkt und das Datumsformat yyyy-mm-dd eingsetellt, was anscheinend auch im Win vrstellt war.

                          Jetzt habe ich folgende Situation:
                          6.10 und 6.15 nacheinander über Browser eingegeben
                          Danach kam die 6.20 vom ESP

                          javascript.0
                          	2021-12-26 11:42:48.571	info	script.js.tests.testSimpleApiTypeconfusion: string, value: 6.20
                          simple-api.0
                          	2021-12-26 11:42:48.568	info	State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "number" but received type "string"
                          javascript.0
                          	2021-12-26 11:42:31.848	info	script.js.tests.testSimpleApiTypeconfusion: number, value: 6.15
                          javascript.0
                          	2021-12-26 11:42:26.438	info	script.js.tests.testSimpleApiTypeconfusion: number, value: 6.1
                          

                          Die 6.1 und die 6.15 vom Browser werden nicht mehr angemeckert. die 6.20 vom ESP schon.
                          Was macht der Browser anders?
                          Ich teste mal Chrome statt FF
                          Gleiches Ergebnis auf 6.3:

                          javascript.0
                          	2021-12-26 11:47:04.677	info	script.js.tests.testSimpleApiTypeconfusion: number, value: 6.3 
                          
                          1 Antwort Letzte Antwort
                          0
                          • K klassisch

                            @jey-cee sagte in simpleApi weiß nicht mehr welchen Typ er will:

                            on({id: '0_userdata.0.example_state'},

                            Vielen Dank, daß Du Dich der Sache annimmst

                            Ich füttere simpleApi über Browser mit 6.15 und erhalte im log (unten nach oben)

                            simple-api.0
                            	2021-12-26 11:22:48.501	info	State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "number" but received type "string"
                            javascript.0
                            	2021-12-26 11:22:42.388	info	script.js.tests.testSimpleApiTypeconfusion: number, value: 6.15
                            

                            Kurz drauf kommt der ESP und liefert ein:

                            javascript.0
                            	2021-12-26 11:23:48.512	info	script.js.tests.testSimpleApiTypeconfusion: string, value: 6.20
                            simple-api.0
                            	2021-12-26 11:23:48.507	info	State value to set for "0_userdata.0.heating.Werkstatt.H-abs" has to be type "number" but received type "string"
                            simple-api.0
                            	2021-12-26 11:23:48.506	info	State value to set for "0_userdata.0.heating.Werkstatt.H-rel" has to be type "number" but received type "string" 
                            

                            Objekt noch immer number

                            "name": "H-abs",
                                "role": "",
                                "type": "number",
                                "desc": "Manuell erzeugt",
                                "unit": "g/m^3",
                                "read": true,
                                "write": true,
                               
                            
                            Jey CeeJ Online
                            Jey CeeJ Online
                            Jey Cee
                            Developer
                            schrieb am zuletzt editiert von
                            #21

                            @klassisch also der Wert vom ESP kommt als String im ioBroker an, das hatte ich ja schon vermutet.
                            Es liegt also definitv am ESP der die Zahl als String sendet. Was läuft den auf deinem ESP für eine Firmware?

                            Persönlicher Support
                            Spenden -> paypal.me/J3YC33

                            K 1 Antwort Letzte Antwort
                            0
                            • Jey CeeJ Jey Cee

                              @klassisch also der Wert vom ESP kommt als String im ioBroker an, das hatte ich ja schon vermutet.
                              Es liegt also definitv am ESP der die Zahl als String sendet. Was läuft den auf deinem ESP für eine Firmware?

                              K Online
                              K Online
                              klassisch
                              Most Active
                              schrieb am zuletzt editiert von
                              #22

                              @jey-cee selbstgefrickeltes Arduino. Teilweise schon mit Uptime von 1490 Tagen

                              1 Antwort Letzte Antwort
                              0

                              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                              Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                              Registrieren Anmelden
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate
                              FAQ Cloud / IOT
                              HowTo: Node.js-Update
                              HowTo: Backup/Restore
                              Downloads
                              BLOG

                              360

                              Online

                              32.9k

                              Benutzer

                              83.0k

                              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