Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Adapter: alle Objekte/States eines Adapters löschen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Adapter: alle Objekte/States eines Adapters löschen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bluefox
      Bluefox last edited by

      Falls du diese Datei austauschst?

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

      Wird es besser?

      1 Reply Last reply Reply Quote 0
      • P
        Pman last edited by

        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 Reply Last reply Reply Quote 0
        • Bluefox
          Bluefox last edited by

          @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 Reply Last reply Reply Quote 0
          • P
            Pman last edited by

            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 Reply Last reply Reply Quote 0
            • Bluefox
              Bluefox last edited by

              @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 Reply Last reply Reply Quote 0
              • P
                Pman last edited by

                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 Reply Last reply Reply Quote 0
                • Bluefox
                  Bluefox last edited by

                  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 Reply Last reply Reply Quote 0
                  • P
                    Pman last edited by

                    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 Reply Last reply Reply Quote 0
                    • Bluefox
                      Bluefox last edited by

                      @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 Reply Last reply Reply Quote 0
                      • P
                        Pman last edited by

                        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 Reply Last reply Reply Quote 0
                        • P
                          Pman last edited by

                          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 Reply Last reply Reply Quote 0
                          • P
                            Pman last edited by

                            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 Reply Last reply Reply Quote 0
                            • F
                              Fitti last edited by

                              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

                              1 Reply Last reply Reply Quote 0
                              • F
                                Fitti last edited by

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

                                Wodurch?

                                Fitti

                                1 Reply Last reply Reply Quote 0
                                • V
                                  versteckt last edited by

                                  Meine leeren Objekte sind mit einem Refresh weg.

                                  Gesendet von meinem iPhone mit Tapatalk

                                  1 Reply Last reply Reply Quote 0
                                  • Bluefox
                                    Bluefox last edited by

                                    @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 Reply Last reply Reply Quote 0
                                    • V
                                      versteckt last edited by

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

                                      Gesendet von meinem iPhone mit Tapatalk

                                      1 Reply Last reply Reply Quote 0
                                      • Meistertr
                                        Meistertr Developer last edited by

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        790
                                        Online

                                        31.7k
                                        Users

                                        79.8k
                                        Topics

                                        1.3m
                                        Posts

                                        6
                                        27
                                        8128
                                        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