Heizungssteuerung mit Parameterdatei

Nabend,

hatte jetzt monatelang Retarius erstes Skipt laufen und möchte jetzt um den manuellen Komfortpunkt erweitern.

Bei einem Punkt habe ich nur nen Hänger :

Mit welcher Variablen muss ich das neue TempChange Skript verknüpfen ?
Mit der neuen „Param“ Variablen ?

Und muss ich die „Param“ Variable mit in die FHT Instance irgendwo eintragen ? Sonst kriegt sie doch gar keine Daten, oder ?

ansonsten auch gerne per PM - bin auch oft via ICQ online zu erreichen

ich hatte ja schon mal „angedroht“ das Script zu optimieren und auch etwas zu erweitern. Leider bin ich aus Zeitgründen noch nicht dazu gekommen. Und jetzt gibts ja auch noch ein Super-Script von Fredje.
Da ich aber vorerst bei meinem eigegen Script bleiben möchte - und scheinbar ja auch noch andere mein Script weiterhin einsetzen - werde ich mir doch die Arbeit machen und die Zeit nehmen mal eine bessere Anleitung (komplett) zu erstellen.
Darin werde ich dann auch ein FLAG für Abwesenheit (Urlaub, usw.) einpflegen.

Weitere Ideen und Vorschläge sind willkommen.
Ich möchte halt nicht zuviel einbauen, damit die Sache überschaubar bleibt. Aufwendigere Scripte die auch mehr können gibts ja dann von Fredje. Ich glaube im neuen WI wird auch was integriert sein.

yo, genau nach der anleitung hab ich es auch gemacht

Grundsätzlich wird ja sobald ich am Rad drehe die SollTemp mit der Param abgeglichen und das Skript bemerkt die Differenz und lässt das skript 2 std. chillen.

Oder ?

Irgendwie war es heute morgen nämlich immer noch 22 grad warm, obwohl die Par.Datei eigentlich schon wieder laufen sollte…

stand denn das System noch auf Manuell?

Wichtig ist, dass der Sripttimer gesetzt wird (das mal prüfen) und das nachdem der Scripttimer abgelaufen ist das Script „bad_temp_ext“ ausgeführt wird. Denn dieses Script bringt das FHT wieder in den Automatik Modus und noch viel wichtiger: setzt die Variable für den Mode auf Automatik. Dies scheint bei dir nicht zu gehen. (variable nach 2 std. prüfen - bzw. für den test im script die 2 std. auf wenige minuten setzen - bitte aber hier die Zeitverzögerung des FHT’s nicht vergessen)

melde dich nochmal wenn du nicht weiterkommst

ich hab das skript genutz, wo die „ext“ bereits mit enthalten ist

Hallo,
das script hat bei mir auch nicht gefuntzt. habe das temp_ex extra und alles klappt super. hatte mich damals auch hier verrand.

cu uwe

prima, dann „exclude“ ich das wieder

Hi leute,

hab meine Heuzung jetzt auch soweit umgebaut das ich sie mit IPS steuern kann. Benutze auch das am anfang gepostete Script mit der Parameter Datei.
(Danke an der Stelle für das Script)
Aber wie soll das funktionieren, zwei Uhrzeiten zu vergleichen, die mit „:“ getrennt sind, und als String abgespeichert.

Habs bei mir jetzt mal so umgebaut.

	

$today = date("w");
	$weekday = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
	$time_hour = date("H");
	$time_minute = date("i");
	$time = $time_hour*60+$time_minute;

	$handle = fopen(IPS_GetKernelDir()."scripts/Heizung_Parameter.txt","r");
	while ($line = fgets($handle, 1000))
	{
		$parameter = explode(";", $line);    // [0]-Tag, [1]-Zeit, [2]-SollTemp
		$day=$parameter[0];
		$switchtime = explode(":", $parameter[1]);
		$switchtime_min = $switchtime[0]*60+$switchtime[1];
		$solltemp=$parameter[2];

		if($day == $weekday[$today])    //Tag erkannt
		{
			if($time > $switchtime_min)
			{
				$solltemp_last = $solltemp;
			}

		}
              // evtl muss noch ein trim() davor kommt bei mir später erst
              SetValueInteger("21821", (int)$solltemp_last);
	}
	fclose($handle);

Hallo mighty,

ist eigentlich nicht so schwierig:


if (time() > strtotime($parameter[1]))
{
.
.
.

vergleicht die aktuelle Zeit mit der in $parameter[1] abgelegten.
Manual strtotime()

Gruß

Hi,

danke für den Tip. So gings natürlich kürzer :wink:

Aber hab eigentlich gemeint wie das original Script so die Zeiten richtig verlgeichen soll.


$hour=date("H");
$minute=date("i");
$time = $hour.":".$minute; 
----------
$switchtime=$parameter[1]; 
----------
if($time > $switchtime) 

Weist was ich mein?

Ciao Severin

Hi,

habs mir grad nochmal angesehen.

if (time() > strtotime($parameter[1])) 

Mit deiner Lösung glaub ich wirds nicht gehen, da in dem Parameter ja
kein Datum sondern nur ne Uhrzeit steht.

Oder hab ich da was übersehen?

Ciao Severin

Hallo Severin,

wenn in dem String kein Datum drin ist , wird das aktuelle(heutige) Datum verwendet.

Gruß