HomeMatic-Skript: Fronius Status-Code zu Klartext

Geschrieben am 25.10.2018, zuletzt geändert am 20.11.2019
In Home » Technik & Elektronik

Diese Seite wurde vor über einem Jahr erstellt oder zuletzt bearbeitet. Der Inhalt ist eventuell veraltet.

HomeMatic-Skript zum konvertieren eines Fronius Status-Codes in Klartext

Systemvariablen

Skript

Das Skript liest den Status-Code des Wechselrichters aus der Variable PVA_Status und schreibt den zum Wert gehörenden String in die Variable PVA_Zustand. Der Name der Systemvariablen muss entsprechend angepasst werden. Die HM Sprach-Referenz für Skripte ist hier zu finden.

Dies ist ein Rohgerüst ohne Fehlerbehandlung. "Works for me", macht was draus.
! Fronius Wechselrichter - Status Code zu Status String
! Stefan Onderka, www.onderka.com
! --------------------------------------------------------------
! 0   bis 5: Sleep
! 6:  Start
! 7:  Produktion
! 8:  Standby
! 9:  Bootloader
! 10: Fehler

string variable_code = "PVA_Status";
string variable_text = "PVA_Zustand";

! Variable PVA_Status auslesen
! --------------------------------------------------------------
var pva_code = dom.GetObject(variable_code).Value();
WriteLine("Code: "#pva_code);

! Variable PVA_Zustand setzen
! --------------------------------------------------------------
if ( pva_code == 0 ) {
   dom.GetObject(variable_text).State("Sleep");
}
if ( pva_code == 1 ) {
   dom.GetObject(variable_text).State("Sleep");
}
if ( pva_code == 2 ) {
   dom.GetObject(variable_text).State("Sleep");
}
if ( pva_code == 3 ) {
   dom.GetObject(variable_text).State("Sleep");
}
if ( pva_code == 4 ) {
   dom.GetObject(variable_text).State("Sleep");
}
if ( pva_code == 5 ) {
   dom.GetObject(variable_text).State("Sleep");
}
if ( pva_code == 6 ) {
   dom.GetObject(variable_text).State("Start");
}
if ( pva_code == 7 ) {
   dom.GetObject(variable_text).State("Produktion");
}
if ( pva_code == 8 ) {
   dom.GetObject(variable_text).State("Standby");
}
if ( pva_code == 9 ) {
   dom.GetObject(variable_text).State("Bootloader");
}
if ( pva_code == 10 ) {
   dom.GetObject(variable_text).State("Fehler");
}

Status-Codes des Wechselrichters

Die erweiterten Status-Codes des Wechselrichters aus der Dokumentation der Fronius JSON-API, Abschitt 3.6.5 Meaning of numerical status codes:

Screenshot

Andere Seiten unter 'Technik & Elektronik'