Hallo zusammen,
ich hoffe, dass ich keine Frage stelle, die schon beantwortet wurde. Ich habe zumindest im Forum adhoc nichts gefunden. Ich habe ein paar Ideen für neue Addons. Gibt es irgendwo Informationen, um anzufangen? Auf Github habe ich ein paar rudimentäre Informationen gefunden. Hier ein paar konkrete Fragen, die mich interessieren:
- Wie komme ich an die Daten der CCU ran? Muss ich immer über die XMLRPC-API gehen, oder gibt es andere Wege, wenn ich auf der CCU laufen?
- Gibt es irgendwelche Vorgaben, wenn ich eine eigene Oberfläche deployen möchte? Kann ich einfach eine Prozess starten und den irgendwie im Webserver konfigurieren?
- Ich habe gesehen, dass es ein paar Ansätze gibt, um die Oberfläche aufzuhübschen. Kann man irgendwo einfach das CSS auf der Server austauschen? Den Ansatz fände ich besser, als das über ein Browserplugin zu machen.
- Gibt es eine virtuelle Testumgebung, die man für die Entwicklung nutzen kann? Am besten als Docker-Container.
- Wie kann man Softwarepakete installieren? Kann man einfach den Paktemanager verwenden, um sqlite oder Ähnliches zu installieren.
Danke schon einmal für die Antworten.
Getting Started mit Addon-Entwicklung
Moderator: Co-Administratoren
-
- Beiträge: 3
- Registriert: 11.10.2022, 20:12
- System: Access Point
-
- Beiträge: 1805
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 60 Mal
- Danksagung erhalten: 266 Mal
- Kontaktdaten:
Re: Getting Started mit Addon-Entwicklung
Schau Dir am besten mal bereits bestehende Add-Ons an. Einfach in die tar.gz-Dateien hineinschauen. Die Installationsskripte meiner Add-Ons CCU-Historian und CCU-Jack sind einigermaßen generisch.
Du kannst auch HM-Skripte über die Remote-API der ReGaHss ausführen. Nur so können Systemvariablen gelesen und gesetzt werden. Aber auch Gerätedatenpunkt können angesprochen werden.nikolaialex hat geschrieben: ↑11.10.2022, 20:35- Wie komme ich an die Daten der CCU ran? Muss ich immer über die XMLRPC-API gehen, oder gibt es andere Wege, wenn ich auf der CCU laufen?
Dein Add-On kann einen eigenen Web-Server mitbrinden (z.B. wie CCU-Jack, CCU-Historian). Oder es können auch eigene Web-Seiten auf der CCU abgelegt werden, die von dem Web-Server der CCU ausgeliefert werden. Sie können auch dynamisch mit Tcl generiert werden.nikolaialex hat geschrieben: ↑11.10.2022, 20:35- Gibt es irgendwelche Vorgaben, wenn ich eine eigene Oberfläche deployen möchte? Kann ich einfach eine Prozess starten und den irgendwie im Webserver konfigurieren?
RaspberryMatic gibt es auch als Docker-Image. Meine Add-Ons habe ich so angelegt, dass sie auch auf anderen Plattformen gestartet werden können (z.B. Windows). Dann kann ich beliebige Entwicklungswerkzeuge verwenden.nikolaialex hat geschrieben: ↑11.10.2022, 20:35- Gibt es eine virtuelle Testumgebung, die man für die Entwicklung nutzen kann? Am besten als Docker-Container.
Ein Paketmanager gibt es nicht auf der CCU oder RaspberryMatic. (Das wäre auch zu schön, um wahr zu sein.)nikolaialex hat geschrieben: ↑11.10.2022, 20:35- Wie kann man Softwarepakete installieren? Kann man einfach den Paktemanager verwenden, um sqlite oder Ähnliches zu installieren.
Gruß
Mathias
-
- Beiträge: 3
- Registriert: 11.10.2022, 20:12
- System: Access Point
Re: Getting Started mit Addon-Entwicklung
Hallo Mathias,
danke für die schnellen Antworten. Das hilft mir schon mal. Ein paar Folgefragen habe ich aber noch:
- CCU-Jack hatte ich mir bereits angeschaut. Das hat mir schon mal sehr geholfen. Kannst du mir ein paar Dateien nennen, die die Kommunikation mit der CCU zeigen.
- Gibt es zu HM-Skripte und ReGaHs Dokumentation? Die Begriffe sagen mir leider noch nichts.
- Wenn es keine Paketmanager gibt, wie bekomme ich dann Software auf die CCU? Muss ich die Binarys dann bei mir bauen und mit dem eigenen Skript installieren?
Gruß
Niko
danke für die schnellen Antworten. Das hilft mir schon mal. Ein paar Folgefragen habe ich aber noch:
- CCU-Jack hatte ich mir bereits angeschaut. Das hat mir schon mal sehr geholfen. Kannst du mir ein paar Dateien nennen, die die Kommunikation mit der CCU zeigen.
- Gibt es zu HM-Skripte und ReGaHs Dokumentation? Die Begriffe sagen mir leider noch nichts.
- Wenn es keine Paketmanager gibt, wie bekomme ich dann Software auf die CCU? Muss ich die Binarys dann bei mir bauen und mit dem eigenen Skript installieren?
Gruß
Niko
-
- Beiträge: 1805
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 60 Mal
- Danksagung erhalten: 266 Mal
- Kontaktdaten:
Re: Getting Started mit Addon-Entwicklung
Lesen und Setzen von Datenpunkten über die Remote Homematic-Script API: https://github.com/mdzio/go-hmccu/blob/ ... /script.gonikolaialex hat geschrieben: ↑12.10.2022, 20:13- CCU-Jack hatte ich mir bereits angeschaut. Das hat mir schon mal sehr geholfen. Kannst du mir ein paar Dateien nennen, die die Kommunikation mit der CCU zeigen.
Über die XML-RPC-API ist es schon etwas komplizierter. Der Vorteil ist aber, dass Datenpunktänderungen aktiv von den Schnittstellenprozessen an Deine Applikation gesendet werden: https://github.com/mdzio/go-hmccu/tree/master/itf
Für die komplette Anbindung Deiner Applikation an die CCU mit HM-, HM-Wired-, HM-IP- und CUxD-Geräten werden insgesamt 9 Netzwerkverbindung, teilweise als Rückkanal und mit unterschiedlichen Protokollen, benötigt. Das solle man sich freiwillig nicht antun. Dafür wurde nämlich der CCU-Jack erdacht.
Für HomeMatic-Skripte gibt es die offizielle Dokumentation. Skripte können auch über die Remote Homematic-Script API (auf Port 8181) aus der Ferne oder von einem anderen Prozess aus ausgeführt werden.nikolaialex hat geschrieben: ↑12.10.2022, 20:13- Gibt es zu HM-Skripte und ReGaHs Dokumentation? Die Begriffe sagen mir leider noch nichts.
Ja. Je nach Programmiersprache geht das relativ einfach (z.B. Java, Go).nikolaialex hat geschrieben: ↑12.10.2022, 20:13- Wenn es keine Paketmanager gibt, wie bekomme ich dann Software auf die CCU? Muss ich die Binarys dann bei mir bauen und mit dem eigenen Skript installieren?
Gruß
Mathias
- jmaus
- Beiträge: 9919
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 467 Mal
- Danksagung erhalten: 1915 Mal
- Kontaktdaten:
Re: Getting Started mit Addon-Entwicklung
Schau dir auch mal folgendes Web-Ressourcen zum Thema Addon Entwicklung an:
https://github.com/homematic-community
https://github.com/homematic-community/ccu-addon-howto
https://github.com/homematic-community/ ... n-skeleton
Das ganze bzgl. HOWTO und Skeleton Projekt ist leider nie ganz fertig geworden. Aber wer weiss, vielleicht erbarmt sich ja mal einer und baut das zuende, dann gäbe es beides direkt bei GitHub und man hätte dann sogar ein Template Projekt mit dem man direkt loslegen könnte.
https://github.com/homematic-community
https://github.com/homematic-community/ccu-addon-howto
https://github.com/homematic-community/ ... n-skeleton
Das ganze bzgl. HOWTO und Skeleton Projekt ist leider nie ganz fertig geworden. Aber wer weiss, vielleicht erbarmt sich ja mal einer und baut das zuende, dann gäbe es beides direkt bei GitHub und man hätte dann sogar ein Template Projekt mit dem man direkt loslegen könnte.
RaspberryMatic 3.75.7.20240601 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
-
- Beiträge: 3
- Registriert: 11.10.2022, 20:12
- System: Access Point
Re: Getting Started mit Addon-Entwicklung
Danke für all die Informationen. Ich denke, dass ich auch Go nutzen werde. Ist wahrscheinlich die beste Option bzgl. Performance, Installation und Ressourcenverbrauch.
Die Github-Seiten hatte ich schon gefunden. Sie haben aber noch nicht alle Fragen beantwortet. Wenn ich neue Erkenntnisse habe, werde ich die Dokumentation erweitern.
Die Github-Seiten hatte ich schon gefunden. Sie haben aber noch nicht alle Fragen beantwortet. Wenn ich neue Erkenntnisse habe, werde ich die Dokumentation erweitern.