Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. "Homematic Manager Adapter" First Steps

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    "Homematic Manager Adapter" First Steps

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

      Morgen,

      bin gerade am "Sichten" welche Möglichkeiten wir mit einer Homematic GUI in ioBroker haben.

      Dabei bin ich auf Homematic Manager von HobbyQuaker gestossen.

      Fragen:

      Wäre ein einfacher ioBroker Adapter denkbar der einfach einen "redirect" auf einen Homematic Manager Instance macht? So wie Vis oder NodeRed.

      Gibt es schon eine Entwicklung in der Richtung? (Also Homematic GUI für ioBroker)

      Lizenz Fragen:

      Erlaubt die Lizenz "Copyright © 2014 Anli, Hobbyquaker" überhaupt eine Weiterverwendung/Weiterentwicklung?

      Danke

      Steve

      1 Reply Last reply Reply Quote 0
      • S
        StefSign last edited by

        Hallo,

        also anbei meine ersten "Gehversuche" mit einem Homematic Manager Adapter kurz HMM Adapter. Das Ganze erstmal ohne Git Anbindung und einfach mal lokal.

        1. Aus dem Verzeichnis "/opt/iobroker/node_modules/iobroker.js-controller/adapter/example/" den Beispiel Adapter in ein neues Verzeichnis "/opt/iobroker/node_modules/iobroker.hmm" kopieren.

        2. Im Verzeichnis /opt/iobroker/node_modules/iobroker.hmm das File io-package.json entsprechend anpassen, d.h. den Adapternamen passend zum Adapterverzeichnis richtig setzen. Also hmm in unserem Fall.

        3. Das File example.js in hmm.js umbenennen und dann darin die Zeile "var adapter = utils.adapter('hmm');" ebenfalls anpassen.

        4. Nach einem "refresh" in der ioBroker.admin GUI müßte nun ein neuer HMM Adapter auftauchen.

        5. Jetzt eine HMM Instance erzeugen.

        Voila, so einfach ist ioBroker Adapter Programmierung!

        🙂

        Nein, war ein Spässchen…sobald ich weiter probiert habe gibt es eine Fortsetzung.

        Steve

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

          @StefSign:

          Morgen,

          bin gerade am "Sichten" welche Möglichkeiten wir mit einer Homematic GUI in ioBroker haben.

          Dabei bin ich auf Homematic Manager von HobbyQuaker gestossen.

          Fragen:

          Wäre ein einfacher ioBroker Adapter denkbar der einfach einen "redirect" auf einen Homematic Manager Instance macht? So wie Vis oder NodeRed.

          Gibt es schon eine Entwicklung in der Richtung? (Also Homematic GUI für ioBroker)

          Lizenz Fragen:

          Erlaubt die Lizenz "Copyright © 2014 Anli, Hobbyquaker" überhaupt eine Weiterverwendung/Weiterentwicklung?

          Danke

          Steve `
          Die Integration sollte ohne Probleme möglich sein. (Steve hat schon gerade die hälfte gemacht 🙂 )

          Lizenz ist CC BY-NC-SA 4.0. (Frei für nicht kommerzielle Nutzung).. Sollte auch möglich sein, aber nur für Zuhause.

          1 Reply Last reply Reply Quote 0
          • S
            StefSign last edited by

            Morgen,

            leider ist mir die Architektur der ioBroker Adapter immer noch nicht ganz klar, obwohl ich mir alle ioBroker Adapter Sourcen angesehen habe (na ja, wohl eher überflogen).

            Deswegen kurz ein paar Fragen:

            • Gibt es eine Doku wie man aus einem eigenen ioBroker Adapter ein NPM Installations Packet erzeugt? Ich denke dies steckt im Gruntfile.js?

            • Welche Architektur/Pattern steckt in ioBroker und seinen Adaptern? Ein paar Stichpunkte reichen natürlich.

            Danke schon mal für die Zeit zum beantworten der Adapter Fragen. Um allen/mir einen Einstieg in die Adapter Programmierung zu geben sind sie wohl leider notwendig. Trotz meiner einjährigen Hobby Javascript Programmier Erfahrung ist da eine gewisse "Hürde" bzw. Herausforderung.

            🙂

            Wenn ich damit fertig bin, wäre ich bereit ein "How to" zur Adapter Programmierung zu erstellen, falls es jemand interessiert. Sogar auf Englisch!

            🙂

            cu

            Steve

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

              Hab mal versucht nach dieser Anleitung einen HMM Adapter zu bauen.

              Variablen hab ich alle drinnen, bin grad dabei, noch eigene Instanzen anzulegen.

              Dann geht es daran, den hm-manager.js so umzubauen, das er über ioBroker startbar ist.

              Wenn ich fertig bin, gebe ich Bescheid.

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

                So, weiter geht's, der Prozess des HMM lässt sich schon mal von ioBroker aus stoppen und starten.

                Jetzt geht's an die Ablage / Abfrage der richtigen Konfiguration.

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

                  So, Config wird richtig gebaut, funktioniert auch wunderbar mit "Änderungen zur Laufzeit".

                  Jetzt aber eine blöde Frage, ist es möglich, bestehende Instanzen (in diesem Fall hm-rpc) abzufragen, welche Config

                  dort beinhaltet ist?

                  Weil dann könnte ich gleich direkt die bestehenden hm-rpc Adapter einbinden und müsste diese nicht doppelt konfigurieren.

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

                    Anbei mal eine Ansicht der Admin Einstellungen des Adapters.
                    301_admin-console.png

                    1 Reply Last reply Reply Quote 0
                    • S
                      StefSign last edited by

                      Hallo versteckt,

                      na Du legst ein Tempo hin…

                      🙂

                      Leider kann ich dir (momentan) nicht direkt weiterhelfen. Bin gerade dabei mit Webstorm mir eine Entwicklungsumgebung aufzubauen.

                      Fragen:

                      Wie könnte man den Sourcecode sharen?

                      Was nutzt Du zum entwickeln? Ich hoffe nicht vi.

                      Danke

                      Steve

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

                        @versteckt:

                        So, Config wird richtig gebaut, funktioniert auch wunderbar mit "Änderungen zur Laufzeit".

                        Jetzt aber eine blöde Frage, ist es möglich, bestehende Instanzen (in diesem Fall hm-rpc) abzufragen, welche Config

                        dort beinhaltet ist?

                        Weil dann könnte ich gleich direkt die bestehenden hm-rpc Adapter einbinden und müsste diese nicht doppelt konfigurieren. `
                        Du kannst hm-rega abschauen.

                        https://github.com/ioBroker/ioBroker.hm … index.html

                        Es gibt schon fertige Funktion:

                        `var instances = {};
                        getAdapterInstances('hm-rpc', function (arr) {
                           var count = arr.length;
                           for (var i = 0; i < arr.length; i++) {
                                getObject('system.adapter.' + arr[i], function(err, obj) {
                                     instances[obj._id] = obj;
                                     count--;
                                     if (!count) {
                                        // finished, do something with your array
                                        console.log(JSON.stringify(instances));
                                     }
                                }
                           }
                           console.log(JSON.stringify(arr));
                        }` [/i]
                        
                        1 Reply Last reply Reply Quote 0
                        • S
                          StefSign last edited by

                          …oder vielleicht doch.

                          Die Konfiguration von Adaptern steht doch in einem ibBroker Object wie hm-rpc oder system.adapter.hm-rpc?

                          Steve

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

                            @StefSign:

                            …oder vielleicht doch.

                            Die Konfiguration von Adaptern steht doch in einem ibBroker Object wie hm-rpc oder system.adapter.hm-rpc?

                            Steve `
                            Die steht in "system.adapter.hm-rpc.X", wo X Instanznummer ist.

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

                              Im Moment benutze ich noch Xcode, bin ja auf Apple unterwegs.

                              Muss erst mal schauen, inwiefern ich Eclipse einsetze. Komm ja noch aus der C bzw. Java Schiene, ist halt auch schon 12 Jahre her.

                              Werde mal versuchen die Objekte so auszulesen und dann mal ein Paket schnüren, damit es alle nutzen können.

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

                                @StefSign:

                                • Gibt es eine Doku wie man aus einem eigenen ioBroker Adapter ein NPM Installations Packet erzeugt? Ich denke dies steckt im Gruntfile.js? `
                                  Nein. Das ist allein package.json.
                                • Erst Account auf https://www.npmjs.com/ erzeugen.

                                • Danach````
                                  npm init

                                
                                - Danach packet.json ergänzen ([https://docs.npmjs.com/files/package.json](https://docs.npmjs.com/files/package.json) oder bei anderen Adapter abschauen)
                                
                                -````
                                npm publish
                                

                                ioBroker Adapters müssen immer mit "iobroker." anfangen, sonst werden die ignoriert beim start.

                                @StefSign:

                                • Welche Architektur/Pattern steckt in ioBroker und seinen Adaptern? Ein paar Stichpunkte reichen natürlich. `
                                  Example ist gar nicht so schlecht um zu verstehen wie einen Adapter funktioniert. Ich suche immer noch die Inspiration für ADAPTER.md :?
                                1 Reply Last reply Reply Quote 0
                                • V
                                  versteckt last edited by

                                  Bin die Woche ziemlich ausgelastet, werde also erst am Samstag versuchen die Daten hochzuladen.

                                  Gesendet von meinem iPhone mit Tapatalk

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

                                    Bin heute mal ein Stück weitergekommen:

                                    Es werden nun automatisch alle hm-rpc Objekte in die Admin Seite geladen.

                                    Somit muss man diese nicht manuell reinkonfigurieren.

                                    Das Thema mit npm Install kommt dann als nächstes dran, hatte heute schon mal Zeit mich ein wenig einzulesen.

                                    301_admin-console.png

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

                                      Es ist vollbracht, eine initiale Version des iobroker.hmm ist in Git bzw. npm zu finden.

                                      Bitte nicht erschlagen, es ist noch nichts dokumentiert und sicherlich Fehler behaftet.

                                      Ausserdem sind beide Abhängigkeiten im Git mitdrinnen.

                                      Könnt ihr trotzdem mal versuchen diesen zu installieren (im ioBroker Root-Dir einfach "npm install iobroker.hmm" eingeben)?

                                      Dann weiss ich zumindest gleich mal, was ich alles noch machen muss.

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

                                        Und gleich eine Installationsanleitung hinterhergeschossen GG:

                                        cd IOBROKERDIR

                                        npm install iobroker.hmm

                                        cd node_modules/iobroker.hmm/node_modules

                                        curl -o master.zip https://codeload.github.com/hobbyquaker … zip/master

                                        unzip master.zip

                                        rm master.zip

                                        mv homematic-manager-master homematicmanager

                                        cd homematicmanager

                                        npm install

                                        Danach in der Admin Seite den Adapter hinzufügen.

                                        Dieser muss dann noch konfiguriert werden.

                                        Ich habe die RPC Listen IP immer auf ein physikalisches Interface gesetzt.

                                        Wenn bereits hm-rpc Adapter da sind, werden diese in der Liste automatisch gesetzt.

                                        Falls kein hm-rpc Adapter aktiv ist, müssen folgende Parameter gesetzt werden:

                                        Name: Ein aussagekräftiger Name

                                        Type: BidCos-RF

                                        IP: Die IP-Adresse des Homegear / CCU2

                                        Port: 2001

                                        isCcu: true

                                        init: true

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

                                          ich habs versucht:

                                          root@quad-pi:/opt/iobroker# npm install iobroker.hmm
                                          npm http GET https://registry.npmjs.org/iobroker.hmm
                                          npm http 200 https://registry.npmjs.org/iobroker.hmm
                                          npm http GET https://registry.npmjs.org/iobroker.hmm/-/iobroker.hmm-0.0.6.tgz
                                          npm http 200 https://registry.npmjs.org/iobroker.hmm/-/iobroker.hmm-0.0.6.tgz
                                          npm http GET https://registry.npmjs.org/fs.notify
                                          npm http 200 https://registry.npmjs.org/fs.notify
                                          npm http GET https://registry.npmjs.org/retry
                                          npm http GET https://registry.npmjs.org/async
                                          npm http 200 https://registry.npmjs.org/async
                                          npm http 200 https://registry.npmjs.org/retry
                                          iobroker.hmm@0.0.6 node_modules/iobroker.hmm
                                          └── fs.notify@0.0.4 (retry@0.6.1, async@0.1.22)
                                          root@quad-pi:/opt/iobroker# cd node_modules/iobroker.hmm/node_modules
                                          root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules# curl -o master.zip https://codeload.github.com/hobbyquaker ... zip/master
                                            % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                                                           Dload  Upload   Total   Spent    Left  Speed
                                          100    21  100    21    0     0     33      0 --:--:-- --:--:-- --:--:--    46
                                          curl: (6) Couldn't resolve host '...'
                                          curl: (6) Couldn't resolve host 'zip'
                                          root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules# unzip master.zip
                                          Archive:  master.zip
                                            End-of-central-directory signature not found.  Either this file is not
                                            a zipfile, or it constitutes one disk of a multi-part archive.  In the
                                            latter case the central directory and zipfile comment will be found on
                                            the last disk(s) of this archive.
                                          unzip:  cannot find zipfile directory in one of master.zip or
                                                  master.zip.zip, and cannot find master.zip.ZIP, period.
                                          root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules# rm master.zip
                                          root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules# mv homematic-manager-master homematicmanager
                                          mv: Aufruf von stat für „homematic-manager-master“ nicht möglich: Datei oder Verzeichnis nicht gefunden
                                          root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules# cd homematicmanager
                                          -bash: cd: homematicmanager: Datei oder Verzeichnis nicht gefunden
                                          root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules# npm install
                                          npm WARN package.json iobroker.hmm@0.0.6 No repository field.
                                          root@quad-pi:/opt/iobroker/node_modules/iobroker.hmm/node_modules#
                                          
                                          

                                          sagt dir das was?

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

                                            Ja, die URL ist falsch.

                                            Kopiere sie dir bitte mit "rechter Maustaste | Copy Link (oder was auch immer).

                                            Wenn du den Text so kopierst, kopiert er die URL mit …

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            744
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            66
                                            12419
                                            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