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. Entwicklung
  4. State ... has to be type "string" but received type "object"

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

State ... has to be type "string" but received type "object"

Geplant Angeheftet Gesperrt Verschoben Entwicklung
13 Beiträge 4 Kommentatoren 1.5k Aufrufe 3 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.
  • S Sneak-L8

    Hallo zusammen,

    ich weiß, es gab da eine Änderng/verschärfung der Prüfungen. Aber wie mache ich es richtig?

    Ich habe einen Statem it Zeitstempel als type = string, role = datetime. Diesem weise ich bisher einen aktuellen Zeitstempel mit new date() zu.

    Wie erflgt die Zuweisung richtig? Mit .toISOString()? Oder sollte ich den State anders definieren?

    Viele Grüße
    Sneak-L8

    dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #2

    @sneak-l8 sagte in State ... has to be type "string" but received type "object":

    Oder sollte ich den State anders definieren?

    Vielleicht hilft Dir das weiter.
    https://www.iobroker.net/#de/documentation/dev/stateroles.md

    S 1 Antwort Letzte Antwort
    0
    • dslraserD dslraser

      @sneak-l8 sagte in State ... has to be type "string" but received type "object":

      Oder sollte ich den State anders definieren?

      Vielleicht hilft Dir das weiter.
      https://www.iobroker.net/#de/documentation/dev/stateroles.md

      S Offline
      S Offline
      Sneak-L8
      schrieb am zuletzt editiert von
      #3

      @dslraser Danke für den Hinweis.
      Musste erst auch Chrome wechseln, mit Firefox blieb die Seite leider bis auf den Balken oben leer...

      Role = date ist wohl das richtige. datetime finde ich nicht, ist doch aber auch sehr üblich gewesen. Wird auch nicht als Fehler gemeldet.
      Leider steht auf der Seite nicht, wie ein Datum korrekt als String übergeben wird (also welches Format). Aber da der state als Datum mit new Date(state) ausgelesen wird und dort das ISO-Format erwartet wird, ist wohl toISOString() ie Antwort ...

      dslraserD 1 Antwort Letzte Antwort
      0
      • S Sneak-L8

        @dslraser Danke für den Hinweis.
        Musste erst auch Chrome wechseln, mit Firefox blieb die Seite leider bis auf den Balken oben leer...

        Role = date ist wohl das richtige. datetime finde ich nicht, ist doch aber auch sehr üblich gewesen. Wird auch nicht als Fehler gemeldet.
        Leider steht auf der Seite nicht, wie ein Datum korrekt als String übergeben wird (also welches Format). Aber da der state als Datum mit new Date(state) ausgelesen wird und dort das ISO-Format erwartet wird, ist wohl toISOString() ie Antwort ...

        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #4

        @sneak-l8 sagte in State ... has to be type "string" but received type "object":

        datetime finde ich nicht,

        Es gibt z.B. auch value.datetime
        Ob das hilft oder wie man es übergibt weiß ich nicht.

        Auf der Seite suchen.

        Screenshot_20210921-115805_Chrome.jpg

        paul53P 1 Antwort Letzte Antwort
        0
        • dslraserD dslraser

          @sneak-l8 sagte in State ... has to be type "string" but received type "object":

          datetime finde ich nicht,

          Es gibt z.B. auch value.datetime
          Ob das hilft oder wie man es übergibt weiß ich nicht.

          Auf der Seite suchen.

          Screenshot_20210921-115805_Chrome.jpg

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

          @dslraser sagte: Es gibt z.B. auch value.time

          Das sind die ms seit 1.1.1970 0:00 Uhr UTC, also eine Zahl.

          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
          • S Sneak-L8

            Hallo zusammen,

            ich weiß, es gab da eine Änderng/verschärfung der Prüfungen. Aber wie mache ich es richtig?

            Ich habe einen Statem it Zeitstempel als type = string, role = datetime. Diesem weise ich bisher einen aktuellen Zeitstempel mit new date() zu.

            Wie erflgt die Zuweisung richtig? Mit .toISOString()? Oder sollte ich den State anders definieren?

            Viele Grüße
            Sneak-L8

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

            gelöscht.

            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

            S 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              gelöscht.

              S Offline
              S Offline
              Sneak-L8
              schrieb am zuletzt editiert von
              #7

              @dslraser Danke für den Hinweis. Hatte datetime selbst nicht gesehen, mit Textsuche klappt's dann auch :) Und damit ist datetime ja auch nicht falsch, nur meine Zuweisung mit dem Date-Objekt.

              @paul53 formatDate() führt hier m.E. nicht zum Ziel, da datetime ja gerade nicht nach jedes Gusto formatiert werden soll sondern nach einem festen Format. Leider steht da nur Systemformat und nicht eine konkrete Funktion. Aber da new Date(xxx) mit xxx = ISOString funktioniert, halte ich asISOString() für sehr wahrscheinlich.

              paul53P 1 Antwort Letzte Antwort
              0
              • S Sneak-L8

                @dslraser Danke für den Hinweis. Hatte datetime selbst nicht gesehen, mit Textsuche klappt's dann auch :) Und damit ist datetime ja auch nicht falsch, nur meine Zuweisung mit dem Date-Objekt.

                @paul53 formatDate() führt hier m.E. nicht zum Ziel, da datetime ja gerade nicht nach jedes Gusto formatiert werden soll sondern nach einem festen Format. Leider steht da nur Systemformat und nicht eine konkrete Funktion. Aber da new Date(xxx) mit xxx = ISOString funktioniert, halte ich asISOString() für sehr wahrscheinlich.

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

                @sneak-l8 sagte: new Date(xxx) mit xxx = ISOString funktioniert

                Ja, wenn Du mit dem Anzeigeformat leben kannst.

                Bild_2021-09-21_132252.png

                Sonst verwende besser .toLocaleString()

                Bild_2021-09-21_132606.png

                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

                S 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @sneak-l8 sagte: new Date(xxx) mit xxx = ISOString funktioniert

                  Ja, wenn Du mit dem Anzeigeformat leben kannst.

                  Bild_2021-09-21_132252.png

                  Sonst verwende besser .toLocaleString()

                  Bild_2021-09-21_132606.png

                  S Offline
                  S Offline
                  Sneak-L8
                  schrieb am zuletzt editiert von
                  #9

                  @paul53 Hm, dann hat ioBroker bisher (es funktioniert ja "noch" mit Objekt) den toString() gemnommen. Denn so standen sie bisher drin.
                  Dann wäre aber schön, das würde so in der Doku stehen. Ist der vis-Adapter da flexibel und nimmt sowohl das Format aus toSting() als auch toISOString()?

                  1 Antwort Letzte Antwort
                  0
                  • AlCalzoneA Offline
                    AlCalzoneA Offline
                    AlCalzone
                    Developer
                    schrieb am zuletzt editiert von
                    #10

                    Um noch zur Verwirrung beizutragen: In der englischen (Originalvariante) stehen date und datetime als deprecated (durchgestrichen).
                    https://www.iobroker.net/#en/documentation/dev/stateroles.md

                    Diese sollten nicht mehr verwendet werden und stattdessen nur value.time. Dort new Date().getTime() reinschreiben, dann gibts auch keine Format-Verwirrungen.

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

                    S 1 Antwort Letzte Antwort
                    0
                    • AlCalzoneA AlCalzone

                      Um noch zur Verwirrung beizutragen: In der englischen (Originalvariante) stehen date und datetime als deprecated (durchgestrichen).
                      https://www.iobroker.net/#en/documentation/dev/stateroles.md

                      Diese sollten nicht mehr verwendet werden und stattdessen nur value.time. Dort new Date().getTime() reinschreiben, dann gibts auch keine Format-Verwirrungen.

                      S Offline
                      S Offline
                      Sneak-L8
                      schrieb am zuletzt editiert von
                      #11

                      @alcalzone Danke, das ist eine klare Aussage.
                      Wie mache ich das aber mit bestehenden Adaptern? Den bestehenden State ändern? Das ist wohl auch deshalb schwierig, weil dann von string auf number gewechselt wird und die in der Datenbank (SQL.0) in unterschiedlichen Tabellen stehen ...

                      AlCalzoneA paul53P 2 Antworten Letzte Antwort
                      0
                      • S Sneak-L8

                        @alcalzone Danke, das ist eine klare Aussage.
                        Wie mache ich das aber mit bestehenden Adaptern? Den bestehenden State ändern? Das ist wohl auch deshalb schwierig, weil dann von string auf number gewechselt wird und die in der Datenbank (SQL.0) in unterschiedlichen Tabellen stehen ...

                        AlCalzoneA Offline
                        AlCalzoneA Offline
                        AlCalzone
                        Developer
                        schrieb am zuletzt editiert von
                        #12

                        @sneak-l8 Das macht's wohl schwieriger. Meine Meinung: Lass es so wie es ist und plane für neue Entwicklungen damit, nur noch value.time zu nutzen.

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

                        1 Antwort Letzte Antwort
                        1
                        • S Sneak-L8

                          @alcalzone Danke, das ist eine klare Aussage.
                          Wie mache ich das aber mit bestehenden Adaptern? Den bestehenden State ändern? Das ist wohl auch deshalb schwierig, weil dann von string auf number gewechselt wird und die in der Datenbank (SQL.0) in unterschiedlichen Tabellen stehen ...

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

                          @sneak-l8
                          Verwende Rolle "date", da laut Doku

                          date common.type = string - parsable by new Date(ddd) string

                          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
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          654

                          Online

                          32.6k

                          Benutzer

                          82.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