SteMaker / ioBroker.hdg-bavaria

iobroker adapter for hdg-bavaria boilers
MIT License
8 stars 5 forks source link

Changes for working with HDG-ControlXL #12

Open Ganner86 opened 10 months ago

Ganner86 commented 10 months ago

Ich habe eine neue Klasse angelegt für einen Brauchwasserspeicher sowie die Datenpunkte um die Nodes des Brauchwasserspeichers erweitert. Weiterhin in der Main.JS die Funktion readConfiguration() um den Brauchwasserspeicher erweitert.

In der Klasse HdgComm ->Contructor habe ich mir einen workaround gebaut um den Anfragestring (Nodes Eigenschaft) der HDG Control in ein JSON Object zu zu übersetzen. Den Constructor habe ich um ein Agrument erweitert (ControlXL) wenn dieser ein true liefert wird der String in ein JSON Object gewandelt, ansonsten bleibt er im Ursprungszustand als reiner String. Damit dies funktioniert hat die Klasse HdgBavaria eine Eigenschaft bekommen (ControlXL) welche aktuell dauerhaft auf true gesetzt wird. Ca Ab Zeile 80 in der Main.JS wird die Funktion createLogStates() aufgerufen. Anschließend das erste "-" via Substring(1) entfernt und der Eigenschaft Nodes zugewiesen. Dieses erste "-" habe ich gebraucht damit mein Code zum wandeln des String in ein JSON Objekt funktioniert und deswegen des Substring in ein IF ControlXL gelegt. Ich hätte gerne ein DropDown oder Checkbox in der Konfig eingebaut um beim Konfigurieren einer Instanz des Adapters gleich die Steuerungsart auswählen zu können, bin aber hier komplett an meine Grenzen gestoßen und habe es nicht geschafft.

Ich habe versucht so wenig wie möglich in den ursprünglichen Code einzugreifen. Leider habe ich keinerlei Ahnung von Softwareentwicklung sowie Git usw und verstehe nur wenig "Hochsprache", ich hoffe ich konnte es dennoch halbwegs verständlich und brauchbar rüber bringen.

SteMaker commented 7 months ago

Die Änderungen wurden im build folder gemacht. Dort sollten nur generierte Dateien liegen. Die Änderungen müssten an den eigentlichen Dateien unter src/ gemacht werden.

Ich bin inzwichen auf Home Assistant umgestiegen, deswegen brauche ich den Adapter selber nicht mehr. Es gibt ein weiteres Projekt unter https://github.com/srt/hdg-exporter, das wohl unabhängig von der Automatisierungslösung ist.