Ich bin seit kurzem Besitzer einer CCU2 und möchte eigene Skripte schreiben, um meine Heizungsthermostate zu steuern. Ich habe mich schon ein wenige eingelesen und versuche aktuell eine eigene Funktion mit Parametern zu erstellen. Dazu habe ich unter /usr/local eine Datei angelegt:
Code: Alles auswählen
function ::setCurrentTemperature()
{
if( system.IsVar("roomName") )
{
object t = dom.GetObject( system.GetVar("roomName") + "_H" );
var address = t.Address();
WriteLine("F1");
}
WriteLine("F2");
}
Code: Alles auswählen
system.CacheMode(0);
string roomName = "Kitchen";
WriteLine("C1");
Call ("../../usr/local/scripts/heating.fn::setCurrentTemperature()");
WriteLine("C2");
Wenn ich das Script oben über das Fenster "Skript testen" ausführe, bekomme ich folgende Ausgaben: C1, F1, F2. Das letzte WriteLine (C2) taucht in der Ausgabe leider nicht auf. Die Funktion wird also ausgeführt, das aufrufende Script wird aber nicht zu Ende ausgeführt.
Daneben kann ich das Script nicht speichern. Ich kann es eingeben und auch die Fehlerprüfung gibt keine Probleme aus. Sobald ich das (WebUI-)Script aber über den OK-Button speichern will, hängt sich irgendein Prozess der CCU2 auf. Nach einem Reboot per SSH sind die Änderungen im Homematic-Script innerhalb des WebUI-Scriptes dann verschwunden, es wurde also nicht mal gespeichert.
Irgendwie bin ich gerade ratlos, woran es liegen könnte. Hat irgendjemand eine Idee?