FD 868 [Beispiel #1]

In unserer Sauna gab es diverse Schalter, Knöpfe, Drehregler, Fernbedienungen usw. - da konnte man schon mal den Überblick verlieren.
Alle Funktionen habe ich nun in einem Menü des „FD 868“ zusammen gefasst.
Der „Sauna-Gänger“ kann nun per Dialog die gewünschte Temperatur und Luftfeuchtigkeit einstellen - natürlich mit passender „New-Age-Musik“. Selbstverständlich lassen sich auch die Lichtszenarien (RGB-Farbwechsel) frei wählen oder die Belüftung regulieren.

Als Anlage ein Skript- Beispiel - es soll lediglich als Anregung dienen.
Es wird getriggert durch Variablenänderung der Tasten: Up, Down und Enter
Der jeweilige Menüpunkt kann mit ‚Up/ Down‘ durchgeblättert werden und wird in einer Variablen gespeichert.
Bei ‚Enter‘ gelangt man den den ‚Edit-Modus‘ - dieser wird ebenfalls in einer Variablen gespeichert.
Änderungen werden mit Up/ Down vorgenommen und mit ‚Enter‘ abgeschlossen.
Demo-Video

MST


$id_lcd = 49408 /*[Sauna\FD 868\ViewJet #6]*/;
$id_ev_up = 59810 /*[Sauna\FD 868\LCD\]*/;
$id_ev_down = 11923 /*[Sauna\FD 868\LCD\]*/;
$id_ev_enter = 33039 /*[Sauna\FD 868\LCD\]*/;
$id_var_pos = 42863 /*[Sauna\FD 868\ViewJet #6\Menüposition]*/;
$id_var_eaq = 38869 /*[Sauna\FD 868\ViewJet #6\Ein Aus Quitt]*/;
$id_event = $IPS_EVENT;
$auseinquitt = GetValue($id_var_eaq);
$menue = GetValue($id_var_pos );
// User-Variablen
$id_var_vol = 19718 /*[Sauna\FD 868\ViewJet #6\Volume]*/;
$id_var_sau = 45679 /*[Sauna\Soll-Betriebsart]*/;
$id_var_akt = 47214 /*[Hof Garten\Birnen Baum\Status]*/;

// Up & Down im Menü > Auswahl
// Ausgabe - Modus
if (($auseinquitt == 0) and ($id_event <> $id_ev_enter)){
	if ($id_event == $id_ev_up ){
		$menue = $menue +1;
		//PJ_Beep($id_pj,2);
		if ($menue > 4) $menue = 1;
	}
	if ($id_event == $id_ev_down){
		$menue = $menue -1;
		if ($menue < 1) $menue = 4;
	}
	// Positiom im Menü speichern
	SetValue($id_var_pos , $menue);
	switch($menue){
	 		case 1:
	   		PJ_LCDText($id_lcd, 1,"Sauna Betrieb");
            $txt_z2 = GetValueFormatted($id_var_sau);
				PJ_LCDText($id_lcd, 2, $txt_z2);
	   		return;
	   	case 2:
	   		PJ_LCDText($id_lcd, 1,"SONOS Musik");
	   		PJ_LCDText($id_lcd, 2,"Volume: ".GetValue($id_var_vol));
	   		return;
	   	case 3:
	   		PJ_LCDText($id_lcd, 1,"Aussen Beleucht.");
	   		$txt_z2 = GetValueFormatted($id_var_akt );
				PJ_LCDText($id_lcd, 2, $txt_z2);
	   		return;
	 		case 4:
				PJ_LCDText($id_lcd, 1,"Belueftung");
	   		PJ_LCDText($id_lcd, 2,"Automatik");
	   		return;
		 }
}

// Eingabe - Modus
if (($auseinquitt == 0) and ($id_event == $id_ev_enter)){
	SetValue($id_var_eaq, 1);
	switch($menue){
		case 1:
	   	PJ_LCDText($id_lcd, 1,"Sauna: Ein/Aus:");
			$txt_z2 = GetValueFormatted($id_var_sau);
			PJ_LCDText($id_lcd, 2, $txt_z2);
	   	return;
		Case 2:
	 		$setpoint = GetValue($id_var_vol );
	   	PJ_LCDText($id_lcd, 1,"Neuer Wert:");
	   	PJ_LCDText($id_lcd, 2,"Volume: ". $setpoint);
	   	return;
	   Case 3:
	   	PJ_LCDText($id_lcd, 1,"Aussen Beleucht.");
			// Delay > 2-Funksysteme !
			IPS_Sleep(100);
			IPS_RunScript(27878 /*[Hof Garten\Birnen Toggle]*/ );
			IPS_Sleep(100);
			$txt_z2 = "Toggle>neu: ".GetValueFormatted($id_var_akt );
	   	PJ_LCDText($id_lcd, 2, $txt_z2);
			SetValue($id_var_eaq, 0);
		 }
	return;
}

// Edit - Modus
if (($auseinquitt == 1) and ($id_event <> $id_ev_enter)){
	if ($id_event == $id_ev_up){
		switch($menue){
			case 1:
	 			$setpoint = GetValue($id_var_sau );
	   		$setpoint = $setpoint +1;
	   		if ($setpoint >5) $setpoint = 5;
	   		SetValue($id_var_sau, $setpoint);
				PJ_LCDText($id_lcd, 2,GetValueFormatted($id_var_sau));
	   		return;
	 		case 2:
	 			$setpoint = GetValue($id_var_vol );
	   		$setpoint = $setpoint +10;
	   		if ($setpoint >100) $setpoint = 100;
	   		SetValue($id_var_vol, $setpoint);
	   		PJ_LCDText($id_lcd, 2,"Volume: ".$setpoint);
	   		return;
		}
	}
	if ($id_event == $id_ev_down){
		switch($menue){
			case 1:
	 			$setpoint = GetValue($id_var_sau );
	   		$setpoint = $setpoint -1;
	   		if ($setpoint < 0 ) $setpoint = 0;
	   		SetValue($id_var_sau, $setpoint);
				PJ_LCDText($id_lcd, 2,GetValueFormatted($id_var_sau));
	   		return;
			 case 2:
	 			$setpoint = GetValue($id_var_vol );
	   		$setpoint = $setpoint -10;
	   		if ($setpoint < 0) $setpoint = 0;
	   		SetValue($id_var_vol, $setpoint);
	   		PJ_LCDText($id_lcd, 2,"Volume: ".	$setpoint);
	   		return;
		 }
	}
}
// Quitt - Modus
if (($auseinquitt == 1) and ($id_event == $id_ev_enter)){
	SetValue($id_var_eaq, 0);
	switch($menue){
	   case 1:
	   	PJ_LCDText($id_lcd, 1,"neuer Modus:");
         $txt_z2 = GetValueFormatted($id_var_sau);
			PJ_LCDText($id_lcd, 2, $txt_z2);
	   	return;
		case 2:
 			$setpoint = GetValue($id_var_vol );
   		PJ_LCDText($id_lcd, 1,"neuer Wert:");
   		PJ_LCDText($id_lcd, 2,"Volume: ".$setpoint);
   		return;
		 }
}


tree_fd686_sauna.png

Hi,

klingt gut und verlockend um endlich mal so richtig zu entspannen…

mfg

Bernd