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
    17
    1
    2.0k

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

  • 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 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

                                    337

                                    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