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

  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. extendObject vs. setObjectNotExists

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

extendObject vs. setObjectNotExists

Geplant Angeheftet Gesperrt Verschoben Entwicklung
adapter
13 Beiträge 3 Kommentatoren 538 Aufrufe 4 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.
  • S Offline
    S Offline
    Sneak-L8
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    eine Verständnisfrage (ich hoffe, ich bin in der richtigen Rubrik):

    setObjectNotExists tut nur etwas, wenn das Objekt/state noch nicht exisitiert.
    extendObject aktualisiert ein Object/state mit den übergebenen Daten.

    Wenn ich extendObject nutzt, dann wird ein evtl. vorhandenes Logging laut Log unterbrochen udn wieder aufgesetzt (wobei ich nicht immer disabled/enabled-Pärchen sehe).

    1. Ist es bedenklich, wenn nicht immer disabled/enabled-Pärchen erscheinen?
    2. Sollten zu viele extenObject-Aufrufe vermieden werden (update alle paar Minuten)?
    3. Legt extendObject auch ein Objekt/state an, wenn es noch nicht existiert? Oder muss dann immer setObjectNotExists und extendObject gerufen werden?

    In den Doku wurde ich diesbezüglich nicht fündig.

    Viele Grüße
    Sneak-L8

    Jey CeeJ 1 Antwort Letzte Antwort
    0
    • S Sneak-L8

      Hallo zusammen,

      eine Verständnisfrage (ich hoffe, ich bin in der richtigen Rubrik):

      setObjectNotExists tut nur etwas, wenn das Objekt/state noch nicht exisitiert.
      extendObject aktualisiert ein Object/state mit den übergebenen Daten.

      Wenn ich extendObject nutzt, dann wird ein evtl. vorhandenes Logging laut Log unterbrochen udn wieder aufgesetzt (wobei ich nicht immer disabled/enabled-Pärchen sehe).

      1. Ist es bedenklich, wenn nicht immer disabled/enabled-Pärchen erscheinen?
      2. Sollten zu viele extenObject-Aufrufe vermieden werden (update alle paar Minuten)?
      3. Legt extendObject auch ein Objekt/state an, wenn es noch nicht existiert? Oder muss dann immer setObjectNotExists und extendObject gerufen werden?

      In den Doku wurde ich diesbezüglich nicht fündig.

      Viele Grüße
      Sneak-L8

      Jey CeeJ Online
      Jey CeeJ Online
      Jey Cee
      Developer
      schrieb am zuletzt editiert von
      #2

      @Sneak-L8 sagte in extendObject vs. setObjectNotExists:

      Legt extendObject auch ein Objekt/state an, wenn es noch nicht existiert? Oder muss dann immer setObjectNotExists und extendObject gerufen werden?

      extendObject legt ein Objekt an wenn es nicht vorhanden ist.

      @Sneak-L8 sagte in extendObject vs. setObjectNotExists:

      Sollten zu viele extenObject-Aufrufe vermieden werden (update alle paar Minuten)?

      Hm da stellt sich mir die Frage ob das nicht eher in einen State geschrieben werden sollte. Im Objekt sind normal Statische Daten. Warum genau wird das Objekt alle paar Minuten Aktualisiert?

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      S 1 Antwort Letzte Antwort
      0
      • Jey CeeJ Jey Cee

        @Sneak-L8 sagte in extendObject vs. setObjectNotExists:

        Legt extendObject auch ein Objekt/state an, wenn es noch nicht existiert? Oder muss dann immer setObjectNotExists und extendObject gerufen werden?

        extendObject legt ein Objekt an wenn es nicht vorhanden ist.

        @Sneak-L8 sagte in extendObject vs. setObjectNotExists:

        Sollten zu viele extenObject-Aufrufe vermieden werden (update alle paar Minuten)?

        Hm da stellt sich mir die Frage ob das nicht eher in einen State geschrieben werden sollte. Im Objekt sind normal Statische Daten. Warum genau wird das Objekt alle paar Minuten Aktualisiert?

        S Offline
        S Offline
        Sneak-L8
        schrieb am zuletzt editiert von
        #3

        @Jey-Cee Danke für die Erläuterung.
        Es sind eigentlich states. Dort will ich "unit" aktualsieren. Und bei Channels (das sit doch der richtige Name für einen "Ordner" in dem States enthalten sind?) die Beschreibung.
        Ich habe bisher nur rausgefunden, dass man das mittels ExtendObject machen muss. Wenn das anders geht, dann mach ich das gerne.

        Jey CeeJ paul53P 2 Antworten Letzte Antwort
        0
        • S Sneak-L8

          @Jey-Cee Danke für die Erläuterung.
          Es sind eigentlich states. Dort will ich "unit" aktualsieren. Und bei Channels (das sit doch der richtige Name für einen "Ordner" in dem States enthalten sind?) die Beschreibung.
          Ich habe bisher nur rausgefunden, dass man das mittels ExtendObject machen muss. Wenn das anders geht, dann mach ich das gerne.

          Jey CeeJ Online
          Jey CeeJ Online
          Jey Cee
          Developer
          schrieb am zuletzt editiert von
          #4

          @Sneak-L8 ok unit ist teil vom Objekt, wenn es nötig ist die Abhängig vom Wert zu ändern musst du das so machen.

          Ja Channels enthalten states das ist richtig.

          Persönlicher Support
          Spenden -> paypal.me/J3YC33

          S 1 Antwort Letzte Antwort
          0
          • Jey CeeJ Jey Cee

            @Sneak-L8 ok unit ist teil vom Objekt, wenn es nötig ist die Abhängig vom Wert zu ändern musst du das so machen.

            Ja Channels enthalten states das ist richtig.

            S Offline
            S Offline
            Sneak-L8
            schrieb am zuletzt editiert von
            #5

            @Jey-Cee Danke. Dann muss ich mir also keine Sorgen machen, wenn ich hier immer Meldungen im Log sehe?

            2020-11-13 11:24:33.616 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.charger.status.cruisingRangeStatusData.primaryEngineRange.content, Alias=false
            2020-11-13 11:24:33.641 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.charger.status.batteryStatusData.stateOfCharge.content, Alias=false
            2020-11-13 11:24:34.221 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.tsCarCaptured
            2020-11-13 11:24:34.226 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.tsTssReceivedUtc
            2020-11-13 11:24:34.234 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.value
            2020-11-13 11:24:34.235 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.textId
            2020-11-13 11:24:34.259 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field02.value, Alias=false
            2020-11-13 11:24:34.331 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field05.value, Alias=false
            2020-11-13 11:24:31.915 - info: vw-connect.0 (3351) is car locked: 2 yes/no true
            2020-11-13 11:30:31.163 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.charger.status.cruisingRangeStatusData.primaryEngineRange.content, Alias=false
            2020-11-13 11:30:31.219 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.charger.status.batteryStatusData.stateOfCharge.content, Alias=false
            2020-11-13 11:30:31.869 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.position.parkingTimeUTC, Alias=false
            2020-11-13 11:30:32.214 - info: vw-connect.0 (3351) outside temp: 2816
            2020-11-13 11:30:34.168 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.tsCarCaptured
            2020-11-13 11:30:34.170 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.tsTssReceivedUtc
            2020-11-13 11:30:34.173 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.value
            2020-11-13 11:30:34.189 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.textId
            2020-11-13 11:30:34.210 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field02.value, Alias=false
            2020-11-13 11:30:34.265 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field05.value, Alias=false
            2020-11-13 11:30:32.466 - info: vw-connect.0 (3351) is car locked: 2 yes/no true
            2020-11-13 11:31:38.799 - info: info.0 (9025) Popup news was read...
            2020-11-13 11:36:30.960 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.position.parkingTimeUTC, Alias=false
            2020-11-13 11:36:31.887 - info: vw-connect.0 (3351) outside temp: 2816
            2020-11-13 11:36:34.105 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.tsCarCaptured
            2020-11-13 11:36:34.108 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.tsTssReceivedUtc
            2020-11-13 11:36:34.117 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.value
            2020-11-13 11:36:34.120 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.textId
            2020-11-13 11:36:34.145 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field02.value, Alias=false
            2020-11-13 11:36:34.224 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field05.value, Alias=false
            2020-11-13 11:36:31.978 - info: vw-connect.0 (3351) is car locked: 2 yes/no true
            2020-11-13 11:42:32.249 - info: vw-connect.0 (3351) outside temp: 2816
            2020-11-13 11:42:34.003 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.charger.status.cruisingRangeStatusData.primaryEngineRange.content, Alias=false
            2020-11-13 11:42:34.050 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.charger.status.batteryStatusData.stateOfCharge.content, Alias=false
            2020-11-13 11:42:34.094 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.position.parkingTimeUTC, Alias=false
            2020-11-13 11:42:34.527 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.tsCarCaptured
            2020-11-13 11:42:34.529 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.tsTssReceivedUtc
            2020-11-13 11:42:34.542 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.value
            2020-11-13 11:42:34.546 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.textId
            2020-11-13 11:42:34.584 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field02.value, Alias=false
            2020-11-13 11:42:32.378 - info: vw-connect.0 (3351) is car locked: 2 yes/no true
            2020-11-13 11:42:34.651 - info: sql.0 (26442) enabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field05.value, Alias=false
            2020-11-13 11:48:32.145 - info: vw-connect.0 (3351) outside temp: 2816
            2020-11-13 11:48:34.052 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.tsCarCaptured
            2020-11-13 11:48:34.055 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.tsTssReceivedUtc
            2020-11-13 11:48:34.068 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.value
            2020-11-13 11:48:34.074 - info: sql.0 (26442) disabled logging of vw-connect.0.WVWZZZAUZJW906020.status.data08.field01.textId
            

            Nicht dass die Aufzeichnung in sql.0 flöten geht ...

            1 Antwort Letzte Antwort
            0
            • S Sneak-L8

              @Jey-Cee Danke für die Erläuterung.
              Es sind eigentlich states. Dort will ich "unit" aktualsieren. Und bei Channels (das sit doch der richtige Name für einen "Ordner" in dem States enthalten sind?) die Beschreibung.
              Ich habe bisher nur rausgefunden, dass man das mittels ExtendObject machen muss. Wenn das anders geht, dann mach ich das gerne.

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

              @Sneak-L8 sagte:

              Dort will ich "unit" aktualsieren.

              Welchen Grund kann es geben, die "unit" zu ändern ?

              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

              S Jey CeeJ 2 Antworten Letzte Antwort
              0
              • paul53P paul53

                @Sneak-L8 sagte:

                Dort will ich "unit" aktualsieren.

                Welchen Grund kann es geben, die "unit" zu ändern ?

                S Offline
                S Offline
                Sneak-L8
                schrieb am zuletzt editiert von
                #7

                @paul53 Es sind generische Daten von extern. Diese werden in States gemappt. Ich kann mir nicht sicher sein, dass die Einheit des Wertes sich in dem entfernten API ändert. Deswegen will ich sie (ggfs. auch zusammen mit dem Wert) aktualisieren.
                Den wert kann ich mit setState ändern, aber die unit m.W. nicht.

                paul53P 1 Antwort Letzte Antwort
                0
                • S Sneak-L8

                  @paul53 Es sind generische Daten von extern. Diese werden in States gemappt. Ich kann mir nicht sicher sein, dass die Einheit des Wertes sich in dem entfernten API ändert. Deswegen will ich sie (ggfs. auch zusammen mit dem Wert) aktualisieren.
                  Den wert kann ich mit setState ändern, aber die unit m.W. nicht.

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

                  @Sneak-L8 sagte:

                  Ich kann mir nicht sicher sein, dass die Einheit des Wertes sich in dem entfernten API ändert.

                  Dann prüfst Du hoffentlich, ob sich die "unit" geändert hat, bevor sie per extendObject() überschrieben 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

                  S 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @Sneak-L8 sagte:

                    Ich kann mir nicht sicher sein, dass die Einheit des Wertes sich in dem entfernten API ändert.

                    Dann prüfst Du hoffentlich, ob sich die "unit" geändert hat, bevor sie per extendObject() überschrieben wird ?

                    S Offline
                    S Offline
                    Sneak-L8
                    schrieb am zuletzt editiert von
                    #9

                    @paul53 Nein, warum sollte ich? Stellt das ein Problem dar? Dann müsste ich zusätzlich im Adapter die Werte erstmal auslesen und dann updaten. Da das über Callback geht ist das dann recht aufwändig ...

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • S Sneak-L8

                      @paul53 Nein, warum sollte ich? Stellt das ein Problem dar? Dann müsste ich zusätzlich im Adapter die Werte erstmal auslesen und dann updaten. Da das über Callback geht ist das dann recht aufwändig ...

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

                      @Sneak-L8 sagte:

                      Dann müsste ich zusätzlich im Adapter die Werte erstmal auslesen und dann updaten.

                      Man kann sich die "unit" auch in Variablen merken. Objekte sollten quasi-statisch bleiben, da sie sonst zu oft in die Datei/Datenbank geschrieben werden.

                      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

                      S 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @Sneak-L8 sagte:

                        Dort will ich "unit" aktualsieren.

                        Welchen Grund kann es geben, die "unit" zu ändern ?

                        Jey CeeJ Online
                        Jey CeeJ Online
                        Jey Cee
                        Developer
                        schrieb am zuletzt editiert von
                        #11

                        @paul53 sagte in extendObject vs. setObjectNotExists:

                        @Sneak-L8 sagte:

                        Dort will ich "unit" aktualsieren.

                        Welchen Grund kann es geben, die "unit" zu ändern ?

                        Bei EnOcean gibt es dafür 2 Szenarien:

                        1. die Unit kann im Gerät ausgewählt werden werden.
                        2. die Einheit hängt vom Wert ab. z.B Wh werden beim Überschreiten von 1000 in kWh übertragen, die Unit wird dann sepperat mit gesendet.

                        @Sneak-L8 sagte in extendObject vs. setObjectNotExists:

                        Da das über Callback geht ist das dann recht aufwändig .

                        Dafür gibt es Promises und Await/Async.

                        Persönlicher Support
                        Spenden -> paypal.me/J3YC33

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • Jey CeeJ Jey Cee

                          @paul53 sagte in extendObject vs. setObjectNotExists:

                          @Sneak-L8 sagte:

                          Dort will ich "unit" aktualsieren.

                          Welchen Grund kann es geben, die "unit" zu ändern ?

                          Bei EnOcean gibt es dafür 2 Szenarien:

                          1. die Unit kann im Gerät ausgewählt werden werden.
                          2. die Einheit hängt vom Wert ab. z.B Wh werden beim Überschreiten von 1000 in kWh übertragen, die Unit wird dann sepperat mit gesendet.

                          @Sneak-L8 sagte in extendObject vs. setObjectNotExists:

                          Da das über Callback geht ist das dann recht aufwändig .

                          Dafür gibt es Promises und Await/Async.

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

                          @Jey-Cee sagte:

                          die Unit kann im Gerät ausgewählt werden werden.

                          Die Auswahl wird man nicht ständig ändern.

                          @Jey-Cee sagte in extendObject vs. setObjectNotExists:

                          die Einheit hängt vom Wert ab. z.B Wh werden beim Überschreiten von 1000 in kWh übertragen, die Unit wird dann sepperat mit gesendet.

                          Dann kann man den Wert auch in die Unit des Datenpunktes umrechnen.

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

                            @Sneak-L8 sagte:

                            Dann müsste ich zusätzlich im Adapter die Werte erstmal auslesen und dann updaten.

                            Man kann sich die "unit" auch in Variablen merken. Objekte sollten quasi-statisch bleiben, da sie sonst zu oft in die Datei/Datenbank geschrieben werden.

                            S Offline
                            S Offline
                            Sneak-L8
                            schrieb am zuletzt editiert von
                            #13

                            @paul53 sagte in extendObject vs. setObjectNotExists:

                            @Sneak-L8 sagte:

                            Dann müsste ich zusätzlich im Adapter die Werte erstmal auslesen und dann updaten.

                            Man kann sich die "unit" auch in Variablen merken. Objekte sollten quasi-statisch bleiben, da sie sonst zu oft in die Datei/Datenbank geschrieben werden.

                            Danke für den Hinweis. Ja, ich könnte sie beim Start des Adapters aus den States einlesen und dann nur aktualisieren, wenn sie sich ändern. Promises und Await/Async sagt mir nicht so viel, da müsste ich mich erst einlesen.
                            Aber ich sollte es auf jeden Fall umstellen, wenn durch den Extend die Daten dann jedes Mal neu in die DB geschrieben werden. Da will ich nicht zum Messie werden ...

                            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

                            628

                            Online

                            32.4k

                            Benutzer

                            81.4k

                            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