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. JavaScript
  5. [gelöst] Bug in Javascript?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

[gelöst] Bug in Javascript?

Geplant Angeheftet Gesperrt Verschoben JavaScript
17 Beiträge 4 Kommentatoren 1.1k 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.
  • T Nicht stören
    T Nicht stören
    ticaki
    schrieb am zuletzt editiert von ticaki
    #2

    @iob69

    Hehe das ist ein String den getState dir da liefert.

    Edit: wobei ich jetzt angenommen hätte das bei einem == Vergleich gleich True ist

    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

    Spenden

    I haus-automatisierungH 2 Antworten Letzte Antwort
    0
    • T ticaki

      @iob69

      Hehe das ist ein String den getState dir da liefert.

      Edit: wobei ich jetzt angenommen hätte das bei einem == Vergleich gleich True ist

      I Offline
      I Offline
      iob69
      schrieb am zuletzt editiert von
      #3

      @ticaki sagte in Bug in Javascript?:

      das ist ein String den getState dir da liefert

      Wie bitte?

      T 1 Antwort Letzte Antwort
      0
      • T ticaki

        @iob69

        Hehe das ist ein String den getState dir da liefert.

        Edit: wobei ich jetzt angenommen hätte das bei einem == Vergleich gleich True ist

        haus-automatisierungH Online
        haus-automatisierungH Online
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von
        #4

        @ticaki sagte in Bug in Javascript?:

        Hehe das ist ein String den getState dir da liefert.
        Edit: wobei ich jetzt angenommen hätte das bei einem == Vergleich gleich True ist

        Nein. true == 'true' ist nie wahr. Das wär ja übel :)

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        I 1 Antwort Letzte Antwort
        0
        • haus-automatisierungH haus-automatisierung

          @ticaki sagte in Bug in Javascript?:

          Hehe das ist ein String den getState dir da liefert.
          Edit: wobei ich jetzt angenommen hätte das bei einem == Vergleich gleich True ist

          Nein. true == 'true' ist nie wahr. Das wär ja übel :)

          I Offline
          I Offline
          iob69
          schrieb am zuletzt editiert von iob69
          #5

          @ticaki
          Das kann nicht sein. Ich hab ja
          let state: boolean = getstate(...
          Das ist typescript. Da könnte nie ein string zugeordnet werden.

          T haus-automatisierungH 2 Antworten Letzte Antwort
          0
          • I iob69

            @ticaki sagte in Bug in Javascript?:

            das ist ein String den getState dir da liefert

            Wie bitte?

            T Nicht stören
            T Nicht stören
            ticaki
            schrieb am zuletzt editiert von
            #6

            @iob69

            Ich hab das Zeichen nicht aufm Handy. Da sind Gänsefüßchen um das true um debugfenster das bedeutet üblicherweise das es ein String ist

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            1 Antwort Letzte Antwort
            0
            • I iob69

              Hallo, ich hab ein Phänomen, das wie ein Bug aussieht, obwohl ich mir das fast nicht vorstellen, kann, dass so was essenzielles falsch laufen kann. Vielleicht hab ich nur Tomaten auf den Augen :thinking_face:

              Ich hab folgender Script-Teil:

                      let state: boolean = getState(DPOccupancy).val;
                      if (state == true) {
                          // einschalten
                          console.log('occupancy for on:' + state);
                      } else {
                          // ausschalten
                          console.log('occupancy for off:' + state);
                       }
              

              mit folgender Ausgabe:

              occupancy for off:true
              

              Komisch, nicht?
              Der debugger bestätigt mir, dass er trotz state==true (siehe unten im watch) in den else - Zweig geht!?
              22fb0f75-f669-4028-b827-f1a0620afbd0-grafik.png

              Was mach ich hier falsch???

              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von
              #7

              @iob69

              ja string und du bist in die
              truthy / falsy falle getappt

              https://developer.mozilla.org/en-US/docs/Glossary/Truthy
              https://developer.mozilla.org/en-US/docs/Glossary/Falsy

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              I 1 Antwort Letzte Antwort
              0
              • OliverIOO OliverIO

                @iob69

                ja string und du bist in die
                truthy / falsy falle getappt

                https://developer.mozilla.org/en-US/docs/Glossary/Truthy
                https://developer.mozilla.org/en-US/docs/Glossary/Falsy

                I Offline
                I Offline
                iob69
                schrieb am zuletzt editiert von
                #8

                @oliverio
                Nein, state kann kein String sein, er wird ja als boolean deklariert

                1 Antwort Letzte Antwort
                0
                • I iob69

                  @ticaki
                  Das kann nicht sein. Ich hab ja
                  let state: boolean = getstate(...
                  Das ist typescript. Da könnte nie ein string zugeordnet werden.

                  T Nicht stören
                  T Nicht stören
                  ticaki
                  schrieb am zuletzt editiert von
                  #9

                  @iob69

                  Typescript prüft keine Werte zur Laufzeit

                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                  Spenden

                  I 1 Antwort Letzte Antwort
                  0
                  • T ticaki

                    @iob69

                    Typescript prüft keine Werte zur Laufzeit

                    I Offline
                    I Offline
                    iob69
                    schrieb am zuletzt editiert von
                    #10

                    @ticaki
                    Aber der Datentyp des Datenpunktes ist auch Boolean!

                    T 1 Antwort Letzte Antwort
                    0
                    • I iob69

                      @ticaki
                      Das kann nicht sein. Ich hab ja
                      let state: boolean = getstate(...
                      Das ist typescript. Da könnte nie ein string zugeordnet werden.

                      haus-automatisierungH Online
                      haus-automatisierungH Online
                      haus-automatisierung
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #11

                      @iob69 sagte in Bug in Javascript?:

                      Das ist typescript. Da könnte nie ein string zugeordnet werden.

                      Das ist nicht so ganz richtig, .val kann alles mögliche auf einem State sein. Der Typ ist als any definiert.

                      Screenshot 2025-02-11 at 15.21.27.png

                      @iob69 sagte in Bug in Javascript?:

                      Aber der Datentyp des Datenpunktes ist auch Boolean!

                      Und der aktuelle Wert in dem Datenpunkt auch? Weil man aktuell noch andere Datentypen schreiben kann, als der State vorgibt. Das erzeugt nur eine Warnung im Log.

                      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                      📚 Meine inoffizielle ioBroker Dokumentation

                      1 Antwort Letzte Antwort
                      1
                      • I iob69

                        @ticaki
                        Aber der Datentyp des Datenpunktes ist auch Boolean!

                        T Nicht stören
                        T Nicht stören
                        ticaki
                        schrieb am zuletzt editiert von
                        #12

                        @iob69

                        Teste es doch mit einem typeof Ich kann nur sagen was ich sehe

                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                        Spenden

                        I 1 Antwort Letzte Antwort
                        1
                        • T ticaki

                          @iob69

                          Teste es doch mit einem typeof Ich kann nur sagen was ich sehe

                          I Offline
                          I Offline
                          iob69
                          schrieb am zuletzt editiert von
                          #13

                          @ticaki
                          Ok, stimmt, typeof liefert string!???
                          Wieso liefert mir val einen String wenn der Datenpunkt vom typ boolean ist? wozu gibt man denn den typen in einem Datentyp überhaupt an???

                          haus-automatisierungH 1 Antwort Letzte Antwort
                          0
                          • I iob69

                            @ticaki
                            Ok, stimmt, typeof liefert string!???
                            Wieso liefert mir val einen String wenn der Datenpunkt vom typ boolean ist? wozu gibt man denn den typen in einem Datentyp überhaupt an???

                            haus-automatisierungH Online
                            haus-automatisierungH Online
                            haus-automatisierung
                            Developer Most Active
                            schrieb am zuletzt editiert von
                            #14

                            @iob69 sagte in Bug in Javascript?:

                            wozu gibt man denn den typen in einem Datentyp überhaupt an???

                            Wie gesagt, man bekommt eine Warnung wenn man einen anderen Datentyp schreibt als angegeben. Wie genau hast den Datenpunkt denn geschrieben?

                            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                            📚 Meine inoffizielle ioBroker Dokumentation

                            I 1 Antwort Letzte Antwort
                            2
                            • haus-automatisierungH haus-automatisierung

                              @iob69 sagte in Bug in Javascript?:

                              wozu gibt man denn den typen in einem Datentyp überhaupt an???

                              Wie gesagt, man bekommt eine Warnung wenn man einen anderen Datentyp schreibt als angegeben. Wie genau hast den Datenpunkt denn geschrieben?

                              I Offline
                              I Offline
                              iob69
                              schrieb am zuletzt editiert von
                              #15

                              @haus-automatisierung
                              Der wird von einem Sensor geliefert:

                              2b0b9d54-9914-4d15-b63b-511c919ba496-grafik.png

                              Dann ist der wohl ein string, so n sch...
                              Und den mappe ich dann auf einen boolean. Ok, danke ich weiss jetzt etwa wo ich suchen muss, danke an alle!

                              haus-automatisierungH 1 Antwort Letzte Antwort
                              0
                              • I iob69

                                @haus-automatisierung
                                Der wird von einem Sensor geliefert:

                                2b0b9d54-9914-4d15-b63b-511c919ba496-grafik.png

                                Dann ist der wohl ein string, so n sch...
                                Und den mappe ich dann auf einen boolean. Ok, danke ich weiss jetzt etwa wo ich suchen muss, danke an alle!

                                haus-automatisierungH Online
                                haus-automatisierungH Online
                                haus-automatisierung
                                Developer Most Active
                                schrieb am zuletzt editiert von
                                #16

                                @iob69 sagte in Bug in Javascript?:

                                Der wird von einem Sensor geliefert:

                                Dann bitte einen Issue im Adapter öffnen, welcher den State falsch setzt. Falls Du eh mit einem Alias arbeitest, dann kannst ja einfach die Lesefunktion nutzen, um daraus ein Boolean zu machen:

                                val === 'true'

                                🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                📚 Meine inoffizielle ioBroker Dokumentation

                                I 1 Antwort Letzte Antwort
                                0
                                • haus-automatisierungH haus-automatisierung

                                  @iob69 sagte in Bug in Javascript?:

                                  Der wird von einem Sensor geliefert:

                                  Dann bitte einen Issue im Adapter öffnen, welcher den State falsch setzt. Falls Du eh mit einem Alias arbeitest, dann kannst ja einfach die Lesefunktion nutzen, um daraus ein Boolean zu machen:

                                  val === 'true'

                                  I Offline
                                  I Offline
                                  iob69
                                  schrieb am zuletzt editiert von
                                  #17

                                  @haus-automatisierung
                                  Nein, der Adapter kann nichts dafür, der DP ist string. Ich hab den mal gelöscht und beim wiedererstellen hab ich das offenbar nicht wieder auf bool geändert.

                                  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

                                  911

                                  Online

                                  32.6k

                                  Benutzer

                                  81.9k

                                  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