Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Gelöst: Obejtktdaten ändern

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Gelöst: Obejtktdaten ändern

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      michihorn @paul53 last edited by michihorn

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

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @michihorn last edited by

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

        Wurde denn seitdem getriggert?

        M 1 Reply Last reply Reply Quote 0
        • M
          michihorn @paul53 last edited by

          @paul53 Ja

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @michihorn last edited by

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

            M 1 Reply Last reply Reply Quote 0
            • M
              michihorn @paul53 last edited by

              @paul53 Das war der Fehler. Danke

              M 1 Reply Last reply Reply Quote 0
              • M
                michihorn @michihorn last edited by

                @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 Reply Last reply Reply Quote 0
                • T
                  TT-Tom @michihorn last edited by

                  @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 1 Reply Last reply Reply Quote 0
                  • M
                    michihorn @TT-Tom last edited by

                    @tt-tom Unbenannt.jpg

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      TT-Tom @michihorn last edited by 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 1 Reply Last reply Reply Quote 0
                      • M
                        michihorn @TT-Tom last edited by

                        @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 Reply Last reply Reply Quote 0
                        • T
                          TT-Tom @michihorn last edited by

                          @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 1 Reply Last reply Reply Quote 0
                          • M
                            michihorn @TT-Tom last edited by

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

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              TT-Tom @michihorn last edited by

                              @michihorn viel Erfolg 👍

                              M 1 Reply Last reply Reply Quote 1
                              • M
                                michihorn @TT-Tom last edited by michihorn

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

                                @michihorn viel Erfolg 👍

                                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 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                627
                                Online

                                31.7k
                                Users

                                79.8k
                                Topics

                                1.3m
                                Posts

                                javascript
                                3
                                18
                                305
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo