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. Problem mit getEnums()

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Problem mit getEnums()

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
12 Beiträge 5 Kommentatoren 2.9k Aufrufe
  • Ä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.
  • C Offline
    C Offline
    cstauch
    schrieb am zuletzt editiert von
    #3

    Tatsächlich, jetzt wird alles gefunden!

    Danke!!

    1 Antwort Letzte Antwort
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      schrieb am zuletzt editiert von
      #4

      Könnte es sein das du diesen Raum erstellt hast nachdem der JavaScript adapter gestartet war?

      Ich habe das Gefühl das enums nur einmalig beim Starten des Adapters eingeladen werden wodurch Änderungen fehlen

      –-----------------------

      Send from mobile device

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

        @Dutchman:

        Könnte es sein das du diesen Raum erstellt hast nachdem der JavaScript adapter gestartet war?

        Ich habe das Gefühl das enums nur einmalig beim Starten des Adapters eingeladen werden wodurch Änderungen fehlen `
        Ist auch für Objekte der Fall. Wenn ich in JS ZWave-Geräte überwache und ein neues einbinde, kriegt das Skript nix davon mit bis zum nächsten Neustart.

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

        1 Antwort Letzte Antwort
        0
        • Jey CeeJ Offline
          Jey CeeJ Offline
          Jey Cee
          Developer
          schrieb am zuletzt editiert von
          #6

          Ist ziemlich logisch, eine Variable, welche man ja mit seinen enums beschreibt, wird erst dann neu geschrieben wenn man einen Auslöser dafür hat.

          Also zum Beispiel zyklisch mit einem Cronjob.

          Vielleicht kann man ja auch irgendwie auf Änderungen der enums reagieren, das sind schließlich auch nur Objekte.

          Gesendet von Unterwegs

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

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

            Adapter haben

            subscribe[Foreign]Objects("*")
            

            und werden damit über Änderungen und hinzugefügte Objekte und States informiert.

            Wenn ich in einem Skript $(selector) ausführe, extern ein neues Objekt mit States hinzufüge und dann nochmals $(selector) ausführe, ändert sich die Liste der gefundenen States nicht - zumindest war das vor einer Weile noch so.

            Finde ich aus Benutzersicht nicht logisch.

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

            1 Antwort Letzte Antwort
            0
            • Jey CeeJ Offline
              Jey CeeJ Offline
              Jey Cee
              Developer
              schrieb am zuletzt editiert von
              #8

              Ich hab jetzt mal ein bisschen mit den 'enums' gespielt. Es ist wie ich schon geschrieben hab, die enums sind Objekte.

              Zugreifen kann man auf die enums mit:

              getObject('enum.rooms.Bad')
              

              Aber eine Subscription auf ein enum bringt nichts da es kein value hat. Das heisst die Subscription wird nie ausgelöst.

              Was mir bei getEnums() aufgefallen ist das ich kein Aufzählung in der 2ten Ebene abrufen kann.

              Weiss jemand ob das ohne Umwege geht?

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

              1 Antwort Letzte Antwort
              0
              • DutchmanD Offline
                DutchmanD Offline
                Dutchman
                Developer Most Active Administrators
                schrieb am zuletzt editiert von
                #9

                @Jey Cee:

                getObject('enum.rooms.Bad')
                

                Aber eine Subscription auf ein enum bringt nichts da es kein value hat. Das heisst die Subscription wird nie ausgelöst. `

                Doch das geht! Gestern noch ein Script damit gebaut:

                
                // Trigger on value change in origin values and syncronise to reverse values
                on({enumName: 'rolladen', change: "ne"}, function (obj) {
                
                    //reverse value from KNX to Yahka logic
                    var newvalue = 100 - obj.state.val;
                
                    //verify is calculated value is different, if yes update KNX value to reversed object otherwise do nothing
                    if (newvalue !== getState("rolladen_reversed_values." + obj.common.name).val){
                        setState("rolladen_reversed_values." + obj.common.name, newvalue, true);
                        console.debug('value change based on KNX trigger, received value = ' + obj.state.val + ' ,calculated to = ' + newvalue);
                
                    }
                
                });
                
                

                –-----------------------

                Send from mobile device

                1 Antwort Letzte Antwort
                0
                • Jey CeeJ Offline
                  Jey CeeJ Offline
                  Jey Cee
                  Developer
                  schrieb am zuletzt editiert von
                  #10

                  @Dutchman:

                  Doch das geht! Gestern noch ein Script damit gebaut: `

                  Da hast du mich missverstanden. Wenn du ein Member zur enum hinzufügst wird die Subscription nicht ausgelöst.

                  Dein Code hört auf Veränderungen der Member einer enum.

                  By the Way, ich erhalte folgende fehlermeldung wenn ich eine Subscription auf ein enum erstelle:

                  unsubscribe: empty name
                  

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

                  1 Antwort Letzte Antwort
                  0
                  • DutchmanD Offline
                    DutchmanD Offline
                    Dutchman
                    Developer Most Active Administrators
                    schrieb am zuletzt editiert von
                    #11

                    @Jey Cee:

                    By the Way, ich erhalte folgende fehlermeldung wenn ich eine Subscription auf ein enum erstelle:

                    unsubscribe: empty name
                    ```` `  
                    

                    Controller und JavaScript adapter Version ?

                    Wie sieht dein Code aus?

                    –-----------------------

                    Send from mobile device

                    1 Antwort Letzte Antwort
                    0
                    • Jey CeeJ Offline
                      Jey CeeJ Offline
                      Jey Cee
                      Developer
                      schrieb am zuletzt editiert von
                      #12

                      Hab das Problem gefunden die enum hatte einfach einen falschen Namen.

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

                      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

                      763

                      Online

                      32.5k

                      Benutzer

                      81.7k

                      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