Getting Started mit Addon-Entwicklung

diverse Zusatzsoftware

Moderator: Co-Administratoren

Antworten
nikolaialex
Beiträge: 3
Registriert: 11.10.2022, 20:12
System: Access Point

Getting Started mit Addon-Entwicklung

Beitrag von nikolaialex » 11.10.2022, 20:35

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.

Mathias
Beiträge: 1794
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 261 Mal
Kontaktdaten:

Re: Getting Started mit Addon-Entwicklung

Beitrag von Mathias » 11.10.2022, 22:25

nikolaialex hat geschrieben:
11.10.2022, 20:35
Gibt es irgendwo Informationen, um anzufangen?
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.
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?
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
- 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?
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 eine virtuelle Testumgebung, die man für die Entwicklung nutzen kann? Am besten als Docker-Container.
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
- Wie kann man Softwarepakete installieren? Kann man einfach den Paktemanager verwenden, um sqlite oder Ähnliches zu installieren.
Ein Paketmanager gibt es nicht auf der CCU oder RaspberryMatic. (Das wäre auch zu schön, um wahr zu sein.)

Gruß
Mathias

nikolaialex
Beiträge: 3
Registriert: 11.10.2022, 20:12
System: Access Point

Re: Getting Started mit Addon-Entwicklung

Beitrag von nikolaialex » 12.10.2022, 20:13

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

Mathias
Beiträge: 1794
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 261 Mal
Kontaktdaten:

Re: Getting Started mit Addon-Entwicklung

Beitrag von Mathias » 12.10.2022, 21:58

nikolaialex 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.
Lesen und Setzen von Datenpunkten über die Remote Homematic-Script API: https://github.com/mdzio/go-hmccu/blob/ ... /script.go
Ü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.
nikolaialex hat geschrieben:
12.10.2022, 20:13
- Gibt es zu HM-Skripte und ReGaHs Dokumentation? Die Begriffe sagen mir leider noch nichts.
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
- 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?
Ja. Je nach Programmiersprache geht das relativ einfach (z.B. Java, Go).

Gruß
Mathias

Benutzeravatar
jmaus
Beiträge: 9864
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 464 Mal
Danksagung erhalten: 1882 Mal
Kontaktdaten:

Re: Getting Started mit Addon-Entwicklung

Beitrag von jmaus » 12.10.2022, 22:30

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.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

nikolaialex
Beiträge: 3
Registriert: 11.10.2022, 20:12
System: Access Point

Re: Getting Started mit Addon-Entwicklung

Beitrag von nikolaialex » 13.10.2022, 20:15

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.

Antworten

Zurück zu „Sonstige Addons“