Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Set state to null?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Set state to null?

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      ichderarnd last edited by ichderarnd

      Mir gelingt es nicht, einen State mit setState() im Javascript auf null zu setzen.
      Bzw. finde ich bisher nicht, wie es geht.

      Hintergrund: Ich möchte nicht "expire" nutzen sondern im Script entscheiden, wann ich keinen Zustand mehr habe und diesen auf null setzen damit über den History-Adapter / Grafana auch tatsächlich dokumentiert ist, dass es zu diesem Zeitpunkt keinen Wert gab.

      Sollte es gar nicht gehen, muss ich wohl Werte weit außerhalb des Wertebereichs nehmen und per SQL dann als null an Grafana liefern...

      (Edit: Argh, bin versehentlich im ioBroker Allgemein gelandet. Verschieben kann ich selbst wohl nicht?
      Edit2: Danke für‘s Verschieben :))

      arteck OliverIO 2 Replies Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active @ichderarnd last edited by arteck

        @arndl nimm liber ein wertebereich z🅱 99 den du selber setzten kannst..

        eine null ist ein nicht definierter Wert und das ist nur dan nwenn das Object nicht initialisiiert wurde... solle eigentlich NIE passieren.
        mann sollte die Variablen immer ninitialisieren (ok ausser in ABAP da ist initial auch space 🙂 )

        I 1 Reply Last reply Reply Quote 0
        • I
          ichderarnd @arteck last edited by

          @arteck
          Genau das möchte ich ja erreichen: einen undefinierten Wert.
          Lege ich einen State neu an, ist der Wert zunächst undefiniert. Ich kann dann einen Wert setzen, komme aber nicht wieder in diesen Zustand zurück wenn es keinen gültigen Wert mehr gibt.

          Beispiel: Ein Ping auf eine IP Adresse. Ein Timeout kann nur sinnvoll als null abgebildet werden. 5000 ms wäre ebenso falsch wie 0 ms.

          F0DBD539-40B5-4360-A8E8-45EA7D18D268.jpeg

          Im Screenshot ist zu sehen, dass ab 11 Uhr das Internet ausgefallen ist. Es wird der letzte Ping Wert angezeigt, was jedoch nicht korrekt ist. Könnte ich den Wert auf null setzen, wäre der Graf dort unterbrochen.

          1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @ichderarnd last edited by

            @arndl sagte in Set state to null?:

            Mir gelingt es nicht, einen State mit setState() im Javascript auf null zu setzen.
            Bzw. finde ich bisher nicht, wie es geht.

            Hintergrund: Ich möchte nicht "expire" nutzen sondern im Script entscheiden, wann ich keinen Zustand mehr habe und diesen auf null setzen damit über den History-Adapter / Grafana auch tatsächlich dokumentiert ist, dass es zu diesem Zeitpunkt keinen Wert gab.

            Sollte es gar nicht gehen, muss ich wohl Werte weit außerhalb des Wertebereichs nehmen und per SQL dann als null an Grafana liefern...

            (Edit: Argh, bin versehentlich im ioBroker Allgemein gelandet. Verschieben kann ich selbst wohl nicht?)

            dann musst du den datentyp des datenpunkts auf object setzen.
            wahrscheinlich ist der bei dir nummer.
            null ist für nummer kein gültiger wert.
            optional kannst du dann in dein skript eine eigene formatprüfung einbauen.

            I 1 Reply Last reply Reply Quote 0
            • I
              ichderarnd @OliverIO last edited by

              @oliverio
              Danke für den Hinweis! Das probiere ich heute Abend aus.
              Ja, der Typ ist number.

              I 1 Reply Last reply Reply Quote 0
              • I
                ichderarnd @ichderarnd last edited by

                Mit object funktioniert es nicht aber mit dem Typ „mixed“.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate

                852
                Online

                31.8k
                Users

                80.0k
                Topics

                1.3m
                Posts

                3
                6
                471
                Loading More Posts
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes
                Reply
                • Reply as topic
                Log in to reply
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                The ioBroker Community 2014-2023
                logo