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. Entwicklung
  4. Adapter.setObject

NEWS

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

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

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

Adapter.setObject

Geplant Angeheftet Gesperrt Verschoben Entwicklung
13 Beiträge 3 Kommentatoren 4.4k 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.
  • GoerschG Offline
    GoerschG Offline
    Goersch
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich bastel gerade an meinem ersten Adapter und versuche Objekte samt Raum anzulegen:

        adapter.setObject('Input.ABC', 
        {
            type: 'state',
            common: {
                room: 'Test',
                name: 'ABC',
                type: 'boolean',
                role: 'state'
            },
            native: {}
        });
    

    Das Objekt wird auch angelegt - nur der Raum wird nicht übernommen. Muss ich diesen anders definieren? Hab dazu leider nichts gefunden?

    Danke!

    Georg

    1 Antwort Letzte Antwort
    0
    • J Offline
      J Offline
      JoJ123
      schrieb am zuletzt editiert von
      #2

      Muss der Raum nicht in einer Aufzählung bereits existieren?

      Gesendet von meinem EML-L09 mit Tapatalk

      1 Antwort Letzte Antwort
      0
      • apollon77A Offline
        apollon77A Offline
        apollon77
        schrieb am zuletzt editiert von
        #3

        Als erstes: am besten setObjectNotExists nutzen anstelle setObject!

        Ansonsten: geht das überhaupt so? Wäre mir neu. Räume sind Enums und es gibt eigene Methoden um das zu managen.

        Gesendet vom Handy …

        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
        1 Antwort Letzte Antwort
        0
        • GoerschG Offline
          GoerschG Offline
          Goersch
          schrieb am zuletzt editiert von
          #4

          > Ansonsten: geht das überhaupt so? Wäre mir neu. Räume sind Enums und es gibt eigene Methoden um das zu managen.

          mh, ausser einem getEnums hab ich nix gefunden - hab nach addEnums, setEnums usw. gesucht… beschrieben ist meistens wie man den Raum manuell anlegt - ich möchte es aber aus einem Adapter heraus machen

          1 Antwort Letzte Antwort
          0
          • apollon77A Offline
            apollon77A Offline
            apollon77
            schrieb am zuletzt editiert von
            #5

            Es gibt adapter.addChannelToEnum und adapter.addStateToEnum … schau mal in https://github.com/ioBroker/ioBroker.js ... adapter.js

            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
            1 Antwort Letzte Antwort
            0
            • GoerschG Offline
              GoerschG Offline
              Goersch
              schrieb am zuletzt editiert von
              #6

              adapter.addStateToEnum hilft mir schon mal einen Schritt weiter:

              adapter.addStateToEnum('rooms',room,0,0,stateName,0,0);
              

              Ich kann danach in "Objects" dem Objekt den gewünschten Raum zuordnen; aber es passiert leider weiterhin nicht aus dem setObject heraus.

              Leider ist auch im Admin in "Enums" der Bereich "Rooms" leer - was mir zeigt, dass ich noch was falsch mache.

              Hab auch schon addChannelToEnum ausprobiert: Gleiches Ergebnis.

              Ich vermute, dass das mit den nicht übergegenen ParentDevice, ParentChannel zusammenhängt; wobei mir nicht klar ist, was ich hier übergeben soll. Wäre das eine ID?

              1 Antwort Letzte Antwort
              0
              • J Offline
                J Offline
                JoJ123
                schrieb am zuletzt editiert von
                #7

                Füge doch Mal selber einen Room zu dem Enum hinzu. Dann solltest du auch etwas auswählen können.

                Gesendet von meinem EML-L09 mit Tapatalk

                1 Antwort Letzte Antwort
                0
                • GoerschG Offline
                  GoerschG Offline
                  Goersch
                  schrieb am zuletzt editiert von
                  #8

                  so ich habs :D Nachdem ich bei addChannelToEnum das richtige ParentDevice hinzugefügt habe, funzt es … beim Objekt steht der richtige Raum drin.

                  Im Admin / Enums bei ROOMS bleibt weiterhin alles leer. Ich kann auch nichts hinzufügen - Beim Drücken auf "New Enum" passiert leider nix.Auch ein

                  log(getEnums());
                  

                  bringt leider nur > javascript.0 script.js.common.Script1: [object Object],[object Object]

                  So ganz sauber scheint mein Vorgehen noch nicht zu sein.

                  1 Antwort Letzte Antwort
                  0
                  • apollon77A Offline
                    apollon77A Offline
                    apollon77
                    schrieb am zuletzt editiert von
                    #9

                    Mal Admin reloaded? Admin restarted? Es gibt Dinge wo Admin Daten nur beim Start oder Änderungen per Admin neu lädt

                    Gesendet vom Handy …

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    1 Antwort Letzte Antwort
                    0
                    • GoerschG Offline
                      GoerschG Offline
                      Goersch
                      schrieb am zuletzt editiert von
                      #10

                      ja, hab Admin schonmal neu gestartet - hilft leider nicht

                      1 Antwort Letzte Antwort
                      0
                      • GoerschG Offline
                        GoerschG Offline
                        Goersch
                        schrieb am zuletzt editiert von
                        #11

                        so ganz klappt es doch noch nicht - wie schon befürchtet.

                        • einigen Objekten wird ein Raum zu - anderen nicht

                        • in Tab "Rooms" ist alles leer

                        -Ausgabe von log(getEnums());
                        > [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

                        Da scheint noch was zu fehlen - muss ich vorher den Enum "Rooms" erweitern?

                        Code sieht zurzeit so aus:

                        function createEnvironmentObject(env,group,room,name,type, unit, desc)
                        {
                            var objName = env + '.' + name;
                            var value = "";
                            if (type.indexOf("boolean")>-1) value = false;
                            if (type.indexOf("number")>-1) value = 0;
                        
                            adapter.setObject(objName, 
                            {
                                type: 'state',
                                common: 
                                {
                                    name: name,
                                    type: type,
                                    role: 'io.'+group,
                                    unit: unit,
                                    desc: desc
                               },
                                native: {}
                            });
                        
                            adapter.addStateToEnum('rooms',room,0,0,objName,0,0);    
                            adapter.setState(objName,value);
                        }
                        
                        
                        1 Antwort Letzte Antwort
                        0
                        • apollon77A Offline
                          apollon77A Offline
                          apollon77
                          schrieb am zuletzt editiert von
                          #12

                          Aaaaaalso … Logging von Objekten ist nur mit log immer so wie es bei Dir aussieht. Wenn Du es besser haben willst nimm JSON.stringfy(variable) Dann bekommst Du die echten Daten.

                          Ansonsten zu deinem Code:

                          • type.indexOf("boolean") ... type ==='boolean' und bei number auch

                          • role: 'io.'+group, ... das sind keine definierten Rollen!! --> https://github.com/ioBroker/ioBroker/bl ... E_ROLES.md

                          Zum Thema sonst kann ich leider wenig sagen

                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                          1 Antwort Letzte Antwort
                          0
                          • GoerschG Offline
                            GoerschG Offline
                            Goersch
                            schrieb am zuletzt editiert von
                            #13

                            ok, danke für die Hinweise :)

                            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

                            587

                            Online

                            32.4k

                            Benutzer

                            81.5k

                            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