Hallo zusammen,
bin wieder mal an einen Punkt angekommen wo ich nicht weiter komme.
Wie kann man am einfachsten die Heizung mit IPS steuern.
Habe 4 FHT laufen die mit ihren internen Programm laufen.
Möchte auch über einen Taster oder anderen Kontakt die Heizung beim verlassen des Hauses agsenken.
Vielleicht findest du in diesem thread
einige Denkanstöße ?
hört sich alles nicht schlecht an. ist eigentlich das was ich auch will.
aber mein problem ist ich kenn mich mit php nicht aus.
brauchte fertige scripte.
vielleicht kannst du mir da aushelfen.
Am einfachsten ist einfach, einen Taster zu nehmen, auf FALSE unD TRUE abzufragen, und dann in der Art:
if (GetValueBoolean(„Taster abfragen“) == True (oder False, je nach Wahl)
dann setze FHT in Manuelmodus
und gib eine Temperatur vor
fertig.
Wenn du wieder zu hause bist, einfach wieder den Regler in Automatik versetzen mit SetMode. Der rest übernimmt dann wider der Computer, und setzt spätestens beim nächsten Trigger den Wert wieder auf gewünschte Temperatur, in meinem Fall per ParameterTabelle.
die Parametertabelle kann ich die mit jeden Editor erstellen ? Was ist das für eine Datei ( txt ). oder was ?
Scick mir doch bitte eine Mail mit einer Datei
Hierauf kannst du eine durchaus verwertbare Steuerung erstellen:
http://www.ip-symcon.de/forum//showthread.php?t=81
Ja, die Parameter-Datei kannst du sogar mit dem Notepad editieren
habe mal was probiert. klappt aber nicht. müssen die fht auf manuel gestellt werden ?
hier mal das script
<?
/*
$hour=date(„H“);
$minute=date(„i“);
$time = $hour.":".$minute;
$heute = array(„Sonntag“,„Montag“,„Dienstag“,„Mittwoch“,„Donnerstag“,„Freitag“,„Samstag“);
$tag = date(„w“);
$handle = fopen(„C:/Programme/IP-SYMCON/web/Parameter/gastg.par“,„r“);
while ($line = fgets($handle, 1000))
{
$parameter = explode(";", $line); //[0]-Tag, [1]-(Ab)Zeit, [2]-Temperatur
$day=$parameter[0];
$switchtime=$parameter[1];
$temp=$parameter[2];
if($day == $heute[$tag]) //Tag erkannt
{
if($time > $switchtime)
$newtemp = $temp;
}
}
fclose($handle);
echo $newtemp;
SetValueFloat(„FHT_Gast_gross_SollTemp“, (float)$newtemp);
FHT_SetTemperature(35059, (float)$newtemp);
}
*/
?>
läuft mit timer alle 15 minuten.
aber der tempwert bleibt unverändert.
also mir sind da die beiden /* und */ ein Dorn im Auge - dies bedeutet „Auskemmentieren“ - die Zeilen die dazwischen stehen werdne nicht ausgeführt.
Beispiel:
<?
a=5;
b=3;
c=a+b; /* hier wird addiert*/
?>
entferne die mal in deinem script ganz oben und unten…
dann sollte es laufen
habe die zeichen entfernt. jetzt kommt eine Fehlermeldung
Warning: fopen(C:/Programme/IP-SYMCON/web/Parameter/gastg.par) [<a href=‚function.fopen‘>function.fopen</a>]: failed to open stream: No such file or directory in line 8
was bedeutet dies
Das heisst, das die *.par Datei die der fopen-Befehl zu öffnen versucht, ganz einfach nicht vorhanden ist.
Check mal deinen Pfad ob er auch mit dem im fopen befehl übereinstimmt, oder ob diese datei überhaupt schon existiert. Hast du diese Datei schon angelegt?
ausserdem check mal deinen „Donnerstag“. Da ist ein Leerzeichen zuviel.
$heute = array(„Sonntag“,„Montag“,„Dienstag“,„Mittwoch“,„Do nnerstag“,„Freitag“,„Samstag“);
die eine fehlermeldung ist jetzt weg. pfad war falsch.
aber jetzt kommt
Parse: parse error, unexpected $end in line 21
17.0
setz’ doch mal den ganzen Code rein.
Tippe mal darauf, dass hinter
if($time > $switchtime)
die Klammer auf fehlt -> {
Tipp: Verwende für die Programmierung der PHP-Skripte doch einen Editor, der die Sprache (also PHP unterstützt) - dann siehst du sofort, wenn irgendwo eine Klammer fehlt (z.B. Notepad++ http://notepad-plus.sourceforge.net/uk/about.php)
poste nochman alles…
die letzte } ist auch zuviel. Nach der einen if-Abfrage muss keine {} hin, da nur eine Befehlszeile in der Bedingung ausgeführt wird, kann man auf die Klammern verzichten.
Wieso setzt du eigentlich nicht das Script komplett so ein, wie ich es in der einen Anleitung reingestellt habe? - Willst du keine Manuell-Umschaltung usw. haben.
Am besten nohcmal dein Script komplett reinstellen, dann finden wir auch den Fehler der noch drin steckt…
hallo alle zusammen,
also dieses Forum oder besser gesagt seine mitglieder sind spitze. habe das problem mit der parameterdatei gelöst. die fht laufen über ips.
nur das mit auf manuel will nicht klappen. die variables param zeigt den wert an. das script chance zeigt auch keine fehler an. aber wenn ich das stellrad verstelle passiert nichts. hier noch mal das script
if($IPS_SENDER==„Variable“)
{
//SetValueString(„Global_Variable“,$IPS_VARIABLE); <-- war für Debug?
switch($IPS_VARIABLE)
{
case „FHT_Gast_gross_SollTemp“:
if(GetValueFloat(„FHT_Gast_gross_SollTemp“)!=GetValueFloat(„Gastg_Temp_Param“))
{
FHT_SetMode(35059, 1); //in Manuellmodus setzen
SetValueInteger(„IN_FHT_Gast_gross_TargetTemp“,1);
IPS_SetScriptTimer(„Gastg_Temp_Change“,7000); //ca. 2h halten
}
break;
}
}
if($IPS_SENDER==„TimerEvent“) {
FHT_SetMode(35059, 0); //Mode in Automatik
SetValueInteger(„IN_FHT_Gast_gross_TargetTemp“,0);
IPS_SetScriptTimer(„Gastg_Temp_Change“,0);
}
würde mich über eine lösung sehr freuen damit ich endlich weiterkomme
Hast du den Trigger richtig gesetzt?
Das Script „Temp_Change“ muss durch die Variable des Soll_Wertes getriggert werden. Und hierbei ist zwingend erforderlich, dass diese Variable auch als „Target-State Soll-Variable“ beim FHT eingestellt ist.
das script wird mit FHT_Gast_gross_SollTemp getriggerd was auch unter fht
starget state temperatur eingetragen ist.
es scheint zu klappen. weis zwar nicht warum aber egal.
nochmals vielen dank für die tolle hilfe
immer dran denken - die FHT’s sind halt einfach träge…das kann dann alles ein paar Minuten dauern…