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: alle Objekte/States eines Adapters löschen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    144

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Adapter: alle Objekte/States eines Adapters löschen

Geplant Angeheftet Gesperrt Verschoben Entwicklung
27 Beiträge 6 Kommentatoren 9.1k 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.
  • P Offline
    P Offline
    Pman
    schrieb am zuletzt editiert von
    #9
    Delete	2015-08-15 11:55:33	info	channel harmony.0.Wohnzimmer_Hub.devices.Dish-DVR
    harmony-0	2015-08-15 11:55:33	info	deleting old devices Dish-DVR
    

    Leider wird aber nichts gelöscht. Bis auf das deleteChannel funktioniert sonst alles korrekt:

        //delete old activities and devices
        adapter.getChannelsOf(adapter.config.hub.replace(/\s/g,'_'),function (err, channels) {
            adapter.log.info('channels: ' + JSON.stringify(channels));
            channels.forEach(function(channel){
                var tmp = channel._id.split('.');
                var id = tmp.pop();
                var type = tmp.pop();
                if (type != 'activities' && type != 'devices'){
                    return;
                }
                if (!activities.hasOwnProperty(channel.native.id) && !devices.hasOwnProperty(channel.native.id)){
                    adapter.log.info('deleting old ' + type + ' ' + id);
                    adapter.deleteChannel('',channel._id);
                }
            });
        });
    
    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #10

      Falls du diese Datei austauschst?

      https://raw.githubusercontent.com/ioBro … adapter.js

      Wird es besser?

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        Pman
        schrieb am zuletzt editiert von
        #11

        Reicht es die Datei auszutauschen, oder muss ich rebooten um js-controller neuzustarten?

        Austauschen hat nicht geholfen.

        Ich glaube es fehlen Punkte:

        Delete	2015-08-15 12:14:37	info	channel harmony.0.Wohnzimmer_Hub_devices_Dish-DVR
        harmony-0	2015-08-15 12:14:37	info	deleting old devices Dish-DVR
        
        1 Antwort Letzte Antwort
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          schrieb am zuletzt editiert von
          #12

          @Pman:

          Reicht es die Datei auszutauschen, oder muss ich rebooten um js-controller neuzustarten?

          Austauschen hat nicht geholfen.

          Ich glaube es fehlen Punkte:

          Delete	2015-08-15 12:14:37	info	channel harmony.0.Wohnzimmer_Hub_devices_Dish-DVR
          harmony-0	2015-08-15 12:14:37	info	deleting old devices Dish-DVR
          ```` `  
          

          Der Channel - Name stimmt aber, oder?

          1 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            Pman
            schrieb am zuletzt editiert von
            #13

            raw vom channel:

            {
              "type": "channel",
              "common": {
                "name": "devices.Dish-DVR",
                "role": "media.device"
              },
              "native": {
                "Transport": 1,
                "suggestedDisplay": "DEFAULT",
                "deviceTypeDisplayName": "PVR",
                "label": "Dish-DVR",
                "id": "28521212",
                "Capabilities": [
                  1,
                  3,
                  5,
                  6,
                  9,
                  10
                ],
                "type": "PVR",
                "DongleRFID": 0,
                "ControlPort": 7,
                "IsKeyboardAssociated": false,
                "model": "Hopper",
                "deviceProfileUri": "svcs.myharmony.com/res/device/28521212-njRwAyB/wOPfT7VSsSuvx+V4eiPJah/Ss9ZlchCTYz4=",
                "manufacturer": "Dish Network",
                "icon": "18",
                "isManualPower": "false"
              },
              "_id": "harmony.0.Wohnzimmer_Hub.devices.Dish-DVR",
              "acl": {
                "object": 1638
              }
            }
            

            bei der delete Meldung kommt das hier:

            Delete 2015-08-15 12:14:37 info channel harmony.0.Wohnzimmer_Hub****devices****Dish-DVR

            1 Antwort Letzte Antwort
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              schrieb am zuletzt editiert von
              #14

              @Pman:

              "name": "devices.Dish-DVR",

              "_id": "Wohnzimmer_Hub.devices.Dish-DVR",

              }

              bei der delete Meldung kommt das hier:

              Delete 2015-08-15 12:14:37 info channel harmony.0.Wohnzimmer_Hub****devices****Dish-DVR `
              Also… Hier ist was in der Benennung falsch.

              So sollte es sein und dafür auch gemacht:

              • Wohnzimmer_Hub - Device

              • devices.Dish-DVR - ist channel und muss "Dish-DVR" oder "devices_Dish-DVR" heisen. (Kiene Punkte)

              Falls man diese Namensschema hat, dann werden auch getChannelsOf, deleteChannel und so weiter funktionieren,

              sonst muss man manuell alle Objekte pflegen mit setObject, getObject, delObject.

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                Pman
                schrieb am zuletzt editiert von
                #15

                Ah, Danke für die super Erklärung, ich dachte name wäre ganz frei wählbar und nicht wichtig für die Funktionalität.

                Also, damit ich es komplett richtig mache frage ich besser nochmal vorher:

                Device:

                {
                  "type": "device",
                  "common": {
                    "name": "Wohnzimmer_Hub"
                  },
                  "native": ...
                  "_id": "harmony.0.Wohnzimmer_Hub"
                }
                

                Channel devices:

                {
                  "type": "channel",
                  "common": {
                    "name": "devices",
                    "role": "channel.devices"
                  },
                  "native": {},
                  "_id": "harmony.0.Wohnzimmer_Hub.devices"
                }
                

                Channel dish-dvr:

                {
                  "type": "channel",
                  "common": {
                    "name": "devices_Dish-DVR",
                    "role": "media.device"
                  },
                  "native": ...
                  "_id": "harmony.0.Wohnzimmer_Hub.devices.Dish-DVR",
                }
                

                State dish-dvr

                {
                  "type": "state",
                  "common": {
                    "name": "devices_Dish-DVR_ChannelDown",
                    "role": "button",
                    "type": "boolean",
                    "write": true,
                    "read": true
                  },
                  "native": ...
                  "_id": "harmony.0.Wohnzimmer_Hub.devices.Dish-DVR.ChannelDown",
                }
                
                1 Antwort Letzte Antwort
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  schrieb am zuletzt editiert von
                  #16

                  Warum zwei channels?

                  Device=>channel=>state.

                  Kannst du so schaffen? Ich weiß nicht wie die Struktur von Harmony aussieht, sonst konnte ich dir sofort sagen, wie es am besten zu machen ist. ;)

                  1 Antwort Letzte Antwort
                  0
                  • P Offline
                    P Offline
                    Pman
                    schrieb am zuletzt editiert von
                    #17

                    Es gibt den Hub, der sendet Infrarot und Bluetooth befehle an Devices.

                    Es gibt Devices (Fernseher, Receiver, Playstation usw.). Devices haben commands (VolUp, VolDown usw.)

                    Es gibt Activities (Fernseh gucken, Playstation spielen), startet man eine Activity werden alle benötigten Geräte gestartet (Playstation spielen: Playstation an, Tv an, Tv auf Eingang HDMI 1). Activities haben einen Zustand (off,starting,on,ending).

                    Es ist nötig Devices und Activities zu trennen, da sie die gleichen Bezeichnungen haben können und auch ganz unterschiedlich funktionieren.

                    Kann man Channels nicht verschachteln?

                    1 Antwort Letzte Antwort
                    0
                    • BluefoxB Offline
                      BluefoxB Offline
                      Bluefox
                      schrieb am zuletzt editiert von
                      #18

                      @Pman:

                      Es gibt den Hub, der sendet Infrarot und Bluetooth befehle an Devices.

                      Es gibt Devices (Fernseher, Receiver, Playstation usw.). Devices haben commands (VolUp, VolDown usw.)

                      Es gibt Activities (Fernseh gucken, Playstation spielen), startet man eine Activity werden alle benötigten Geräte gestartet (Playstation spielen: Playstation an, Tv an, Tv auf Eingang HDMI 1). Activities haben einen Zustand (off,starting,on,ending).

                      Es ist nötig Devices und Activities zu trennen, da sie die gleichen Bezeichnungen haben können und auch ganz unterschiedlich funktionieren.

                      Kann man Channels nicht verschachteln? `

                      Hub => device

                      Devices => channel

                      commands => states

                      activities => channel "activities"

                      activities commands => states von channel "activities"

                      ???
                      > Kann man Channels nicht verschachteln?
                      Man kann die verschachteln, aber dann werden die Befehle deleteChannel, createChannel usw nicht funktionieren. Ich habe die geschrieben für

                      device=>channel=>states oder

                      channel=>states oder

                      nur states

                      Man kann doch nicht alles abdecken. :?

                      1 Antwort Letzte Antwort
                      0
                      • P Offline
                        P Offline
                        Pman
                        schrieb am zuletzt editiert von
                        #19

                        Ich kenne die interne Datenstruktur von Objects nicht, aber könnte man nicht rekursiv über die ids laufen, so dass man adapter.deleteObjectById("Hub.devices.dish-dvr") machen kann und er dann alle devices/channels/states mit id "Hub.devices.dish-dvr.*" und "Hub.devices.dish-dvr" selbst löscht?

                        Ich mache es jetzt aber so wie du gesagt hast Boss :lol: .

                        1 Antwort Letzte Antwort
                        0
                        • P Offline
                          P Offline
                          Pman
                          schrieb am zuletzt editiert von
                          #20

                          Ich bekomme es trotzdem nicht hin, der Channel wird nicht gelöscht :evil: .

                          Device:

                          {
                            "type": "device",
                            "common": {
                              "name": "Wohnzimmer_Hub"
                            },
                            "native": ...
                            "_id": "harmony.0.Wohnzimmer_Hub",
                            "acl": {
                              "object": 1638
                            }
                          }
                          

                          Channel:

                          {
                            "type": "channel",
                            "common": {
                              "name": "Sony_PS3",
                              "role": "media.device"
                            },
                            "native": ...
                            "_id": "harmony.0.Wohnzimmer_Hub.Sony_PS3",
                            "acl": {
                              "object": 1638
                            }
                          }
                          

                          State:

                          {
                            "type": "state",
                            "common": {
                              "name": "Angle",
                              "role": "button",
                              "type": "boolean",
                              "write": true,
                              "read": true
                            },
                            "native": ...
                            "_id": "harmony.0.Wohnzimmer_Hub.Sony_PS3.Angle",
                            "acl": {
                              "object": 1638,
                              "state": 1638
                            }
                          }
                          

                          Channel löschen mit:

                          adapter.deleteChannel(channel._id);
                          

                          Log:

                          Delete	2015-08-16 13:57:47	info	channel harmony.0.Wohnzimmer_Hub_Sony_PS3
                          harmony-0	2015-08-16 13:57:47	info	deleting old device: Sony_PS3
                          
                          1 Antwort Letzte Antwort
                          0
                          • P Offline
                            P Offline
                            Pman
                            schrieb am zuletzt editiert von
                            #21

                            Okay ich habe es rausgefunden.

                            Funktioniert nicht:

                            deleteChannel(channel._id)
                            
                            deleteChannel('',channel._id)
                            

                            Funktioniert:

                            deleteChannel(hubName,channel.common.name)
                            

                            Sollte es mit _id funktionieren? Wenn ja, dann ist es ein Bug.

                            1 Antwort Letzte Antwort
                            0
                            • F Offline
                              F Offline
                              Fitti
                              schrieb am zuletzt editiert von
                              #22

                              Will mal keinen neuen Thread aufmachen, da die Überschrift passt.

                              Meine Frage ist etwas einfacher, es geht um das allgemeine Aufräumen, nach rumspielen mit node-red.
                              578_2015-09-10_1719.png
                              Nachdem ich die Variablen gelöscht habe, bleibt noch das Objekt stehen.

                              Wie kann ich dieses löschen? Hier gibt es keinen Mülleimer,

                              Danke wie immer.

                              Fitti

                              "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
                              Plural von Status ist auch Status!

                              1 Antwort Letzte Antwort
                              0
                              • F Offline
                                F Offline
                                Fitti
                                schrieb am zuletzt editiert von
                                #23

                                Hmmm, nach einer Weile ist es einfach verschwunden. Räumt sich also das alleine auf?

                                Wodurch?

                                Fitti

                                "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
                                Plural von Status ist auch Status!

                                1 Antwort Letzte Antwort
                                0
                                • V Offline
                                  V Offline
                                  versteckt
                                  schrieb am zuletzt editiert von
                                  #24

                                  Meine leeren Objekte sind mit einem Refresh weg.

                                  Gesendet von meinem iPhone mit Tapatalk

                                  Raspi 1, Raspi 2, iobroker, Mac Mini: alles mit aktueller ioBroker Version

                                  homegear für Homematic und MAX!

                                  occ, zWave, rpi, hmm und homekit Entwickler

                                  1 Antwort Letzte Antwort
                                  0
                                  • BluefoxB Offline
                                    BluefoxB Offline
                                    Bluefox
                                    schrieb am zuletzt editiert von
                                    #25

                                    @versteckt:

                                    Meine leeren Objekte sind mit einem Refresh weg.

                                    Gesendet von meinem iPhone mit Tapatalk `
                                    Genau. Es ist noch ein nice2have Bug.

                                    Falls ein Objekt "baum.0.letzteImBaum" gelöscht wird und es keine Objekte im "baum.0" sind, dann wird noch "baum.0" angezeigt. Aber nur angezeigt als Zweig. Mit refresh ist das weg.

                                    1 Antwort Letzte Antwort
                                    0
                                    • V Offline
                                      V Offline
                                      versteckt
                                      schrieb am zuletzt editiert von
                                      #26

                                      Genauso hab ich es mitbekommen, hat für mich derweilen gepasst.

                                      Gesendet von meinem iPhone mit Tapatalk

                                      Raspi 1, Raspi 2, iobroker, Mac Mini: alles mit aktueller ioBroker Version

                                      homegear für Homematic und MAX!

                                      occ, zWave, rpi, hmm und homekit Entwickler

                                      1 Antwort Letzte Antwort
                                      0
                                      • MeistertrM Offline
                                        MeistertrM Offline
                                        Meistertr
                                        Developer
                                        schrieb am zuletzt editiert von
                                        #27

                                        [quote="Bluefox"

                                         - Device
                                         +---Channel 1
                                               +------- State 1
                                               +------- State 2
                                               +------- State 3
                                         +---Channel 2
                                               +------- State 4
                                               +------- State 5
                                               +------- State 6
                                               +------- State 7
                                        
                                        

                                        Falls es so ist, dann kannst du es mit```
                                        <code>adapter.getDevices(function (err, devices) {
                                        for(var d = 0; d < devices.length, d++) {
                                        adapter.deleteDevice(devices[d]._id);
                                        }
                                        });

                                        ich habe die objekte nach dem schema aufgebaut, und mit der Funtion versucht zu löschen, alles ohne fehler, das device wird danach im adapter auch nciht mehr gefunden, jedoch die channels und states, und die states unter objekte sind auch noch vorhanden, weiß einer wo mein Fehler liegt?

                                        mit freundlichen Grüßen Tobi</code>

                                        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

                                        821

                                        Online

                                        32.5k

                                        Benutzer

                                        81.7k

                                        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