Entwicklungsumgebung für Add-ons

Hey zusammen.

Ich würde gerne an einem Add-on auf github mitwirken, da noch ein paar Funktionen fehlen oder es Fehlermeldungen in meinem Log verursachen.

Das Add-on selbst funktioniert schon sehr gut, aber der Entwickler ist nicht besonders aktiv und es ist gibt auch sonst nur wenige die dieses Add-on nutzen.

Tatsächlich habe ich ein wenig Erfahrung mit Softwareentwicklung und für ioBroker habe ich auch ein wenig am "selben" Adapter Entwickelt. Da habe ich mit JS gearbeitet und auch relativ schnell einen Weg gefunden eine anständige Entwicklungsumgebung aufzusetzen und local damit zu arbeiten.

Kann mir jemand ein wenig Beschreiben wie ich mir eine Entwicklungsumgebung aufsetzen kann um dann lokal entwickeln und debugen zu können?

Vielen Dank im Voraus.
Gruß
Tower

Hi @tower,

ich glaube, der beste Startpunkt wäre die Home Assistant Doku für die Add-on Entwicklung: https://developers.home-assistant.io/docs/add-ons/

Tatsächlich hatte ich die developer Seite schon gesehen. Leider geht es hierbei darum ein Add-on auf Basis eines Docker Containers zu erstellen.

Aber das Add-on, an dem ich arbeiten möchte, läuft anscheinend nicht in einem Container.

In der Beschreibung steht: "Download and place the integration files in the "custom_components" folder". Dann noch die configuration.yml anpassen und es läuft.

Bei den Dateien handelt es sich um *.py Dateien.

Wie kann man denn hierbei mitentwickeln/debugen?

Ok.

Nach weiterem Suchen bin ich jetzt auf folgende Seite gestoßen:
https://developers.home-assistant.io/docs/development_environment

Denke hier werde ich alle Antworten finden.
Sollte dennoch jemand Lust haben ein wenig Erfahrung zu dem Thema zu teilen immer her damit ;-)

Bist Du mit der Entwicklung weiter gekommen? Ich versuche mich gerade auch ins Thema einzuarbeiten. Soweit ich verstanden habe, ist es prinzipiell möglich eine Erweiterung als Hass.io add-ons oder als HACS addon zu starten.

Eigentlich suche ich ein Devcontainer Template mit dem man loslegen kann. Kannst Du hier etwas empfehlen?