NEWS
Fronius Adapter um HTTPS und URL erweitern
-
Hallo zusammen,
ich habe das Problem das eine meiner PV Anlagen mit Fronius WR nicht im eigenen / lokalen Netz ist. Um trotzdem die daten über den Fronius Adapter abholen zu können muss ich jedenfalls eine URL verwenden anstelle einer IP Adresse, denn sonst kann ich auf der anderen Seite kein reverse Proxy verwenden um das Ziel zu erreichen. Weiters ist es für mich kritisch wenn ich hier einen exposed Host auf dem Port 80 habe. Somit ist das Ziel dass ich über HTTPS verbinden kann, auch wenn der Wechselrichter selbst die API leider nur auf HTTP zur verfügung stellt. Das regelt dann der reverse Proxy
Nun was ist zu tun:
- Anpassen der Web Oberfläche damit mehr als 15 Zeichen eingegeben werden können. In IOBroker/iobroker-data/files/fronius.admin/index.htm folgendes anpassen
```` Folgender code ersetzen mit ````
-
Anpassen des Javascript Modules damit sowohl http (notwendig wenn im selben Netzwerk mit dem WR) als auch https geht. In IOBroker/node_modules/iobroker.fronius/main.js wie folgt modifizieren
variable requestType deklarieren.
var requestType;
Alle vorkommen von 'http://' mit requestType ersetzen. somit sieht z.b. der Request bei checkIP wie folgt aus
request.get(requestType + ipToCheck + '/solar_api/GetAPIVersion.cgi', function (error, response, body)
Zuletzt noch die Variable von der adapter config lesen. Dies erfolgt in der function main()
requestType = adapter.config.requestType;
-
Einfügen einer Konfig option damit auf Instanz Ebene definiert werden kann ob http oder https verwendet werden soll. Dies wird im Objekt system.adapter.fronius.InstanceNumber wie folgt gemacht
-
Auf NATIV tab wechseln
-
Attribut hinzufügen -> name = requestType
-
Als Attribut Wert https:// oder http:// eingeben
-
Es wäre super wenn eine Möglichkeit wäre, das in die Zukünftigen releases einzubauen… Wer kann mir da helfen. Ich möchte einerseits dass alle Profitieren können, und andererseits auch nicht bei jedem Update wieder Hand anlegen müssen
-
Am besten mach dazu doch einfach einen Pull-Request auf Github.
Dazu musst Du ggf noch nicht mal mit git was machen sondern kannst einfach im Github die Files auswählen und editieren (STift symbol oben rechts). Dann committen und dann als Pull-Request einrechen. Dann kann es der Adapter-Entwickler übernehmen.
Mindestens aber solltest Du beim Adapter ein Issue im Github anlegen um auf diesen Thread zu verweisen - sonst muss du hoffen das der Entwickler den findet. Nicht alle Entwickler sind so viel im Forum
-
Ok, danke.
im Code ist mir nur nicht klar wie ich die default Werte für z.b. apiversion oder den neuen Wert requestType angeben kann. bzw. auch wie ich den requestType eintrag grundsätzlich erstellen kann. Es sollte ja so sein dass http:// nach wie vor default ist ohne dass der User was tun muss
-
Das ist in "Io-package.json" um Bereich "native". Da ist jede Konfigurationsvariable definiert mit Ihrem Default-Wert