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.
    • Bluefox
      Bluefox last edited by

      @versteckt:

      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. `
      Es ist toll!!

      Das was jetzt kommt ist jammern auf hochem Niveau:

      • man kann homematic-manager direkt aus npm installieren (pull request ist schon da)

      • node_modules sollte man nicht in git einchecken. Dafür kann man eine Datei ".gitignore" kreieren, mit dem Inhalt:

      .idea
      node_modules
      
      
      • package.json sollte repository, homepage und keywords Felder haben:
      "repository": {
          "type": "git",
          "url": "https://github.com/husky-koglhof/ioBroker.hmm"
        },
        "homepage": "https://github.com/husky-koglhof/ioBroker.hmm",
        "keywords": [
          "ioBroker",
          "homematic",
          "homematic manager"
        ],
      
      

      Dann wird npm Seite automatisch mit readme und github link befüllt.

      • io-package.json, da gibt es 4 Anmerkungen:

      version sollte mit package.json übereinstimmen.

      "version":                  "0.0.1",
      
      

      Link ist falsch:

              "extIcon":                  "https://raw.githubusercontent.com/ioBroker/ioBroker.js-controller/master/adapter/example/admin/example.png",
      
      

      Am besten auf "info" umstellen, sonst "by default" alle werden "debug" level haben.

             "loglevel":                 "debug",
      
      

      Das hier funktioniert nur wenn in "native" ein "port" existiert (bei dir ist es "webServerPort". Ich empfehle es umzubenennen)

              "localLink":                "http://%ip%:%port%",
      
      
      • Lizenz ist unklar:

      in package.json - GPL,

      in hmm.js - Apache,

      es gibt aber kein LICENSE file in git.

      Ich rate von GPL sowieso ab. Im schlimmsten Fall LGPL.

      Ich denke, dass du gleiche Lizenz verwenden solltest wie homematic-mamanger, weil du Adapter praktisch auf dem aufbaust. Und homematic-manager hat CC BY-NC-SA 4.0 http://creativecommons.org/licenses/by-nc-sa/4.0/

      Ansonsten es ist wirklich super noch einen Adapter zu haben.

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

        Alles klar, hab kein Problem mit jammern.

        Werde das am Wochenende alles einbauen.

        Ich bin froh über konstruktives Feedback!!!

        Gesendet von meinem iPhone mit Tapatalk

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

          Hallo, habe mal versucht, alle offenen Punkte soweit möglich zu erfüllen.

          @BlueFox: kannst du dies bitte kontrollieren und mir Bescheid geben, falls ich etwas

          vergessen bzw. falsch gemacht habe?

          Danach würde ich mit der Doku anfangen.

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

            Hallo Versteckt,

            klasse, die Sourcen schau ich mir gerade an.

            Fragen:

            • Wie komme ich an Npm Git heran? Momentan lade ich die hmm sourcen mit "nmp install iobroker.hmm" herunter.

            • Wie machst Du Debugging? Mit Webstorm? Wenn ja, ich habe ein Problem mit Breakpoints. Hat jetzt aber nichts direkt mit Deinem sourcen zu tun.

            • Ist es Dir Recht wenn ich Deine Sourcen als Beispiel fürs Webstorm Debugging hernehme? Oder machst Du schon etwas in dieser Richtung?

            • Beschreibst Du auch wie man npm Pakete erzeugt? Ist für mich noch Neuland.

            Danke

            Steve

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

              Hallo,

              • Wie komme ich an Npm Git heran? Momentan lade ich die hmm sourcen mit "nmp install iobroker.hmm" herunter.

              -> Was meinst du genau damit? Momentan ist mein Adapter noch nicht offiziell in ioBroker drinnen, deshalb noch manuell zu installieren / upgraden.

              • Wie machst Du Debugging? Mit Webstorm? Wenn ja, ich habe ein Problem mit Breakpoints. Hat jetzt aber nichts direkt mit Deinem sourcen zu tun.

              -> Im Moment noch gar nicht, das habe ich mir erst für morgen vorgenommen.

              • Ist es Dir Recht wenn ich Deine Sourcen als Beispiel fürs Webstorm Debugging hernehme? Oder machst Du schon etwas in dieser Richtung?

              -> Tu dir keinen Zwang an 😄

              • Beschreibst Du auch wie man npm Pakete erzeugt? Ist für mich noch Neuland.

              -> Ja kann ich machen.

              Das wäre dann z.B. wie "programmiere" ich einen Adapter, hinzufügen des Pakets in GitHub und NPMJS

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

                @versteckt:

                Hallo, habe mal versucht, alle offenen Punkte soweit möglich zu erfüllen.

                @BlueFox: kannst du dies bitte kontrollieren und mir Bescheid geben, falls ich etwas

                vergessen bzw. falsch gemacht habe?

                Danach würde ich mit der Doku anfangen. `
                Habe einen Pull Request gemacht.

                • node_modules waren noch drin,

                • Image Pfad war noch falsch.

                • datastore Pfad geändert, weil sonst wird datastore beim jedem Update gelöscht.

                Ansonsten der Adapter macht guten, fertigen, funktionierenden Eindruck und ist bei mir auf Anhieb angelaufen.

                Super Job.

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

                  @StefSign:

                  • Wie komme ich an Npm Git heran? Momentan lade ich die hmm sourcen mit "nmp install iobroker.hmm" herunter. `
                    Npm und Git sind zwei unterschiedliche Ressourcen. Für die beide brauchst du Logins. Ist alles frei.

                  Ich arbeite mit git.

                  Installieren unter Linux.

                  sudo apt-get install git 
                  
                  

                  Ich empfehle erst einen Fork zu machen:
                  48_gitfork.png
                  48_fork.png

                  cd myWorkDir
                  git clone https://github.com/DeinLogin/ioBroker.hmm.git
                  
                  

                  Nachdem du die Änderungen gemacht hast:

                  git commit
                  
                  

                  und

                  git push
                  
                  

                  Danach du gehst auf WebSeite und erzeugst einen PullRequest:

                  48_pullrequest.png
                  Falls du keine Änderungen machen willst dann kannst du Schritt mit fork weg lassen und direkt:

                  cd myWorkDir
                  git clone https://github.com/husky-koglhof/ioBroker.hmm.git
                  
                  

                  Schreiben.

                  Alle git Befehle müssen in dem Verzeichnis myWorkDir/ioBroker.hmm aufgerufen werden (außer "clone")
                  @StefSign:

                  • Wie machst Du Debugging? Mit Webstorm? Wenn ja, ich habe ein Problem mit Breakpoints. Hat jetzt aber nichts direkt mit Deinem sourcen zu tun. `
                    Habe wo anders schon Frage gestellt. http://forum.iobroker.org/viewtopic.php?f=8&t=334#p2652
                  1 Reply Last reply Reply Quote 0
                  • V
                    versteckt last edited by

                    N'Abend!

                    Wollte eigentlich nur mitteilen, das ich auf die Wiki Doku nicht vergessen habe, bin nur diese

                    Woche ein "wenig" im beruflichen Stress.

                    Werde aber das Wochenende etwas zusammenstellen und dann mal im Wiki hochladen.

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

                      Morgen "Versteckt",

                      nachdem der HMM Adapter sehr gut gelungen und vor allem sehr wichtig ist…

                      • Wollen wir ihn nicht in die normale Auswahlliste der Adapter aufnehmen? Müßte dies Bluefox machen?

                      • Wäre ein eigener Tab wie bei Node-Red auch für HMM denkbar?

                      BTW, ich will jetzt mit einem Adapter für den Spark Core anfangen, nachdem ich so "lazy" bei HMM war.

                      🙂

                      Danke

                      Steve

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

                        Morgähn,

                        Ich vermute mal das Bluefox das macht.

                        Eigener Tab wie Node-red; ja die Idee hatte ich auch schon.

                        Soweit ich gesehen habe ist der fix codiert.

                        Da habe ich bereits überlegt, dies dynamisch zu steuern.

                        Gesendet von meinem iPhone mit Tapatalk

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

                          @versteckt:

                          Morgähn,

                          Ich vermute mal das Bluefox das macht.

                          Eigener Tab wie Node-red; ja die Idee hatte ich auch schon.

                          Soweit ich gesehen habe ist der fix codiert.

                          Da habe ich bereits überlegt, dies dynamisch zu steuern.

                          Gesendet von meinem iPhone mit Tapatalk `
                          In Repository nehme ich schon rein. In Admin noch nicht. Ich will das man einzelne Tabs ein und ausblenden kann.Erst danach.

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

                            Alles klar, die Überlegung war, es dem jeweiligen Adapter in der Konfiguration einstellen zu lassen.

                            Somit hat jeder Adapter / User selbst die Möglichkeit es zu verwalten.

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

                              Da hat sich ja einiges getan!

                              Jetzt öffnet der link bei instances auch den konfigurierten port.

                              Außerdem gibt es mehr zu konfigurieren. Dort stehen überall portnummern, auch bei "Daten Speicherpfad" und "Sprache". Ist das so gewollt?

                              Auch die folgende Tabelle erschließt sich mir nicht ganz.

                              Bei "Name" steht rpc.0, bei type nichts (gibt auch kein pulldown - was kommt da rein?) und isccu steht auf false, obwohl die IP der CCU angegeben ist.

                              Kann der Adapter aber ja nicht wissen.

                              Ist auch alles kein Gemecker, ich bereite nur schon mal die Anleitung für das wiki vor.

                              Gruß

                              Rainer

                              Gesendet von meinem Cynus T7 mit Tapatalk

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

                                Hallo, so jetzt sollten die beiden Variablen Datastore Path und Language wieder korrekt sein.

                                isCCU wird über den hm-rpc Adapter geschalten. Ist der Daemon dort "Homegear" dann wird auch automatisch isCCU auf true gesetzt.

                                Welche Auswirkungen diese Variablen wirklich haben, müsste man bei Hobbyquaker sonst nachfragen.

                                Hier ist ja der offizielle Teil des Homematic Manager zuhause (https://github.com/hobbyquaker/homematic-manager).

                                Der Name ist immer der Daemon Name, der Typ ist im Moment hardcodiert:

                                 `var ccu = native.daemon;
                                                var type = "BidCos-RF";
                                                if (ccu == "Homegear") {
                                                    ccu = "true";
                                                } else {
                                                    ccu = "false";
                                                    type = "";
                                                }
                                                var name = arr[i]._id;
                                                if (name.indexOf("system.adapter.") == 0) {
                                                    name = name.substring(15, name.length);
                                                }
                                                addToTable("devices", {name: name, ip: native.homematicAddress, type: type, port: native.homematicPort, isCcu: ccu, init: 'true'}, $grid, true);` 
                                
                                Ganz rechts von jeder Zeile hast du einen Edit-Button, da kannst du sonst noch selbst anpassen.
                                
                                Und es werden automatisch beim 1\. Laden des Adapters alle bestehenden hm-rpc Adapter hinzugefügt.[/i]
                                
                                1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators last edited by

                                  Ja, Sprache und Speicherort sind jetzt korrekt.

                                  Was isccu bedeutet habe ich mir jetzt in HQ s github link angesehen:
                                  > Falls es sich um eine CCU handelt kann der ParameterisCcu auf true gesetzt werden, dann werden die Namen von Geräten und Kanälen aus der CCU-Logikschicht "ReGaHSS" ausgelesen und das binäre RPC Protokoll anstatt XLM-RPC genutzt.
                                  Demnach muss/kann ich das auf true setzen.

                                  Nach dem update war die Instanz deaktiviert[emoji15]

                                  Gruß

                                  Rainer

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

                                    Was meinst du mit deaktiviert?

                                    Btw bin bereits als Alpha Adapter im ioBroker drinnen.

                                    Jetzt geht das Update über die Oberfläche!

                                    DANKE!!! an Bluefox

                                    Gesendet von meinem iPhone mit Tapatalk
                                    261_bildschirmfoto_2016-11-29_um_22.53.48.png
                                    261_bildschirmfoto_2016-11-29_um_23.17.55.jpg

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

                                      Doch schon laaaange.

                                      Die letzten zwei updates liefen über die webUI!

                                      Nach dem update hatte ich den link angeklickt: nicht erreichbar!!?

                                      Port stimmte, Instanz neu gestartet, Konfiguration überprüft, alles ohne Erfolg.

                                      Auf einmal sehe ich etwas rotes bei der hmm-Instanz: unter "aktiviert" stand nein.

                                      Wieder auf ja gestellt, läuft toll.

                                      Wenn ich HQ richtig verstehe müsste deine Abfrage genau anders rum sein: wenn homegear isccu == false.

                                      Wobei ich nicht weiß ob das auch mit cuxd klappt, wahrscheinlich aber ja.

                                      Gruß

                                      Rainer

                                      Gesendet von meinem Cynus T7 mit Tapatalk

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

                                        Das mit Updates hab ich nicht mitbekommen, meine Instanz war deaktiviert.

                                        Bez. isCCU könntest du Recht haben.

                                        Habe bei mir nurmehr Homegear im Einsatz.

                                        Aber mir ist gerade aufgefallen, das ich ein Todo erledigt habe. Bei mir ist die config.json über die GUI konfigurierbar.

                                        Gesendet von meinem iPhone mit Tapatalk

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

                                          Das mit der Konfiguration habe ich ja schon hier gesagt: http://forum.iobroker.org/viewtopic.php?p=3296#p3296

                                          Das ist toll! Und der dort eingestellte port wird auch beim link übernommen. Vorher war im link immer der default port.

                                          Bei homegear misst du nach meinem Verständnis isccu auf false stellen.

                                          Gruß

                                          Rainer, der auch irgendein device auf homegear umbauen muss[emoji2]

                                          Gesendet von meinem Cynus T7 mit Tapatalk

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

                                            Sorry, bin im Moment auf vielen Baustellen gleichzeitig. Da kann schon mal was missverstanden werden.

                                            Die Umstellung auf Homegear war bei mir relativ einfach.

                                            Habe aber im Moment meine Logik noch auf OpenHAB.

                                            Gesendet von meinem iPhone mit Tapatalk

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            833
                                            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