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

      Ich stelle das mal unter OffTopic ein, ggf. schiebe ich es dann nach js/Blockly.

      Ich würde nach zig Umzügen meiner CCU1 bis jetzt zur piVCCU gerne einmal alles neu aufsetzen, da anscheinend etliche Leichen von Programmen und ggf. Geräten existieren.

      Dazu müsste ich alle Geräte ablernen und in der piVCCU3 wieder anlernen.
      Da einige Aktoren aber versteckt verbaut sind müsste ich das über die Seriennummer machen.

      Gleichzeitig wollte ich das nutzen und die Installation mal (für die Nachwelt) dokumentieren.


      Also die Frage:
      wie kann ich eine Liste erstellen (vorzugsweise Blockly) in der Name, Seriennummer und ggf. Raum enthalten ist.

      Das Sahnehäubchen wäre im csv-Format um es dann im Worksheet bearbeiten zu können

      paul53 machs-smart.de 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Homoran last edited by paul53

        @Homoran sagte:

        Name, Seriennummer und ggf. Raum enthalten ist.

        Die Seriennummer ist in der ID enthalten. Möchtest Du den Gerätenamen? Dann erstelle in Blockly eine Javascript-Funktion mit Ergebnis. Suchen solltest Du mit dem $Selector nach einem Datenpunkt, der in jedem Gerät einmal existiert: "hm-rpc.*.0.UNREACH" ?

        Homoran 2 Replies Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @paul53 last edited by

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

          Die Seriennummer ist in der ID enthalten

          klar, die ID ist genauso gut 😉
          mit den paar HmIP habe ich mich noch gar nicht beschäftigt, wie man die anlernen kann

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

          Möchtest Du den Gerätenamen?

          Ja, nicht den der Kanäle

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

          nach einem Datenpunkt, der in jedem Gerät einmal existiert: "hm-rpc.*.0.UNREACH"

          denke dass es den überall gibt, zumindest würde ich es mal damit versuchen

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

          Dann erstelle in Blockly eine Javascript-Funktion mit Ergebnis.

          das sehe ich mir mal an - Danke!

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @paul53 last edited by Homoran

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

            Suchen solltest Du mit dem $Selector

            und genau so etwas hatte ich noch nie gemacht und wollte das jetzt mal lernen.

            Hast du dazu auch noch einen Link?

            EDIT:
            habe mal was gebastelt:
            HM_Liste.png

            Leider wird der Common name nicht mit ausgeworfen

            EDIT2:

            Bin ich blind oder ist in der Funktion der Aufruf doppelt?

            function deviceName(id) { // id = Datenpunkt-ID
                id = id.substring(0, id.lastIndexOf('.'));
                if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
                //id = id.substring(0, id.lastIndexOf('.'));
                //if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
            }return 0;
            

            Habe jetzt mal den vermeintlich doppelten Eintrag auskommentiert

            paul53 2 Replies Last reply Reply Quote 0
            • paul53
              paul53 @Homoran last edited by paul53

              @Homoran
              Versuche es mal so:

              Blockly_temp.JPG

              Inhalt der Funktion deviceName(id):

              id = id.substring(0, id.lastIndexOf('.'));
              if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
              id = id.substring(0, id.lastIndexOf('.'));
              if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
              

              Da man bei HomeMatic weiß, dass zwischen Device und Datenpunkt noch ein Kanal steht, kann man die zweite Zeile auch weglassen.

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

                @Homoran sagte:

                Habe jetzt mal den vermeintlich doppelten Eintrag auskommentiert

                Das ist nicht doppelt, sondern verkürzt die ID um einen weiteren Bestandteil hinten, der durch einen Punkt getrennt ist.
                Die Funktionsdeklaration ist doppelt: Durch Blockly und innerhalb der Funktion.

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @paul53 last edited by

                  @paul53 Danke für die Erklärung!

                  Den Block deviceName mit: id (idUnreach) kann ich nicht finden.
                  ist der erst ab einer bestimmten js-Version vorhanden?

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

                    @Homoran sagte:

                    Den Block deviceName mit: id (idUnreach) kann ich nicht finden.

                    Das ist eine Javascript-Funktion mit Ergebnis mit Umbenennung von "etwas tun" nach "deviceName". Die Funktion kann erst verwendet werden, nachdem sie erstellt wurde.

                    Blockly_temp.JPG

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @paul53 last edited by Homoran

                      @paul53
                      du hängst mich ab - ist aber erst einmal gut so!
                      Da kann ich mich besser reindenken.

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

                      mit Umbenennung von "etwas tun" nach "deviceName"

                      Das hatte ich, aber die Variable nicht drin 😉

                      Jetzt läuft "etwas", aber immer noch kein common name 😞

                      HM_Liste_V02.png
                      Die Funktion ist natürlich wieder vollständig 😉

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

                        @Homoran sagte:

                        Die Funktion ist natürlich wieder vollständig

                        Bitte Inhalt zeigen !
                        Die Funktion liefert immer 0 zurück. Besser noch ein Leerzeichen hinter dem Doppelpunkt.

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @paul53 last edited by

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

                          Die Funktion liefert immer 0 zurück.

                          Danke für den Tritt gegens Schienbein 😉
                          Natürlich tut sie das wenn man das return(0) nicht löscht 😉

                          Läuft jetzt.

                          Ich will dann mal sehen, wie ich damit weiterkomme

                          1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators last edited by

                            @paul53

                            Habe dann zur Plausibilität mal hochzählen lassen:
                            HM_Liste_V02a.png

                            127 sah erst einmal brauchbar aus, der Signaturgenerator von Teddy sagt aber:

                            613 Kanäle in 135 Geräten:
                            
                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @Homoran last edited by

                              @Homoran
                              8 Geräte, die kein "0.UNREACH" haben ?

                              Homoran 1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @paul53 last edited by

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

                                @Homoran
                                8 Geräte, die kein "0.UNREACH" haben ?

                                keine Ahnung.
                                2 habe ich inzwischen gefunden, auf der Testinstanz hatte ich wired nicht aktiv, die letzten 6 könnten CuxD Geräte sein, weiß aber im Moment nicht ob das so viele waren.

                                EDIT: laut CuxD gibt es 5 Geräte

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

                                  @Homoran sagte:

                                  laut CuxD gibt es 5 Geräte

                                  Dann fehlt ja nur noch ein Gerät 😀

                                  Homoran 1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @paul53 last edited by

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

                                    @Homoran sagte:

                                    laut CuxD gibt es 5 Geräte

                                    Dann fehlt ja nur noch ein Gerät 😀

                                    Genau - das Risiko nehme ich in Kauf 😉

                                    Gefunden!!!
                                    die virtuellen Kanäe BidCos_RF!

                                    Super!

                                    1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators last edited by

                                      Jetzt geht es noch um das Sahnehäubchen
                                      (und die Kirsche darauf): kann man auch den Raum auslesen?

                                      Wichtiger ist jedoch wie ich es "maschinenlesbar" hinbekomme
                                      HM_Liste_V02b.png

                                      Ich bekomme keinen Zeilenumbruch hin um es in Open office zeilenweise einlesen zu können

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

                                        @Homoran sagte:

                                        Ich bekomme keinen Zeilenumbruch hin

                                        Blockly_temp.JPG

                                        Homoran 1 Reply Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @paul53 last edited by

                                          @paul53 <br> habe ich auch schon gemacht, wird aber nicht als Zeilenumbruch erkannt 😞
                                          Habe es dann im Notepad++ eingelesen und manuell nach <br>, gesucht und ENTER gedrückt

                                          127x f3 - ENTER und fertig 😉

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

                                            @Homoran sagte:

                                            wird aber nicht als Zeilenumbruch erkannt

                                            Bei mir macht die Log-Ausgabe die Zeilenumbrüche. Wenn ich die Log-Ausgabe in Notepad++ einfüge und anschließend als CSV-Datei abspeichere, kann ich es sofort als Tabelle einlesen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            787
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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