Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. Multiselect

NEWS

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

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

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

Multiselect

Geplant Angeheftet Gesperrt Verschoben Entwicklung
7 Beiträge 2 Kommentatoren 2.5k 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.
  • S Offline
    S Offline
    siedi
    schrieb am zuletzt editiert von
    #1

    Hi,

    arbeite gerade an einem Multiselect im selectDialog. Ausserdem dass auch Objekte, die keine States sind, ausgewählt werden können (wichtig für die Raumzuordnung, klick mich sonst zu tote).

    Frontendseitig schaut das soweit schon ganz gut aus. Fancytree is angepasst (bzw. die Optionen). Der callback für das Selektieren (select statt activate) hinzugefügt.

    434_multiselect.png

    Jetzt steht natürlich die größte Hürde an, das Speichern der selektierten IDs. Ein einfaches````
    _data.selectedID = newIds;

    
    Wahrscheinlich kann mir nur Bluefox einen Tipp geben, wäre sehr dankbar.
    
    LG
    
    Siedi
    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #2

      Wie seht dein newIds aus? ["id1", "id2", "id3"] ?

      Und was willst du damit machen? Einen Raum zuordnen?

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        siedi
        schrieb am zuletzt editiert von
        #3

        @Bluefox:

        Wie seht dein newIds aus? ["id1", "id2", "id3"] ? `

        Ja, so kann ich es formatieren (derzeit ist es noch das Object us dem Fancytree).

        @Bluefox:

        Und was willst du damit machen? Einen Raum zuordnen? `

        Genau.
        979_command.jpg

        1 Antwort Letzte Antwort
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          schrieb am zuletzt editiert von
          #4

          @siedi:

          @Bluefox:

          Wie seht dein newIds aus? ["id1", "id2", "id3"] ? `

          Ja, so kann ich es formatieren (derzeit ist es noch das Object us dem Fancytree).

          @Bluefox:

          Und was willst du damit machen? Einen Raum zuordnen? `

          Genau. `

          var IDs = ['id1', 'id2'];
          
          function addToRoom(IDs, room) {
          	// read enum
          	main.socket.emit('getObject', 'enum.rooms.' + room, function (err, obj) {
          		if (err) return main.showError(err);
          
          		if (obj && obj.common) {
          			obj.common.members = obj.common.members || [];
          			var changed = false;
          
          			// add all IDs, but check if yet consist
          			for (var id = 0; id < IDs.length; id++) {
          				if (obj.common.members.indexOf(IDs[id]) == -1) {
          					changed = true;
          					obj.common.members.push(IDs[id]);
          				}
          			}
          			// if something changed
          			if (changed) {
          				// write new settings
          				main.socket.emit('setObject', 'enum.rooms.' + room, obj, function (err) {
          					if (err) return main.showError(err);
          				});
          			}
          		}
          	});
          }
          
          addToRoom(IDs, 'DEIN_RAUM');
          

          Es kann sein, dass du statt "main" das "that.main" benutzen solltest. Das hängt davon ab wo du es aufrufst.

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            siedi
            schrieb am zuletzt editiert von
            #5

            Hi Bluefox.

            danke für deinen Vorschlag. Hab das jetzt mal direkt im admin.js / selectID.js des admin Moduls implementiert und einen Pull request dafür erstellt:

            https://github.com/ioBroker/ioBroker.admin/pull/46

            Leider weiss ich nicht, ob und wie die selectID.js auch in anderen Modulen verwendet wird. Ggf. lässt sich der Aufruf auch parametrisieren, so dass je nach Bedarf das Multiselect zur Verfügung gestellt wird oder nicht.

            Würd mich über dein Feedback freuen.

            LG

            Siedi

            1 Antwort Letzte Antwort
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              schrieb am zuletzt editiert von
              #6

              Super!!!! Es funktioniert. !! 😄

              Danke. 🙂

              Weiter so 🙂

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

                Super, danke!

                Musste allerdings noch zwei kleine Bugfixes vornehmen, hab noch mal ein Pull request erstellt.

                https://github.com/ioBroker/ioBroker.admin/pull/47

                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

                302

                Online

                32.4k

                Benutzer

                81.4k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe