Universelle Heizungssteuerung

Läuft wunderbar.

Hallo,
bin nun auch endlich dazugekommen das Skript einzurichten.
Wenn ich nach der Einrichtung die createHeizplanForOneWeek.ips.php ausführe, erhalte ich folgende Fehlermeldung:

Fatal error: Class ‚de\IPSymcon\ernie\HomeMaticKomponenten‘ not found in [Program\ErniesHeizungssteuerung\createHeizplan.class.ips.php] on line 13
Abort Processing during Fatal-Error: Class ‚de\IPSymcon\ernie\HomeMaticKomponenten‘ not found
Error in Script C:\IP-Symcon\scripts\Ernie\Heizungssteuerung\createHeizplan.class.ips.php on Line 13

Woran könnte es scheitern?

Danke für deine Antwort.
Das sollte jedoch passen:

Zum Thema Anwesenheit/Abwesenheit lasse ich ein Script die Anwesenheitstemperatur aus Ernies Script von 21° C auf 16° C oder von 16° C auf 21° C umstellen. Somit kann ich zum einen den Zeitplan weiter verwenden und zum anderen die Heizkörper schließen lassen, wenn ich während einer Heizspanne die Wohnung verlasse.

Oder war es das hier ?

Naja, er sagt ja ganz klar, dass er die Klasse zum includieren nicht findet …

steht in der createHeizplanForOneWeek.ips.php ziemlich weit oben

include("includes.ips.php");

?

Welche Klassen – ähnlich wie

class SendeHeizenBooleanJaNein ...

stehen in der Datei „Interfaces.heizungskomponenten.php“?

Ein Traum! Das war der Fehler!
Vielen Dank!

Hallo,
leider läuft es immer noch nicht:

Hierbei handelt es sich um folgende Zeilen der INTERFACES_Heizungskomponenten.ips.php:

Ist folgendes in der Konfig richtig?

$this->heizungssteuerung['heizungsInterface'] = "sendeHeizenFloatTemperatur";
$this->heizungssteuerung['heizungsKomponenten'] = "HomeMatic";

Brovning, hast Du ein neues HM Thermostat, also diese All-in-One Dinger? Falls ja, dann musst Du ein paar Zeilen Code einfügen, siehe paar Beiträge weiter oben von Kronos. Die Variable heißt bei den alten Thermostaten SETPOINT, bei den neuen jedoch SET_TEMPERATURE.

Gruß, Christoph

Gesendet von meinem iPad mit Tapatalk HD

Hallo Christoph,
nein, ich habe das Funk-Wandthermostat HM-CC-TC mit separaten Stellmotoren.
Das finde ich wesentlich professioneller, als die All-In-One Teile, bei welchen man nur die Heizungsabwärme misst.

Laut Fehlermeldung stimmt etwas mit der Konstante „heizungsKomponenten“ nicht.
Wo wird diese definiert bzw. wo könnte ich mit der Fehlersuche ansetzen?
Kann es noch an der Config scheitern oder liegt es eher am Programm selbst?

Das war auch meine erste Reaktion aber ich hab nun einen HM-CC-RT-DN im Gäste WC eingesetzt und dort macht er wirklich mehr Sinn als der Wandthermostat mit Stellglied.
Das Regelverhalten ist gar nicht schlecht. Die eingestellte Raumtemperatur wird sauber getroffen. Was will ich mehr.

Sorry, dass es so lange gedauert hat, aber meine Zeit ist im Moment einfach zu schnell aufgebraucht :frowning:

Also in meiner INTERFACE-Definition steht da

		
if ($this->heizungsKomponenten == "HomeMatic") {$result = HM_WriteValueFloat($setPointID, "SETPOINT", $wunschTemperatur);}
if ($this->heizungsKomponenten == "FS20") {$result = FHT_SetTemperature($setPointID, $wunschTemperatur);}

Bei Dir stehen da keine $this und kein einziges $, dass eine Variable definieren würde. Hast Du in der Datei rumgeschrieben? Wo hast Du Sie runtergeladen?

Hallo Ernie,
habe das wie von dir gepostet geändert und nun scheint es zu funktionieren!
Vielen Dank!

Habe das Skript aus deinem Beitrag:

Habe eben nochmals nachgesehen. Der Fehler ist in „erniesHeizungssteuerung_revision_3.5beta1_version0.19.zip“ enthalten:

	public function setSollTemperatur ($raumName,$wunschTemperatur,$grund) {
	   $setPointID = $this->configObject->getWriteRaumSollTemperaturObjectID($raumName);
	   $result = "-1";
		if (heizungsKomponenten == "HomeMatic") {$result = HM_WriteValueFloat($setPointID, "SETPOINT", $wunschTemperatur);}
		if (heizungsKomponenten == "FS20") {$result = FHT_SetTemperature($setPointID, $wunschTemperatur);}
		if ($result) {
		   IPS_LogMessage("SendeHeizenFloatTemperatur.class","Temperatur für Heizkörper ". $raumName ." auf " . $wunschTemperatur . "° gesetzt; Grund: ". $grund);
		   }
		else {
		   IPS_LogMessage("SendeHeizenFloatTemperatur.class","MISSLUNGENER Versuch, Temperatur für Heizkörper ". $raumName ." auf " . $wunschTemperatur . "° zu setzen");
		}
		return $result;
	}

