Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Liste der Homematic Geräte erstellen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Liste der Homematic Geräte erstellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators last edited by

      @paul53

      Lass gut sein, das wird zu aufwändig!

      Ich habe es mir gerade noch einmal angesehen, die Räume, die auf der CCU vergeben wurden sind zum einen nur ab Kanal:1, also weder beim Gerät, noch bei dem Kanal mit unreach, zum anderen kommen diese ja über den hm-rega, den du nicht verwendest.

      Den Gerätetyp habe ich unter native, TYPE ebenfalls nur im RAW des Geräts gefunden, nicht in Kanal 0

      {
        "_id": "hm-rpc.0.KEQ0543528",
        "type": "device",
        "common": {
          "name": "Heizkreis",
          "icon": "/icons/IP65_G201_thumb.png"
        },
        "native": {
          "ADDRESS": "KEQ0543528",
          "CHILDREN": [
            "KEQ0543528:0",
            "KEQ0543528:1",
            "KEQ0543528:2",
            "KEQ0543528:3",
            "KEQ0543528:4",
            "KEQ0543528:5"
          ],
          "FIRMWARE": "1.1",
          "FLAGS": 1,
          "INTERFACE": "KEQ1065589",
          "PARAMSETS": [
            "MASTER"
          ],
          "PARENT": "",
          "RF_ADDRESS": 2224197,
          "ROAMING": 1,
          "RX_MODE": 12,
          "TYPE": "HM-WDS30-OT2-SM",
          "UPDATABLE": 1,
          "VERSION": 5
        },
        "from": "system.adapter.hm-rega.0",
        "user": "system.user.admin",
        "ts": 1599044955264,
        "acl": {
          "object": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        }
      }
      
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Homoran last edited by

        @Homoran sagte:

        Den Gerätetyp habe ich unter native, TYPE ebenfalls nur im RAW des Geräts gefunden

        Du hast recht. Den kann man abfragen. Funktion deviceType(id):

        id = id.substring(0, id.lastIndexOf('.'));
        id = id.substring(0, id.lastIndexOf('.'));
        if(existsObject(id) && getObject(id).type == 'device') return getObject(id).native.TYPE;
        
        Homoran 1 Reply Last reply Reply Quote 1
        • Homoran
          Homoran Global Moderator Administrators @paul53 last edited by

          @paul53 sagte in Liste der Homematic Geräte erstellen:

          Den kann man abfragen

          Danke mal wieder!!

          HM_Liste_Tabelle_V2.png

          Dann will ich mal an die Arbeit 😉

          1 Reply Last reply Reply Quote 0
          • FredF
            FredF Most Active Forum Testing last edited by

            @Homoran @paul53
            Danke für diesen Beitrag, habe mir damit eine Liste der zigbee Geräte erstellt.

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @FredF last edited by

              @FredF sagte:

              habe mir damit eine Liste der zigbee Geräte erstellt.

              Sicherlich nicht mit "0.UNREACH".

              FredF 1 Reply Last reply Reply Quote 1
              • FredF
                FredF Most Active Forum Testing @paul53 last edited by

                @paul53 Klar, nein. Mit

                zigbee.0.*.available
                
                1 Reply Last reply Reply Quote 0
                • Peoples
                  Peoples last edited by Peoples

                  @Homoran
                  Ich frage nur aus Neugier, warum willst du das im Iobroker machen? Im Homematic Forum gab es da doch mal so ein Inventur - Script.

                  Das folgende Ausgabe bringt (hier als Auszug):

                  .
                  .
                  ...
                   115 NEQ093XXXX HM-TC-IT-WM-W-EU (Wandthermostat.Wohnz)
                                 :1 Wandthermostat.Wohnz.NEQ093XXXX:1
                                 :2 Wandthermostat.Wohnz.NEQ093XXXX:2
                                 :3 Wandthermostat.Wohnz.NEQ093XXXX:3
                                 :6 Wandthermostat.Wohnz.NEQ093XXXX:6
                                 :7 Wandthermostat.Wohnz.NEQ093XXXX:7
                  116 OEQ036XXXX HM-WDS100-C6-O-2 (Wetterstation)
                                 :1 Wetterstation.OEQ036XXXX:1
                   117 INT0000001 HM-CC-VG-1 (Wohnen | Heizen  INT0000001)
                                 :1 Wohnen | Heizen  INT0000001:1
                                 :2 Wohnen | Heizen  INT0000001:2
                  --------------------------------------------
                  356 Kanäle in 117 Geräten:
                  1x HM-PB-6-WM55, 8x HM-CC-VG-1, 1x HM-Sen-MDIR-O, 7x HM-Sen-MDIR-WM55, 1x HM-Sen-MDIR-O-3, 31x HM-Sec-SCo, 1x HM-Sec-RHS, 1x HM-MOD-Re-8, 1x HM-RC-Key4-3, 1x HM-RC-Sec4-3, 1x HmIP-RCV-50, 5x HM-LC-Bl1PBU-FM, 2x HM-LC-Sw1-DR, 11x HM-LC-Sw1-FM, 4x HM-LC-Sw2PBU-FM, 4x HM-LC-Dim1T-FM, 1x HM-LC-Dim1T-Pl-3, 1x HM-Sen-LI-O, 2x HM-LC-Sw4-DR, 1x HM-Sec-TiS, 3x HM-ES-PMSw1-DR, 1x HM-LC-Sw1-Ba-PCB, 1x HM-Sec-Sir-WM, 2x HM-ES-PMSw1-Pl, 1x HM-WDS30-OT2-SM, 15x HM-CC-RT-DN, 1x HM-MOD-EM-8, 7x HM-TC-IT-WM-W-EU, 1x HM-WDS100-C6-O-2
                  --------------------------------------------
                  
                  
                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @Peoples last edited by Homoran

                    @Peoples sagte in Liste der Homematic Geräte erstellen:

                    Im Homematic Forum gab es da doch mal so ein Inventur - Script.

                    da bin ich schon lange nicht mehr drin gewesen, und das einzige Inventurscript, das ich kenne ist von QuickAccess.
                    Das gibt nur die Anzahl von jedem Gerät aus. (so wie deine letzte Zeile)

                    Hast du den Link zu dem von dir erwähnten Script?
                    (auch wenn ich schon fertig bin)

                    Peoples 1 Reply Last reply Reply Quote 0
                    • Peoples
                      Peoples @Homoran last edited by

                      @Homoran
                      Den Link habe ich leider auch nicht mehr, aber das Script kann ich dir rein stellen:

                      string s_device;
                      object o_device;
                      integer i_devices = 0;
                      integer i_cdevices = 0;
                      
                      string s_channel;
                      object o_channel;
                      integer i_channels = 0;
                      integer i_cchannels = 0;
                      
                      string s_typelist = "";
                      
                      string s_temp;
                      
                      foreach(s_device, dom.GetObject(ID_DEVICES).EnumUsedIDs()) {
                        var o_device = dom.GetObject(s_device);
                        boolean is_cux = o_device.Address().Substr(0,3) == "CUX";
                        if ((o_device.Address() != "BidCoS-Wir") && (o_device.Address() != "BidCoS-RF")) {
                          if (is_cux) {
                            i_cdevices = i_cdevices + 1;
                            s_temp = i_cdevices.ToString();
                          } else {
                            i_devices = i_devices + 1;
                            s_temp = i_devices.ToString();
                          }
                          if (i_devices < 10) { s_temp = " " # s_temp; }
                          if (i_devices < 100) { s_temp = " " # s_temp; }
                          if (is_cux) { s_temp = "C" # s_temp; }
                          else { s_temp = " " # s_temp; }
                          WriteLine(s_temp # " " # o_device.Address() # " " # o_device.HssType() # " (" # o_device.Name() # ")");
                          if (is_cux) { s_typelist = s_typelist # o_device.Address().Substr(0,5) # "\t"; }
                          else { s_typelist = s_typelist # o_device.HssType() # "\t"; }
                          foreach(s_channel, o_device.Channels().EnumUsedIDs()) {
                            if (is_cux) { i_cchannels = i_cchannels + 1; }
                            else { i_channels = i_channels + 1; }
                            o_channel = dom.GetObject(s_channel);
                            s_temp = "               :" # o_channel.Address().StrValueByIndex(":",1);
                            WriteLine(s_temp # " " # o_channel.Name() );
                          }
                        }
                      }
                      
                      WriteLine("--------------------------------------------");
                      
                      Write(i_channels # " Kanäle in " # i_devices # " Geräten");
                      if (i_cdevices > 0) { Write(" und "#i_cchannels # " CUxD-Kanäle in " # i_cdevices # " CUxD-Geräten"); }
                      WriteLine(":");
                      
                      string s_typeidx;
                      string s_typeidx2;
                      string s_typechecked = "";
                      integer i_subcount;
                      foreach (s_typeidx, s_typelist) {
                      ! EnergyStar 13.10.2010 vvv
                      ! den Suchstring um ein Komma und ein Leerzeichen erweitern um kein Teilstringproblem zu bekommen
                            if (s_typechecked.Find(s_typeidx # ", ") == -1) {
                      ! EnergyStar 13.10.2010 ^^^
                            i_subcount = 0;
                            foreach (s_typeidx2, s_typelist) {
                              if (s_typeidx2 == s_typeidx) {
                                i_subcount = i_subcount + 1; }
                              }
                      ! EnergyStar 13.10.2010 vvv
                      ! immer ein Komma und ein Leerzeichen anfügen
                              s_typechecked = s_typechecked # i_subcount # "x " # s_typeidx # ", ";
                      ! EnergyStar 13.10.2010 ^^^
                            }
                          }
                      
                      ! EnergyStar 13.10.2010 vvv
                      ! überflüssiges Komma und Leerzeichen am Ende entfernen
                          WriteLine(s_typechecked.Substr(0, s_typechecked.Length() - 2));
                      ! EnergyStar 13.10.2010 ^^^
                      
                          WriteLine("--------------------------------------------");
                      
                      
                      1 Reply Last reply Reply Quote 1
                      • machs-smart.de
                        machs-smart.de @Homoran last edited by

                        @homoran Mit Blockly und dem ID-Selektor kannst ganz einfach automatische Listen erstellen. Zum Beispiel kannst du dir damit ohne zusätzliche Einstellungen alle Devices zusammen mit dem Batteriestand anzeigen kassen. Oder eine Liste aller Kontaktsensoren und deren Status ausgeben. Oder oder … https://www.machs-smart.de/automatische-listen-einfach-mit-blockly-und-dem-id-selektor-erstellen/

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @machs-smart.de last edited by

                          @mxbr sagte in Liste der Homematic Geräte erstellen:

                          Mit Blockly und dem ID-Selektor kannst ganz einfach automatische Listen erstellen

                          hab ich doch!
                          @paul53 hatte mir damals geholfen

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          1.1k
                          Online

                          31.7k
                          Users

                          79.7k
                          Topics

                          1.3m
                          Posts

                          5
                          37
                          2475
                          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