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. Gelöst: Obejtktdaten ändern

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Gelöst: Obejtktdaten ändern

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
18 Beiträge 3 Kommentatoren 313 Aufrufe 1 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.
  • M Offline
    M Offline
    michihorn
    schrieb am zuletzt editiert von michihorn
    #1

    Hallo ich möchte gerne per Script Objektdaten ändern.


    {
    "_id": "hm-rega.0.22357",
    "type": "state",
    "common": {
    "name": "VarCam",
    "type": "number",
    "read": true,
    "write": true,
    "role": "state",
    "min": 1,
    "max": 10
    },
    "native": {
    "Name": "VarCam",
    "TypeName": "VARDP",
    "DPInfo": "",
    "ValueMin": 1,
    "ValueMax": 10,
    "ValueUnit": "",
    "ValueType": 4,
    "ValueSubType": 0,
    "ValueList": ""
    },
    "from": "system.adapter.hm-rega.0",
    "user": "system.user.admin",
    "ts": 1689559580418,
    "acl": {
    "object": 1636,
    "state": 1636,
    "owner": "system.user.admin",
    "ownerGroup": "system.group.administrator"
    }
    }

    const idrega ="hm-rega.0.22357";
    
    
    on({ id: idrega, change: "any" }, function (dp) {
        dp.common.write
        log("Auslöser: " + dp.common.write)
      
           //setState(dp.common.write, false) 
        });
    
    

    Ich möchte gerne die Eigenschaft"write" auf false setzen, so wie im Script, klappt es nicht
    Michael

    paul53P 1 Antwort Letzte Antwort
    0
    • M michihorn

      Hallo ich möchte gerne per Script Objektdaten ändern.


      {
      "_id": "hm-rega.0.22357",
      "type": "state",
      "common": {
      "name": "VarCam",
      "type": "number",
      "read": true,
      "write": true,
      "role": "state",
      "min": 1,
      "max": 10
      },
      "native": {
      "Name": "VarCam",
      "TypeName": "VARDP",
      "DPInfo": "",
      "ValueMin": 1,
      "ValueMax": 10,
      "ValueUnit": "",
      "ValueType": 4,
      "ValueSubType": 0,
      "ValueList": ""
      },
      "from": "system.adapter.hm-rega.0",
      "user": "system.user.admin",
      "ts": 1689559580418,
      "acl": {
      "object": 1636,
      "state": 1636,
      "owner": "system.user.admin",
      "ownerGroup": "system.group.administrator"
      }
      }

      const idrega ="hm-rega.0.22357";
      
      
      on({ id: idrega, change: "any" }, function (dp) {
          dp.common.write
          log("Auslöser: " + dp.common.write)
        
             //setState(dp.common.write, false) 
          });
      
      

      Ich möchte gerne die Eigenschaft"write" auf false setzen, so wie im Script, klappt es nicht
      Michael

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @michihorn sagte: Eigenschaft"write" auf false setzen

      const idrega ="hm-rega.0.22357";
        
      on({id: idrega}, function (dp) {
          const obj = getObject(dp.id);
          if(obj.common.write) {
             obj.common.write = false;
             setObject(dp.id, obj);
          }
      });
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      T M 2 Antworten Letzte Antwort
      0
      • paul53P paul53

        @michihorn sagte: Eigenschaft"write" auf false setzen

        const idrega ="hm-rega.0.22357";
          
        on({id: idrega}, function (dp) {
            const obj = getObject(dp.id);
            if(obj.common.write) {
               obj.common.write = false;
               setObject(dp.id, obj);
            }
        });
        
        T Offline
        T Offline
        TT-Tom
        schrieb am zuletzt editiert von
        #3

        @paul53

        würde das auch funktionieren ?

        extendObject(idrega, {common: {write: false}});
        

        Gruß Tom
        https://github.com/tt-tom17
        Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

        NSPanel Script Wiki
        https://github.com/joBr99/nspanel-lovelace-ui/wiki

        NSPanel Adapter Wiki
        https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

        paul53P 1 Antwort Letzte Antwort
        1
        • T TT-Tom

          @paul53

          würde das auch funktionieren ?

          extendObject(idrega, {common: {write: false}});
          
          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @tt-tom sagte: würde das auch funktionieren ?

          Ja.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          1
          • paul53P paul53

            @michihorn sagte: Eigenschaft"write" auf false setzen

            const idrega ="hm-rega.0.22357";
              
            on({id: idrega}, function (dp) {
                const obj = getObject(dp.id);
                if(obj.common.write) {
                   obj.common.write = false;
                   setObject(dp.id, obj);
                }
            });
            
            M Offline
            M Offline
            michihorn
            schrieb am zuletzt editiert von michihorn
            #5

            @paul53 Leider ändern sich die Objektdaten nicht. Zumindest in UI unter Objekt bearbeiten, steht immer noch true
            Screenshot 2023-07-17 182634.png

            paul53P 1 Antwort Letzte Antwort
            0
            • M michihorn

              @paul53 Leider ändern sich die Objektdaten nicht. Zumindest in UI unter Objekt bearbeiten, steht immer noch true
              Screenshot 2023-07-17 182634.png

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @michihorn sagte: Leider ändern sich die Objektdaten nicht.

              Wurde denn seitdem getriggert?

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              M 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @michihorn sagte: Leider ändern sich die Objektdaten nicht.

                Wurde denn seitdem getriggert?

                M Offline
                M Offline
                michihorn
                schrieb am zuletzt editiert von
                #7

                @paul53 Ja

                paul53P 1 Antwort Letzte Antwort
                0
                • M michihorn

                  @paul53 Ja

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #8

                  @michihorn
                  In der Konfiguration der Javascript-Instanz ist "setObject" freigegeben?

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  M 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @michihorn
                    In der Konfiguration der Javascript-Instanz ist "setObject" freigegeben?

                    M Offline
                    M Offline
                    michihorn
                    schrieb am zuletzt editiert von
                    #9

                    @paul53 Das war der Fehler. Danke

                    M 1 Antwort Letzte Antwort
                    0
                    • M michihorn

                      @paul53 Das war der Fehler. Danke

                      M Offline
                      M Offline
                      michihorn
                      schrieb am zuletzt editiert von
                      #10

                      @michihorn sagte in Gelöst: Obejtktdaten ändern:

                      @paul53 Das war der Fehler. Danke

                      Hätte da noch ne Frage zum Thema. Ich habe keine Benutzer angelegt arbeite also als Admin.
                      Den Datenpunkt den ich nun "write= false" setzen kann, wird aber wider erwarten beschrieben. Das passiert per Motioneye wie folgt:

                      http://192.168.178.1xxx:80xx/set/hm-rega.0.22357?value=1&prettyPrint
                      

                      ich hätte angenommen das für die Zeit in der "write= false" ist , dort auch keine Änderungen geschrieben werden

                      T 1 Antwort Letzte Antwort
                      0
                      • M michihorn

                        @michihorn sagte in Gelöst: Obejtktdaten ändern:

                        @paul53 Das war der Fehler. Danke

                        Hätte da noch ne Frage zum Thema. Ich habe keine Benutzer angelegt arbeite also als Admin.
                        Den Datenpunkt den ich nun "write= false" setzen kann, wird aber wider erwarten beschrieben. Das passiert per Motioneye wie folgt:

                        http://192.168.178.1xxx:80xx/set/hm-rega.0.22357?value=1&prettyPrint
                        

                        ich hätte angenommen das für die Zeit in der "write= false" ist , dort auch keine Änderungen geschrieben werden

                        T Offline
                        T Offline
                        TT-Tom
                        schrieb am zuletzt editiert von
                        #11

                        @michihorn

                        wer hat den da reingeschrieben, kannst du erkennen wenn der Mauszeiger drüber steht

                        28042b3e-9d9b-43ad-acd2-fcf49f9210e5-image.png

                        Adapter können in ihr eignen DP schreiben, nur andere können nicht.

                        Gruß Tom
                        https://github.com/tt-tom17
                        Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                        NSPanel Script Wiki
                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                        NSPanel Adapter Wiki
                        https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                        M 1 Antwort Letzte Antwort
                        0
                        • T TT-Tom

                          @michihorn

                          wer hat den da reingeschrieben, kannst du erkennen wenn der Mauszeiger drüber steht

                          28042b3e-9d9b-43ad-acd2-fcf49f9210e5-image.png

                          Adapter können in ihr eignen DP schreiben, nur andere können nicht.

                          M Offline
                          M Offline
                          michihorn
                          schrieb am zuletzt editiert von
                          #12

                          @tt-tom Unbenannt.jpg

                          T 1 Antwort Letzte Antwort
                          0
                          • M michihorn

                            @tt-tom Unbenannt.jpg

                            T Offline
                            T Offline
                            TT-Tom
                            schrieb am zuletzt editiert von TT-Tom
                            #13

                            @michihorn

                            da wirst du keine Chance haben, wie gesagt der Adapter schreibt in seine eigenen DP. Readolnly heisst nur für andere lesen.

                            Was ist eigentlich das Grundproblem? Mach ein neuen Thread auf vielleicht gibt es dafür eine Lösung.

                            Gruß Tom
                            https://github.com/tt-tom17
                            Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                            NSPanel Script Wiki
                            https://github.com/joBr99/nspanel-lovelace-ui/wiki

                            NSPanel Adapter Wiki
                            https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                            M 1 Antwort Letzte Antwort
                            0
                            • T TT-Tom

                              @michihorn

                              da wirst du keine Chance haben, wie gesagt der Adapter schreibt in seine eigenen DP. Readolnly heisst nur für andere lesen.

                              Was ist eigentlich das Grundproblem? Mach ein neuen Thread auf vielleicht gibt es dafür eine Lösung.

                              M Offline
                              M Offline
                              michihorn
                              schrieb am zuletzt editiert von
                              #14

                              @tt-tom Ich habe im um mein Haus Kameras Installiert, die Kameras laufen über Motioneye und schicken je nach Bewegungserkennung eine Nummer auf den Datenpunkt. Von dort aus wird im einem basic -iframe8 das Bild der entsprechenden Kamera angezeigt. Wenn nun eine Bewegung an der Haustür erkannt wird, wird Bild 3 gezeigt, sollte nun auch eine Bewegung im Garten erkannt werden, wird die "4" gesendet und Bild 4 wird angezeigt. Ich möchte bei Bewegungserkennung an der Haustür alle anderen möglichen Umschaltungen irgnorieren , zumindest für 1 Minute oder so. Daher der Gedanke den DP temporär "schreib zu schützen"

                              T 1 Antwort Letzte Antwort
                              0
                              • M michihorn

                                @tt-tom Ich habe im um mein Haus Kameras Installiert, die Kameras laufen über Motioneye und schicken je nach Bewegungserkennung eine Nummer auf den Datenpunkt. Von dort aus wird im einem basic -iframe8 das Bild der entsprechenden Kamera angezeigt. Wenn nun eine Bewegung an der Haustür erkannt wird, wird Bild 3 gezeigt, sollte nun auch eine Bewegung im Garten erkannt werden, wird die "4" gesendet und Bild 4 wird angezeigt. Ich möchte bei Bewegungserkennung an der Haustür alle anderen möglichen Umschaltungen irgnorieren , zumindest für 1 Minute oder so. Daher der Gedanke den DP temporär "schreib zu schützen"

                                T Offline
                                T Offline
                                TT-Tom
                                schrieb am zuletzt editiert von
                                #15

                                @michihorn

                                spontan würde ich einen eigenen DP erstellen und die Zahlen mittels Script weiterreichen und bei 3 halt ein timeout von x.sek da zwischen, das die nächste Änderung erst dann weitergereicht wird.

                                Gruß Tom
                                https://github.com/tt-tom17
                                Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                NSPanel Script Wiki
                                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                NSPanel Adapter Wiki
                                https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                M 1 Antwort Letzte Antwort
                                0
                                • T TT-Tom

                                  @michihorn

                                  spontan würde ich einen eigenen DP erstellen und die Zahlen mittels Script weiterreichen und bei 3 halt ein timeout von x.sek da zwischen, das die nächste Änderung erst dann weitergereicht wird.

                                  M Offline
                                  M Offline
                                  michihorn
                                  schrieb am zuletzt editiert von
                                  #16

                                  @tt-tom Ja das war jetzt auch meine Idee, bin gerade dabei das um zu setzen

                                  T 1 Antwort Letzte Antwort
                                  0
                                  • M michihorn

                                    @tt-tom Ja das war jetzt auch meine Idee, bin gerade dabei das um zu setzen

                                    T Offline
                                    T Offline
                                    TT-Tom
                                    schrieb am zuletzt editiert von
                                    #17

                                    @michihorn viel Erfolg :+1:

                                    Gruß Tom
                                    https://github.com/tt-tom17
                                    Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                    NSPanel Script Wiki
                                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                    NSPanel Adapter Wiki
                                    https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                    M 1 Antwort Letzte Antwort
                                    1
                                    • T TT-Tom

                                      @michihorn viel Erfolg :+1:

                                      M Offline
                                      M Offline
                                      michihorn
                                      schrieb am zuletzt editiert von michihorn
                                      #18

                                      @tt-tom sagte in Gelöst: Obejtktdaten ändern:

                                      @michihorn viel Erfolg :+1:

                                      So klappt es:
                                      CamNr wird von Motioneye beschrieben
                                      CamView ist zur Stuerung des basis-Iframe8
                                      sperre ist meine Krücke zum zeitlichen Verriegeln

                                      const idCamView = "0_userdata.0.System.CamView";
                                      const idCamNr = "0_userdata.0.System.CamNr";
                                      const idsperre = "0_userdata.0.System.Sperre"
                                      
                                      on({ id: idCamNr, change: "any" }, function (dp) {
                                          if ((dp.state.val) == 3) {
                                              setState(idsperre, true)
                                              setState(idCamView, 3)
                                              setTimeout(function () { setState(idsperre, false) }, 20000);
                                          } else if ((getState(idsperre).val == false) && (dp.state.val != 3)) {
                                              setState(idCamView, dp.state.val)
                                          }
                                      });
                                      
                                      on({ id: idsperre, val: false }, function (dp) {
                                          setState(idCamView, getState(idCamNr).val)
                                      });
                                      

                                      Geht sicher auch eleganter. ;-)

                                      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

                                      760

                                      Online

                                      32.6k

                                      Benutzer

                                      82.2k

                                      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