Diesen Teil könnte man übrigens auch wie folgt lösen, damit man eine kleine Fehlerbehandlung hat:

		if ($this->heizungsKomponenten == "HomeMatic") {$result = HM_WriteValueFloat($setPointID, "SETPOINT", $wunschTemperatur);}
		else if ($this->heizungsKomponenten == "FS20") {$result = FHT_SetTemperature($setPointID, $wunschTemperatur);}
		else
		{
		   IPS_LogMessage("SendeHeizenFloatTemperatur.class","Fehler: ".$this->heizungsKomponenten." ist nicht bekannt!");
		}

Das nachfolgende Installations-Skript hatte bei mir übrigens kein bisschen funktioniert. Daher habe ich mit ersten Anpassungen begonnen und nach vergeudeter Zeit dein Skript letztendlich trotzdem manuell eingerichtet, da es zuviel Arbeit gewesen wäre:

Hallo Zusammen,
um anderen dieses Trauerspiel zu ersparen, habe ich mein Projekt mit dem ProjectExporter von Raketenschnecke exportiert.
Dies wäre eigentlich für niemanden mit einem funktionsfähigem ErnieHeizungsskript ein Problem gewesen. Aber das ist mir hier des öfteren in dieser „Community“ schon aufgefallen. Viele nehmen nur und keiner möchte etwas geben…
Ohne die wenigen hier die so sind wie Ernie könnte man dieses Forum dicht machen. Nochmals vielen Dank an dieser Stelle an Ernie für seine Zeit und Mühe, die er in dieses Skript investiert hat und vor allem, dass er es der Öffentlichkeit zugänglich gemacht hat!

Einfach ein neues Skript in IPS erstellen und den Quelltext aus dem Anhang einfügen.
Im Quelltext noch die korrekte WFE-ID unter „$WFC_TargetID“ eintragen, damit das Ernie-Skript im Webfrontend sichtbar wird.
Jetzt kann das Installationsskript ausgeführt werden und das Heizungsskript wird mit meiner Konfiguration installiert.
Anschließend die Heizungskonfiguration nach den eigenen Bedürfnissen anpassen und schließlich die beiden Timer aktivieren.
Fertig!

Ich hoffe das Skript klappt und hilft dem Ein oder Anderen…
Sollten Fehler nach der Installation auftreten, dann diese melden. Ich werde versuchen diese zu beheben.

ErniesHeizungssteuerung_v3.6_BrovningProjectExport.ips.zip (32.8 KB)

Die Kritik ist etwas kurz gesprungen. Erstens überschätzt Du die Verbreitung dieser Skripte und zweitens ist das die Aufgabe des Autors. Jeder hat das eine oder andere Skript im Einsatz und die ein oder andere Anpassung/Veränderung eingebaut. Soll denn nun jeder seine Version exportieren? Zumal sich nicht jeder mit dem RS Exporter beschäftigen will/kann.

Hallo zusammen,

die Heizsaison geht wieder los :slight_smile:

Ich habe bisher mit

$this->heizungssteuerung['heizungsKomponenten'] = "HomeMaticKomponenten";

gearbeitet, möchte nun aus diversen Gründen aber auf

$this->heizungssteuerung['heizungsKomponenten'] = "HomeMaticKomponentenHeizenJaNein";

umsteigen.

Gemäß Eintrag im Wiki verstehe ich es so, dass die Stellantriebe entweder auf 0% oder auf 100% gehen, da an die Thermostate entweder 6° oder 30° gesendet wird. Nun lese ich aber einen Satz, den ich nicht verstehe:

Dieses Interface liest die SOLL-Temperaturen aus IPS-Variablen und schreibt die SOLL-Temperaturen an die SETPOINT-Variable der Thermostate.

:confused: Ich dachte, in die SETPOINT-Variable wird entweder 6° oder 30° geschrieben?

Weiter geht es hier, wo ich nicht verstehe, weshalb ich Soll-Temperaturen für die Räume anlegen soll, wenn es doch schon die Soll-Temperaturen für Anwesend und Abwesend gibt.

Edit:

Wenn ich #81 dieses Threads lese, dann wird mir klar, wofür ich die Variablen anlegen soll.

Kann mir hier mal jemand auf die Sprünge helfen?

Danke und Gruß,
Christoph

Hallo Christoph,

hast Du noch Fragen, ist noch etwas unklar?

Gruß,

ernie

Hallo Ernie,

ich habe gestern die Kommentare im Script noch mal gelesen und danach war alles klar. Läuft hier nun einwandfrei.

Danke und Gruß,
Christoph

hallo leute , ich hoffe es kann mir wer helfen,

ich habe von ernie die universelle heizungssteuerung heruntergelanden und versuche diese gerade zu installieren bzw zu aktivieren
ich denke ich hab alles richtig eingegeben und jetzt bekomme ich den fehlen
„Notice: Undefined index: WebFrontVariableProfileName in C:\IP-Symcon\scripts\heizungssteuerung\config.class.ips.php on line 501“

danke für eure hilfe

achso noch was, ichversuche damit eine elektroheizung zu steuern … glaubt ihr das dies funktioniert?

lg
christian