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. Unterschied "steuere Objekt" und "aktualisiere Objekt"

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    8
    1
    47

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    554

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

Unterschied "steuere Objekt" und "aktualisiere Objekt"

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
22 Beiträge 3 Kommentatoren 4.8k Aufrufe
  • Ä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.
  • paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #2

    @skraw.iobroker:

    Die Semantik dieser Statements ist aus deren Wortlaut nicht so ganz klar… `
    "steuere Objekt" = setState(id, val, ack: false)

    "aktualisiere Objekt" = setState(id, val, ack: true)

    Die Bedeutung von ack (acknowledge / bestätigt) ist ausführlich auf https://github.com/ioBroker/ioBroker/wiki/Adapter-Development-Documentation#commands-and-statuses beschrieben.

    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
    0
    • rantanplanR Offline
      rantanplanR Offline
      rantanplan
      schrieb am zuletzt editiert von
      #3

      Hallo

      Ein Screenshot von Deinem Blockly wäre hilfreich.

      Dein Problem kann viele Ursachen haben.

      Zu Deiner Frage im Betreff.

      "steuere" kann man immer nehmen.

      "steuere" MUSS man nehmen, wenn man Aktoren/Geräte oder Variablen auf der CCU anspricht.

      Bei "steuere" reicht ioBrocker den Wert weiter und erwartet eine Bestätigung.

      Bei "aktualisiere" wird der Datenpunkt nur in ioBroker geändert. Weiter passiert nichts.

      "aktualisiere" kann man nehmen wenn man ioBrocker Datenpunkte/Variablen ändern möchte. Da muss ja nichts weitergeleitet werden.

      Also:

      "Aktualisiere Lampe.Status mit wahr" schaltet die Lampe NICHT ein.

      "steuere Lampe.Status mit wahr" schaltet die Lampe ein.

      "aktualisiere MeineCCUVariable mit meinWert" ändert die Variable auf der CCU NICHT.

      "steuere MeineCCUVariable mit meinWert" ändert die Variable auf der CCU.

      "aktualisiere MeineIoBrockerVariable mit meinWert" ändert die Variable

      "steuere MeineIoBrockerVariable mit meinWert" ändert die Variable auch

      Grüße

      Rantanplan

      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

      1 Antwort Letzte Antwort
      1
      • S Offline
        S Offline
        skraw.iobroker
        schrieb am zuletzt editiert von
        #4

        Danke fuer die Erklaerungen. Ich verstehe jetzt im Groben den Unterschied. Was ich nicht verstehe ist wie es moeglich ist, dass der im Web angezeigte Wert sagen wir 50 sein kann, aber beim Auslesen im Skript erhaelt man die 0… (reales Beispiel)

        1 Antwort Letzte Antwort
        0
        • rantanplanR Offline
          rantanplanR Offline
          rantanplan
          schrieb am zuletzt editiert von
          #5

          @skraw.iobroker:

          Danke fuer die Erklaerungen. Ich verstehe jetzt im Groben den Unterschied. Was ich nicht verstehe ist wie es moeglich ist, dass der im Web angezeigte Wert sagen wir 50 sein kann, aber beim Auslesen im Skript erhaelt man die 0… (reales Beispiel) `

          Solange Du kein reales Beispiel zeigst, kann man da auch nichts sagen.

          Rantanplan

          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            skraw.iobroker
            schrieb am zuletzt editiert von
            #6

            Was erwartest Du zu sehen, ausser dass im Web im Objekt "50" steht und ein Skript beim Auslesen des Wertes "0" bekommt? Das kannst Du mir auch so glauben, denn wenn Du es mir so nicht glaubst wirst Du mir von einem Snapshot auch nicht glauben wann er gemacht worden ist… Die Fakten sind wie sie sind. Ob der Fall ueberhaupt nochmal auftreten wird nachdem ich alle Zugriffe auf das Objekt von "steuere ..." auf "aktualisiere ..." umgestellt habe muss ich erst sehen ...

            .. Und kaum dass ich es geschrieben habe sehe ich schon zwei neue Faelle. Grade aktuell.

            Die "100" und die "80" die man hier sieht kommen im Skript beide als "0" raus.

            Bild ist angehaengt.

            Hier ist der Output von einem trivial-Skript dass einfach nur die Werte ausliest und ausgibt:

            11:49:28.405 [info] javascript.0 script.js.Skript1: registered 0 subscriptions and 0 schedules

            11:49:38.407 [info] javascript.0 script.js.Skript1: Zone Keller Gang = 0

            11:49:38.407 [info] javascript.0 script.js.Skript1: Zone Keller EG = 0

            Bild vom Skript auch angehaengt, weil man ja Blockly so gut managen kann …
            5934_bildschirmfoto_von__2018-03-24_11-42-42_.png
            5934_bildschirmfoto_von__2018-03-24_11-51-26_.png

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              skraw.iobroker
              schrieb am zuletzt editiert von
              #7

              PS "Zone Keller EG" in der Ausgabe ist natuerlich "Zone EG", sieht man ja im Skript …

              1 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #8

                ".MeineGeraete" funktioniert nur manchmal !

                Funktioniert: "MeineGeraete.0".

                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
                0
                • S Offline
                  S Offline
                  skraw.iobroker
                  schrieb am zuletzt editiert von
                  #9

                  @paul53:

                  ".MeineGeraete" funktioniert nicht !

                  Funktioniert: "MeineGeraete.0". `

                  Also damit wir uns richtig verstehen: wir sprechen hier nicht von etwas das nie geht. Wir sprechen davon dass das ganze immer geht, nur manchmal alle paar Tage gibt es den Effekt, dass im Web ein Wert stehenbleibt, der von den Skripten die diesen Wert auslesen und runterzaehlen eben nicht so gesehen wird wie im Web sondern als "0".

                  Wenn der Wert des Objekts das naechste mal per "aktualisiere …" wieder hoch gesetzt wird gehts wieder ganz normal weiter und er wird wieder runtergezaehlt.

                  Ich wuerde vermuten dass die Ausgabe im Web auf irgendeiner temporaeren Uebernahme des Objektwertes fusst und da irgendwas nicht so geht wie man denkt, vielleicht eine race-condition.

                  1 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #10

                    Der JS-Adapter erlaubt eine kurze und eine vollständige Schreibweise der Datenpunkt-ID. Beginnt eine ID mit "irgendwas.N." (N = Zahl), dann wird die ID so genommen wie sie ist. Beginnt die ID abweichend davon, kann es passieren, dass die ID innerhalb der Instanz "javascript.N" vermutet wird.

                    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
                    0
                    • S Offline
                      S Offline
                      skraw.iobroker
                      schrieb am zuletzt editiert von
                      #11

                      Ich koennte das ausprobieren, aber wie kann ich ".MeineGeraete" umbenennen?

                      Ansonsten muesste ich hunderte Referenzen in Skripten neu setzen …

                      1 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #12

                        @skraw.iobroker:

                        Ich koennte das ausprobieren, aber wie kann ich ".MeineGeraete" umbenennen? `
                        Die Datenpunkte müssen wohl neu erstellt werden.
                        @skraw.iobroker:

                        Ansonsten muesste ich hunderte Referenzen in Skripten neu setzen … `
                        Deshalb verwende ich eindeutige Namen und ermittle im Script die ID mit getIdByName('name').

                        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
                        0
                        • S Offline
                          S Offline
                          skraw.iobroker
                          schrieb am zuletzt editiert von
                          #13

                          @paul53:

                          @skraw.iobroker:

                          Ansonsten muesste ich hunderte Referenzen in Skripten neu setzen … Deshalb verwende ich eindeutige Namen und ermittle im Script die ID mit __getIdByName('name')__.

                          Wo ist diese Funktion im Blockly ? Ich kann da nichts finden das sowas macht.

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            skraw.iobroker
                            schrieb am zuletzt editiert von
                            #14

                            Ich hab mir das jetzt nochmal unter diesem Aspekt angesehen.

                            Die Skripte referenzieren alle mit kompletter Objekt-ID (copy-paste aus der Script-Ansicht funktioniert leider nicht, sonst haett ichs zitiert). Ich frage mich schon welcher der Werte tatsaechlich stimmt, es koennte ja auch sein, dass die Darstellung im Web ein Problem hat…

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              skraw.iobroker
                              schrieb am zuletzt editiert von
                              #15

                              Hier habe ich ein starkes Indiz dafuer, dass die Darstellung im Web des Objekt-Wertes ein Problem hat.

                              In meinem Screenshot vom 24.03 ca 11:42 Uhr sieht man dass "Zone_EG_" auf 100 steht.

                              Aber im Logfile dieses Tages steht folgendes:

                              2018-03-24 06:24:06.017  - info: javascript.0 script.js.Skript-Melder: EG Licht an
                              2018-03-24 06:26:02.922  - info: javascript.0 script.js.Skript-Timeouts: EG Licht aus
                              2018-03-24 06:31:08.848  - info: javascript.0 script.js.Skript-Melder: EG Licht an
                              2018-03-24 06:33:53.023  - info: javascript.0 script.js.Skript-Timeouts: EG Licht aus
                              2018-03-24 17:58:04.005  - info: javascript.0 script.js.Skript-Melder: EG Licht an
                              2018-03-24 18:00:30.410  - info: javascript.0 script.js.Skript-Timeouts: EG Licht aus
                              
                              

                              Man sieht das Skript schaltet das Licht um 06:33:53 Uhr aus. Das bedeutet es hat den Wert des obigen Objektes auf 0 heruntergezaehlt. Er muss also zu diesem Zeitpunkt "0" sein. Der im Web angezeigte Wert ist falsch.

                              Da sollte man die Ursache suchen.

                              Nachtrag: man kann die Korrektheit des "Herunterzaehlens" des Skripts auch daran sehen, dass mein Timeout bei 120 liegt und zwischen dem "Licht an" und dem "Licht aus" pi mal Daumen etwa 2 Minuten liegen was dem Timeout entspricht. Ganz genau darf man es bei JS scheinbar nicht nehmen mit Zeitintervallen :-)

                              1 Antwort Letzte Antwort
                              0
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #16

                                @skraw.iobroker:

                                Wo ist diese Funktion im Blockly ? Ich kann da nichts finden das sowas macht. `
                                In Blockly existiert diese Funktion nicht, da in Blockly die ID per "Select ID" direkt zugeordnet wird. Blockly ist halt nur eine Einstiegshilfe für Leute, die vorher noch nicht programmiert haben (außer vlt. mit graphischen Programmieroberflächen).

                                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
                                0
                                • S Offline
                                  S Offline
                                  skraw.iobroker
                                  schrieb am zuletzt editiert von
                                  #17

                                  Tja, wie oben bewiesen ist aber Blockly technisch korrekt und die Weboberflaeche im Irrtum.

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    skraw.iobroker
                                    schrieb am zuletzt editiert von
                                    #18

                                    Wie legt man denn eigentlich ein neues Verzeichnis von Objekten an?

                                    1 Antwort Letzte Antwort
                                    0
                                    • paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von
                                      #19

                                      @skraw.iobroker:

                                      Wie legt man denn eigentlich ein neues Verzeichnis von Objekten an? `
                                      Im Browser die Seite neu laden, damit nichts selektiert ist und dann https://forum.iobroker.net/viewtopic.php?f=20&t=5381#p54567.

                                      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
                                      0
                                      • S Offline
                                        S Offline
                                        skraw.iobroker
                                        schrieb am zuletzt editiert von
                                        #20

                                        Danke fuer den Link, aber er zeigt echt nur eins: jeder hat damit Probleme. Die Konstruktion ist einfach nicht straight-forward. Wenn man sowas selbst anlegt fuer eigene Variablen ist es ziemlich undurchsichtig ob das "Verzeichnis" wo man sie reinlegt vom Typ her ein "Device" oder ein "Channel" ist und was ueberhaupt der Unterschied hinterher waere, wenn es den ueberhaupt gibt.

                                        1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          skraw.iobroker
                                          schrieb am zuletzt editiert von
                                          #21

                                          @paul53:

                                          @skraw.iobroker:

                                          Wo ist diese Funktion im Blockly ? Ich kann da nichts finden das sowas macht. In Blockly existiert diese Funktion nicht, da in Blockly die ID per "Select ID" direkt zugeordnet wird. Blockly ist halt nur eine Einstiegshilfe für Leute, die vorher noch nicht programmiert haben (außer vlt. mit graphischen Programmieroberflächen).

                                          Also wenn man sich erst mal mit Blockly angefreundet hat geht eigentlich alles damit recht schnell. Es ist ja nun nicht gerade so dass man fuer Smarthome Anwendungen besonders komplexe Programme brauchen wuerde.

                                          Ich waere jedoch dafuer dass man die Zugriffe auf die Objekte auch bei Blockly auf den Namen zurueckfuehren wuerde, denn der steht schliesslich auch in den Ausdruecken drin, auch wenn man in der Tat die ID ausgewaehlt hat. Ich denke es waere kein echtes Problem hier zwei jeweils Statements draus zu machen. Noch besser waere natuerlich ein Einsteller im jeweiligen zugreifenden Statement. Dann haette es der User in der Hand.

                                          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

                                          795

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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