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. Visualisierung
  4. [Gelöst] Zugriffsrechte Bedienen vis

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    15
    1
    212

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.4k

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

[Gelöst] Zugriffsrechte Bedienen vis

Geplant Angeheftet Gesperrt Verschoben Visualisierung
20 Beiträge 10 Kommentatoren 6.2k 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.
  • RK62R Offline
    RK62R Offline
    RK62
    schrieb am zuletzt editiert von
    #7

    Ich möchte mich hier auch anschließen: Habe zunächst alle Instanzen eingerichtet und leider erst jetzt bei der Aktivierung der Berechtigung bemerkt, dass der Defaultwert im ADMIN nicht richtig gesetzt war :shock:

    Ich hätte auch Bedarf an einer Massenänderung…

    Gruß, Ralf

    1 Antwort Letzte Antwort
    0
    • RK62R Offline
      RK62R Offline
      RK62
      schrieb am zuletzt editiert von Dutchman
      #8

      Habe die Massenänderung von Berechtigungen hinbekommen, Script findet ihr hier:

      Link zum script

      Gruß, Ralf

      1 Antwort Letzte Antwort
      0
      • lobomauL Offline
        lobomauL Offline
        lobomau
        schrieb am zuletzt editiert von
        #9

        @RK62:

        Habe die Massenänderung von Berechtigungen hinbekommen, Script findet ihr hier:

        viewtopic.php?f=21&t=11610&start=40

        Gruß, Ralf `
        Es funktioniert! Lustig, bin erst vor knapp zwei Stunden auf das Problem gestoßen und fast im gleichen Augenblick wird hier eine Lösung dazu gezeigt.

        Ich habe auch das Hue_Szenen-Script, aber bei mir waren da interessanterweise die Berechtigungen schon richtig. Ich habe im ersten Versuch meine Hue-Lampen mit Dimmer angepasst.

        Für alle, die auch so wenig von javascript verstehen wie ich, hier die Anpassung dazu. Man muss im Script nur Zeile 12 mit true setzen, Zeile 13 den Gruppennamen anpassen und am Ende die entsprechenden Channels anpassen:

        /*  ============================================================================
            Objektberechtigungen  an User vergeben
            !!! ACHTUNG !!!
            Ggf. werden Rechte so verändert, dass der Zugriff verloren geht!
            - Vorher Konfiguration sichern!
            - Der Admin sollte auf jeden Fall in der vergebenen Gruppe zugeordnet sein
            - In der Java-Instanz muss <erlaube das/kommando/"setobject"=""> angehakt sein
        
            01.05.2018 R.Krüger --- Erstellung
            ============================================================================ */
        
        const cUpdate   = true;                            // Bei true werden Berechtigungen gesetzt
        const cGroup    = "system.group.anwender";           // Zuzuordnende Gruppe
        
        function SelectObjects(cacheSelectorState) {
            $(cacheSelectorState).each(function(id,i) {
                var vBeschreibung   = getObject(id).common.name;
                var vRole           = getObject(id).common.role;
        
                if (cUpdate) {
                    log(' **UPDATE** '+id+' ['+vRole+'] '+vBeschreibung);
                    var obj = getObject(id);
                    obj.acl.ownerGroup = cGroup;
                    setObject(id, obj);
                } else {
                    log(' '+id+' ['+vRole+'] '+vBeschreibung);
                }
            }
        )}
        
        log("================== START" );
        SelectObjects("state[id=hue.0.Philips_hue]channel[role=level.dimmer]");         // Alle Hue-Dimmer freigeben
        //SelectObjects("state[id=javascript.0.esk]channel[role=button]");                // Alle eigenen Buttons
        //SelectObjects("state[id=harmony.0.HH-RK]channel[role=button]");                 // Logitech Harmony
        //SelectObjects("state[id=harmony.0.HH-RK]channel[role=switch]");                 // Logitech Harmony
        log("================== ENDE");</erlaube>
        

        P.S. wenn man das Script das erste Mal mit false laufen lässt kommen error. Nach einmal true, dann wieder false läuft es ohne Fehler.

        P.P.S. der Fehler kommt jetzt bei meiner weiteren Anpassung. Ich hatte die Massenänderung probiert für HM_IP:

        /*  ============================================================================
            Objektberechtigungen  an User vergeben
            !!! ACHTUNG !!!
            Ggf. werden Rechte so verändert, dass der Zugriff verloren geht!
            - Vorher Konfiguration sichern!
            - Der Admin sollte auf jeden Fall in der vergebenen Gruppe zugeordnet sein
            - In der Java-Instanz muss <erlaube das/kommando/"setobject"=""> angehakt sein
        
            01.05.2018 R.Krüger --- Erstellung
            ============================================================================ */
        
        const cUpdate   = true;                            // Bei true werden Berechtigungen gesetzt
        const cGroup    = "system.group.anwender";           // Zuzuordnende Gruppe
        
        function SelectObjects(cacheSelectorState) {
            $(cacheSelectorState).each(function(id,i) {
                var vBeschreibung   = getObject(id).common.name;
                var vRole           = getObject(id).common.role;
        
                if (cUpdate) {
                    log(' **UPDATE** '+id+' ['+vRole+'] '+vBeschreibung);
                    var obj = getObject(id);
                    obj.acl.ownerGroup = cGroup;
                    setObject(id, obj);
                } else {
                    log(' '+id+' ['+vRole+'] '+vBeschreibung);
                }
            }
        )}
        
        log("================== START" );
        SelectObjects("state[id=hue.0.Philips_hue]channel[role=level.dimmer]");         // Alle Hue-Dimmer freigeben
        SelectObjects("state[id=hm-rpc.2]channel[role=state]");                         // Alle hmip states
        //SelectObjects("state[id=harmony.0.HH-RK]channel[role=button]");               // Logitech Harmony
        //SelectObjects("state[id=harmony.0.HH-RK]channel[role=switch]");               // Logitech Harmony
        log("================== ENDE");</erlaube>
        

        Fehlerlog:

        javascript.0	2018-05-01 22:11:29.421	error	TypeError: Cannot read property 'common' of undefined
        javascript.0	2018-05-01 22:11:29.420	error	^
        javascript.0	2018-05-01 22:11:29.420	error	} else if (objects[id].common) {
        javascript.0	2018-05-01 22:11:29.420	error	script.js.common.Massenänderung: /opt/iobroker/node_modules/iobroker.javascript/javascript.js:1252
        

        Jemand eine Idee woran es liegt? Ist "hm-rpc.2" zu kurz? Müsste es sowas wie "hm-rpc.2.xxxx" sein?

        Host: NUC8i3 mit Proxmox:

        • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
        • Slave: Pi4
        1 Antwort Letzte Antwort
        0
        • RK62R Offline
          RK62R Offline
          RK62
          schrieb am zuletzt editiert von
          #10

          > P.S. wenn man das Script das erste Mal mit false laufen lässt kommen error. Nach einmal true, dann wieder false läuft es ohne Fehler.
          Ggf. standen die rechte vorher falsch so dass kein lesender Zugriff möglich war.

          > P.P.S. der Fehler kommt jetzt bei meiner weiteren Anpassung. Ich hatte die Massenänderung probiert für HM_IP:
          Bei HM_IP kann ich leider nicht weiterhelfen, habe ich selbst nicht im Einsatz.

          Vielleicht haben die selektierten Objekte keine common Einstellung.

          Ggf. mal Objekt editieren und unter raw ansehen.

          Gruß, Ralf

          1 Antwort Letzte Antwort
          0
          • K Offline
            K Offline
            k.e
            schrieb am zuletzt editiert von
            #11

            @RK62:

            Habe die Massenänderung von Berechtigungen hinbekommen, Script findet ihr hier:

            viewtopic.php?f=21&t=11610&start=40

            Gruß, Ralf `

            Hallo zusammen,

            ich habe ein ähnliches Problem, aber in meinem Fall würde ich ungerne die Gruppe der Objekte ändern. Ich würde viel lieber die Zugriffsrechte zum Schreiben für "Jeder" per Skript aktivieren (das wäre per Hand zu mühselig). Leider bin ich in JS noch ziemlich neu, daher die Frage: kann man das Skript entsprechend abändern? Und wenn ja, was muss ich wie abändern?

            Ich bin für jegliche Hilfe dankbar.

            Viele Grüße

            1 Antwort Letzte Antwort
            0
            • RK62R Offline
              RK62R Offline
              RK62
              schrieb am zuletzt editiert von
              #12

              Dann musst Du das Skript wie folgt anpassen:

              ALT: obj.acl.ownerGroup = cGroup;
              NEU: obj.acl.object = 1638;
              
              

              Gruß, Ralf

              I 1 Antwort Letzte Antwort
              0
              • K Offline
                K Offline
                k.e
                schrieb am zuletzt editiert von
                #13

                Herzlichen Dank!

                1 Antwort Letzte Antwort
                0
                • C Offline
                  C Offline
                  ChrisXY
                  schrieb am zuletzt editiert von
                  #14

                  Hm altes Thema aber hab auch in meinem IOBROKER "lasted" eingestellt alles geupdatet.
                  Nun klappt VIS nicht mehr .. Berechtigungen fehlen .. sehe auch das mein Tablet User fast nirgends Schreibrechte hat.
                  Gibt es da eine Lösung ? Script oben Link geht nicht..
                  Danke

                  htreckslerH 1 Antwort Letzte Antwort
                  0
                  • C ChrisXY

                    Hm altes Thema aber hab auch in meinem IOBROKER "lasted" eingestellt alles geupdatet.
                    Nun klappt VIS nicht mehr .. Berechtigungen fehlen .. sehe auch das mein Tablet User fast nirgends Schreibrechte hat.
                    Gibt es da eine Lösung ? Script oben Link geht nicht..
                    Danke

                    htreckslerH Offline
                    htreckslerH Offline
                    htrecksler
                    Forum Testing
                    schrieb am zuletzt editiert von
                    #15

                    @ChrisXY Link geht mit "rechte Maustaste" --> Link in neuem Tab öffnen.
                    Aber ob das der richtige Verweis ist?

                    Gruss Hermann

                    ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                    1 Antwort Letzte Antwort
                    0
                    • RK62R RK62

                      Dann musst Du das Skript wie folgt anpassen:

                      ALT: obj.acl.ownerGroup = cGroup;
                      NEU: obj.acl.object = 1638;
                      
                      

                      Gruß, Ralf

                      I Offline
                      I Offline
                      IOBaer
                      schrieb am zuletzt editiert von
                      #16

                      @rk62 Ich hole das alte Thema mal wieder aus der Versenkung :-D Kann mir jemand bitte sagen, wie das Skript abgeändert werden muss, damit die Berechtigungs-Gruppe wirklich an allen Stellen im Objekt-Explorer geändert wird?

                      RK62R 1 Antwort Letzte Antwort
                      0
                      • I IOBaer

                        @rk62 Ich hole das alte Thema mal wieder aus der Versenkung :-D Kann mir jemand bitte sagen, wie das Skript abgeändert werden muss, damit die Berechtigungs-Gruppe wirklich an allen Stellen im Objekt-Explorer geändert wird?

                        RK62R Offline
                        RK62R Offline
                        RK62
                        schrieb am zuletzt editiert von
                        #17

                        @iobaer
                        So werden alle States durchlaufen:

                        log("================== START");
                        SelectObjects("state[id=*]");     
                        log("================== ENDE");
                        

                        Oder vielleicht besser nur für einen Adapter:

                        log("================== START");
                        SelectObjects("state[id=fritzdect.0.*]");     
                        log("================== ENDE");
                        

                        Aber vorsichtig:

                        • Nicht ohne vorheriges BACKUP laufen lassen!
                        • Änderung besser erst mit Teilmenge oder wenigen States ausprobieren
                        • Sicherheitshalber vorher alle Instanzen (außer javascript) stoppen
                        • Innerhalb javascript würde ich auch alle Scripte während der Änderung anhalten.

                        Gruß, Ralf

                        I 1 Antwort Letzte Antwort
                        1
                        • RK62R RK62

                          @iobaer
                          So werden alle States durchlaufen:

                          log("================== START");
                          SelectObjects("state[id=*]");     
                          log("================== ENDE");
                          

                          Oder vielleicht besser nur für einen Adapter:

                          log("================== START");
                          SelectObjects("state[id=fritzdect.0.*]");     
                          log("================== ENDE");
                          

                          Aber vorsichtig:

                          • Nicht ohne vorheriges BACKUP laufen lassen!
                          • Änderung besser erst mit Teilmenge oder wenigen States ausprobieren
                          • Sicherheitshalber vorher alle Instanzen (außer javascript) stoppen
                          • Innerhalb javascript würde ich auch alle Scripte während der Änderung anhalten.

                          Gruß, Ralf

                          I Offline
                          I Offline
                          IOBaer
                          schrieb am zuletzt editiert von
                          #18

                          @rk62 Danke Dir vielmals. Die obere Lösung hatte ich gestern schon versucht. Es bleiben dann aber alle anderen Objekte, z.B. Channel, der alten Besitzer-Gruppe zugewiesen, z.B. "influxdb.0.info". Gibt es eine Möglichkeit, überall, wo die bisherige Gruppe drin stand, die neue via Skript zu ändern?

                          Am Ende erscheinen übrigens Fehlermeldungen (hatte ich gestern auch, als ich auf SelectObjects("state[id=*]"); geändert hatte):

                          21:03:47.398	error	javascript.0 (874) script.js.common.Rechteänderung: script.js.common.Rechteänderung:35
                          21:03:47.398	error	javascript.0 (874) at script.js.common.Rechteänderung:35:44
                          21:03:47.398	error	javascript.0 (874) at SelectObjects (script.js.common.Rechteänderung:33:27)
                          21:03:47.398	error	javascript.0 (874) at script.js.common.Rechteänderung:73:1
                          

                          Zeile 35 ist "var vBeschreibung = getObject(id).common.name;", Zeile 33 "$(cacheSelectorState).each(function(id,i) {", Zeile 37 "SelectObjects("state[id=*]");".

                          RK62R 1 Antwort Letzte Antwort
                          0
                          • I IOBaer

                            @rk62 Danke Dir vielmals. Die obere Lösung hatte ich gestern schon versucht. Es bleiben dann aber alle anderen Objekte, z.B. Channel, der alten Besitzer-Gruppe zugewiesen, z.B. "influxdb.0.info". Gibt es eine Möglichkeit, überall, wo die bisherige Gruppe drin stand, die neue via Skript zu ändern?

                            Am Ende erscheinen übrigens Fehlermeldungen (hatte ich gestern auch, als ich auf SelectObjects("state[id=*]"); geändert hatte):

                            21:03:47.398	error	javascript.0 (874) script.js.common.Rechteänderung: script.js.common.Rechteänderung:35
                            21:03:47.398	error	javascript.0 (874) at script.js.common.Rechteänderung:35:44
                            21:03:47.398	error	javascript.0 (874) at SelectObjects (script.js.common.Rechteänderung:33:27)
                            21:03:47.398	error	javascript.0 (874) at script.js.common.Rechteänderung:73:1
                            

                            Zeile 35 ist "var vBeschreibung = getObject(id).common.name;", Zeile 33 "$(cacheSelectorState).each(function(id,i) {", Zeile 37 "SelectObjects("state[id=*]");".

                            RK62R Offline
                            RK62R Offline
                            RK62
                            schrieb am zuletzt editiert von
                            #19

                            @iobaer Nein, die verwendete Schleife kann nur auf States zugreifen, Channels liefert die nicht zurück. Da kann ich nichts dran machen, sind für die Anzeige / Verwaltung in VIS aber auch nicht relevant.

                            Vielleicht wäre es hier einfacher die Standard-Berechtigung im ioBroker anzupassen, die States zu löschen und durch den Adapter neu anlegen zu lassen? Dann gehen allerdings Einstellungen wie History, Funktionen & Räume flöten.

                            Bei den Fehlermeldungen musst Du die einzelnen Objekte mit log(id); ausgeben lassen und ansehen: Entweder steht die Berechtigung dort momentan so restriktiv oder die haben gar keinen .common Part in dem die Rechte abgelegt werden.

                            I 1 Antwort Letzte Antwort
                            0
                            • RK62R RK62

                              @iobaer Nein, die verwendete Schleife kann nur auf States zugreifen, Channels liefert die nicht zurück. Da kann ich nichts dran machen, sind für die Anzeige / Verwaltung in VIS aber auch nicht relevant.

                              Vielleicht wäre es hier einfacher die Standard-Berechtigung im ioBroker anzupassen, die States zu löschen und durch den Adapter neu anlegen zu lassen? Dann gehen allerdings Einstellungen wie History, Funktionen & Räume flöten.

                              Bei den Fehlermeldungen musst Du die einzelnen Objekte mit log(id); ausgeben lassen und ansehen: Entweder steht die Berechtigung dort momentan so restriktiv oder die haben gar keinen .common Part in dem die Rechte abgelegt werden.

                              I Offline
                              I Offline
                              IOBaer
                              schrieb am zuletzt editiert von
                              #20

                              @rk62 Danke Dir. Ist auch nicht tragisch, wenn das Skript jetzt eben 90 Prozent erledigt und man den Rest ggf. manuell durchgeht.

                              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

                              558

                              Online

                              32.7k

                              Benutzer

                              82.4k

                              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