Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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
    18
    1
    762

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

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

[Gelöst] Zugriffsrechte Bedienen vis

Scheduled Pinned Locked Moved Visualisierung
20 Posts 10 Posters 6.3k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • apollon77A Offline
    apollon77A Offline
    apollon77
    wrote on last edited by
    #1

    Wie sehen denn die Zugriffsrechte des betroffenen States aus wo der Fehler kommt?

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    1 Reply Last reply
    0
    • apollon77A Offline
      apollon77A Offline
      apollon77
      wrote on last edited by
      #2

      Hast du auch den js-controller geupdatet? Es gab da nämlich eine Änderung bzw es wurden neue default Rechte eingeführt. Schau mal in den iobroker Settings (in der navi oben rechts das Zahnrad) und dort unter rechte. Setze bei "jeder" dort noch schreiben. Das fehlt nämlich.

      Alle Objekte gehören default dem Admin aus der Admin Gruppe. Dein eingeschränkter User ist nicht in der Admin Gruppe und er ist nicht owner. Also gilt "jeder" und wie du bei den State Einstellungen siehst darf "jeder" nur lesen.

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      1 Reply Last reply
      0
      • BluefoxB Offline
        BluefoxB Offline
        Bluefox
        wrote on last edited by
        #3

        Da dein State-Objekt nicht zu "TestBenutzer" und nicht zu Gruppe "test" gehört, sind für TestBenutzer folgende Rechte aktiv:
        48_2017-09-16_09_41_15-98__iobroker_forum-_________.png

        D.h. TestBenutzer darf lesen, aber darf nicht schreiben.

        Ist das so?

        1 Reply Last reply
        0
        • apollon77A Offline
          apollon77A Offline
          apollon77
          wrote on last edited by
          #4

          Bluefox die Ursache ist denke ich die Einführung der default Rechte. Früher konnte auch jeder immer per default schreiben. Das ist da mit geändert worden

          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
          1 Reply Last reply
          0
          • P Offline
            P Offline
            pantau
            wrote on last edited by
            #5

            Ich habe das gleiche Problem.

            Gibt es eine Möglichkeit die Zugrifsrechte automatisch zu setzen, sonst müsste ich mehrere Tage für die Anpassung der Objekte opfern.

            1 Reply Last reply
            0
            • X Offline
              X Offline
              xelarep
              wrote on last edited by
              #6

              Hallo,

              ich häng mich hier mal an: ich hab vor kurzem eine zweite web Instanz angelegt, die nun mit einem user aus der Gruppe 'user' lohne Authentifizierung läuft. In dieser Instanz kann ich keine States ändern (selbe Fehlermeldungen wie oben). Meine Objekte haben alle für Jeder Schreibzugriff, in der default ACL ebenfalls Schreibzugriff für Jeder?

              Muss ich noch einmal durchstarten? Habe bisher nur Admin, vis und web neu gestartet. Der hab ich was anderes übersehen?

              Als (angemeldeter) Admin User läuft alles prima.

              Nachtrag: nach einem Neustart sehe ich nun in meinen Objekten fehlende Schreibrechte für jeder. Mist :-( Ich schliesse mich der Frage des Vorgängers an: wie kann ich das in einem Rutsch für alle Objekte ändern, ohne in jedes Objekt gehen zu müssen?

              Alexander

              1 Reply Last reply
              0
              • RK62R Offline
                RK62R Offline
                RK62
                wrote on last edited by
                #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 Reply Last reply
                0
                • RK62R Offline
                  RK62R Offline
                  RK62
                  wrote on last edited by Dutchman
                  #8

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

                  Link zum script

                  Gruß, Ralf

                  1 Reply Last reply
                  0
                  • lobomauL Offline
                    lobomauL Offline
                    lobomau
                    wrote on last edited by
                    #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 Reply Last reply
                    0
                    • RK62R Offline
                      RK62R Offline
                      RK62
                      wrote on last edited by
                      #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 Reply Last reply
                      0
                      • K Offline
                        K Offline
                        k.e
                        wrote on last edited by
                        #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 Reply Last reply
                        0
                        • RK62R Offline
                          RK62R Offline
                          RK62
                          wrote on last edited by
                          #12

                          Dann musst Du das Skript wie folgt anpassen:

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

                          Gruß, Ralf

                          I 1 Reply Last reply
                          0
                          • K Offline
                            K Offline
                            k.e
                            wrote on last edited by
                            #13

                            Herzlichen Dank!

                            1 Reply Last reply
                            0
                            • C Offline
                              C Offline
                              ChrisXY
                              wrote on last edited by
                              #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 Reply Last reply
                              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
                                wrote on last edited by
                                #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 Reply Last reply
                                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
                                  wrote on last edited by
                                  #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 Reply Last reply
                                  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
                                    wrote on last edited by
                                    #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 Reply Last reply
                                    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
                                      wrote on last edited by
                                      #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 Reply Last reply
                                      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
                                        wrote on last edited by
                                        #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 Reply Last reply
                                        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
                                          wrote on last edited by
                                          #20

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

                                          1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          415

                                          Online

                                          32.8k

                                          Users

                                          82.7k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe