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. getState - warning log / JS Dokumentation

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.5k

getState - warning log / JS Dokumentation

Geplant Angeheftet Gesperrt Verschoben JavaScript
17 Beiträge 5 Kommentatoren 2.0k Aufrufe 4 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 Offline
    S Offline
    SaschaS
    schrieb am zuletzt editiert von
    #5

    Irgendwas passt da nicht zusammen.
    Ich gehe davon aus, dass beim obigen Code in der Zeile

    var myState = $('state[state.id=stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZEN]');
    

    ein 'state' zu viel drin ist. Denn mit der Zeile

    console.log($('state[id=stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.]'));
    

    erhalte ich:

    18:40:38.156	info	javascript.0 (13463) script.js.Tests.Statusabfrage: {'0':'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.ABTAUEN_VERDAMPFER','1':'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZEN','2':'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.SCHALTPROGRAMM_AKTIV','length':3}
    

    Allerdings passt das nicht zu der Anzahl der states auf dem Bild... Ich erkenne keine Logik..
    006df1bc-3ae3-4d47-bae1-dd11ff7f30c1-image.png

    1 Antwort Letzte Antwort
    0
    • T Nicht stören
      T Nicht stören
      ticaki
      schrieb am zuletzt editiert von ticaki
      #6

      Ich muß jetzt mal kurz meinem Ärger Luft machen, dass alles was man nicht testet auch nicht so funktioniert wie man erhofft. :)

      Jetzt gehts:

      var myState = $('state[state.id=javascript.0.test5.0.test]');
      if (myState['length'] > 0) {
        console.log('da');
      } else {
        console.log('weg');
      }
      

      Die 2 Bedingung in if ist unnötig.
      Sry, hab dir bestimmt unnötige arbeit gemacht. :)

      Zu deinen weiteren Anmerkungen hab ich mich noch nicht tief genug eingearbeitet. Diese Selektor werden dafür verwendet "Arrays" bzw. Json von Objekten zu bekommen.
      z.B

      $('state[state.id=javascript.0.test5.0.*]');
      

      gibt dir alles unterhalb von ...test5.0.

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        SaschaS
        schrieb am zuletzt editiert von
        #7

        @ticaki Danke, dass du dir das noch einmal angeschaut hast. Brauchst dir aber keine Vorwürfe machen. Ich hab in der Zeit einiges dazugelernt.

        Muss dennoch noch einmal einhaken.

        @ticaki said in getState - warning log / JS Dokumentation:

        Zu deinen weiteren Anmerkungen hab ich mich noch nicht tief genug eingearbeitet. Diese Selektor werden dafür verwendet "Arrays" bzw. Json von Objekten zu bekommen.
        z.B
        $('state[state.id=javascript.0.test5.0.*]');

        gibt dir alles unterhalb von ...test5.0.

        Bei mir stimmt das nicht. Mit

        console.log($('state[id=stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.]'));
        

        oder

        console.log($('state[id=stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.*]'));
        

        sollte ich ja erhalten:
        992e7df2-1e9f-407f-99b3-6bb9d2dba92c-image.png

        Ich erhalte aber lediglich:

        07:31:21.722	info	javascript.0 (13463) script.js.Tests.Statusabfrage: {'0':'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.SCHALTPROGRAMM_AKTIV','length':1}
        

        Und gestern Abend habe ich mit selbiger Abfrage mehr erhalten:

        18:40:38.156 info javascript.0 (13463) script.js.Tests.Statusabfrage: {'0':'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.ABTAUEN_VERDAMPFER','1':'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZEN','2':'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.SCHALTPROGRAMM_AKTIV','length':3}
        
        1 Antwort Letzte Antwort
        0
        • T Nicht stören
          T Nicht stören
          ticaki
          schrieb am zuletzt editiert von
          #8

          Da muß ich passen, bei mir geht es in jedem von mir getesteten Zweig mit diesen beiden und zeigt auch den richtigen Inhalt an. Ist es möglich das die States garnicht existieren? Hast du unmittelbar um den Test herum ein Reload des Objekttab gemacht?

          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

          Spenden

          S 1 Antwort Letzte Antwort
          0
          • C Offline
            C Offline
            CruziX
            schrieb am zuletzt editiert von CruziX
            #9

            Das sollte glaube auch so gehen

            let exists = $(idVomDp);
            

            Müsste dann false sein, wenn er nicht vorhanden ist.
            bzw. prüfe ich dann immer
            if(!exists) {}

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

              Hallo zusammen, nehmt doch einfach existsState(id) :)

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

              C S T 3 Antworten Letzte Antwort
              3
              • AlCalzoneA AlCalzone

                Hallo zusammen, nehmt doch einfach existsState(id) :)

                C Offline
                C Offline
                CruziX
                schrieb am zuletzt editiert von
                #11

                @AlCalzone sagte in getState - warning log / JS Dokumentation:

                existsState

                Die Funktion gibt es?
                Ist gar nicht in der Doku beschrieben

                AlCalzoneA 1 Antwort Letzte Antwort
                0
                • C CruziX

                  @AlCalzone sagte in getState - warning log / JS Dokumentation:

                  existsState

                  Die Funktion gibt es?
                  Ist gar nicht in der Doku beschrieben

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

                  @CruziX Ja gibt es. Sollte eigentlich auch im Dropdown für autocomplete auftauchen:

                  	/**
                  	 * Checks if the state with the given ID exists
                  	 */
                  	function existsState(id: string): boolean;
                  	/**
                  	 * Checks if the object with the given ID exists
                  	 */
                  	function existsObject(id: string): boolean;
                  

                  Wenn sie nicht in der Doku steht, ist natürlich doof.

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

                  C 1 Antwort Letzte Antwort
                  0
                  • AlCalzoneA AlCalzone

                    @CruziX Ja gibt es. Sollte eigentlich auch im Dropdown für autocomplete auftauchen:

                    	/**
                    	 * Checks if the state with the given ID exists
                    	 */
                    	function existsState(id: string): boolean;
                    	/**
                    	 * Checks if the object with the given ID exists
                    	 */
                    	function existsObject(id: string): boolean;
                    

                    Wenn sie nicht in der Doku steht, ist natürlich doof.

                    C Offline
                    C Offline
                    CruziX
                    schrieb am zuletzt editiert von
                    #13

                    @AlCalzone Das ist natürlich praktisch ^^
                    Wo kann man denn die Funktionen im Code direkt ansehen?

                    AlCalzoneA 1 Antwort Letzte Antwort
                    0
                    • C CruziX

                      @AlCalzone Das ist natürlich praktisch ^^
                      Wo kann man denn die Funktionen im Code direkt ansehen?

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

                      @CruziX Diese Datei enthält die Definitionen für Auto-Complete und Syntax-Check:
                      https://github.com/ioBroker/ioBroker.javascript/blob/master/lib/javascript.d.ts
                      Interessant wird es ab https://github.com/ioBroker/ioBroker.javascript/blob/5055cc9cb5e017c37eb9a64f0084e2a76fba26f2/lib/javascript.d.ts#L537

                      Die Funktionen selbst kannst du dir hier anschauen (sandbox-Objekt):
                      https://github.com/ioBroker/ioBroker.javascript/blob/5055cc9cb5e017c37eb9a64f0084e2a76fba26f2/lib/sandbox.js#L452

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

                      1 Antwort Letzte Antwort
                      1
                      • T ticaki

                        Da muß ich passen, bei mir geht es in jedem von mir getesteten Zweig mit diesen beiden und zeigt auch den richtigen Inhalt an. Ist es möglich das die States garnicht existieren? Hast du unmittelbar um den Test herum ein Reload des Objekttab gemacht?

                        S Offline
                        S Offline
                        SaschaS
                        schrieb am zuletzt editiert von
                        #15

                        @ticaki Der Cache des Browers hat mich in die Irre geführt.

                        1 Antwort Letzte Antwort
                        0
                        • AlCalzoneA AlCalzone

                          Hallo zusammen, nehmt doch einfach existsState(id) :)

                          S Offline
                          S Offline
                          SaschaS
                          schrieb am zuletzt editiert von
                          #16

                          @AlCalzone said in getState - warning log / JS Dokumentation:

                          Hallo zusammen, nehmt doch einfach existsState(id) :)

                          Die macht das Leben so viel einfacher. Die kannte ich in der Tat noch nicht..Genial :-)

                          1 Antwort Letzte Antwort
                          0
                          • AlCalzoneA AlCalzone

                            Hallo zusammen, nehmt doch einfach existsState(id) :)

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

                            @AlCalzone
                            Danke

                            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                            Spenden

                            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

                            793

                            Online

                            32.4k

                            Benutzer

                            81.6k

                            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