Stufenschalter mit einem HM-LC-Sw4-DR

Hallo,

ich möchte mit dem 4-fach Funkschalter eine Stufenschalter zur komfortableren Steuerung einer Wohnraumlüftung einsetzen. In Endausbau evtl. auch Regeln (autom. Stufenwahl nach Innenraumtemp. oder Feuchte, nächtliche Durchlüftung im Sommerbetrieb, …).
Folgende Stufen benötige ich:
Aus: Aktor1=Ein & Aktor2=Ein
Stufe I: Aktor1=Aus & Aktor2=Ein
Stufe II: Aktor1=Ein & Aktor2=Aus
Stufe III: Aktor1=Aus & Aktor2=Aus
Bis zum Anlegen der Variablen wie ich mir das im Webfront vorstelle bin ich schon mal gekommen. Aber als absoluter php-Neuling fehlt mir der Ansatz, wie ich dies mit einem Skript realisieren kann.
Vielleicht kann mir ja ein php-Profi des Forums mal etwas Hilfestellung geben.

Gruß
tiklis

in etwa so. Ich kenne allerdings nur den
HM-LC-SW4-PCB

switch($IPS_VALUE)
{
    case 0:
        HM_WriteValueBoolean(12345, "STATE", true);
        HM_WriteValueBoolean(23456, "STATE", true);
    break;
    case 1:
       HM_WriteValueBoolean(12345, "STATE", false);
       HM_WriteValueBoolean(23456, "STATE", true);
    break;
    case 2:
       HM_WriteValueBoolean(12345, "STATE", true);
       HM_WriteValueBoolean(23456, "STATE", false);
    break;
    case 3:
       HM_WriteValueBoolean(12345, "STATE", false);
       HM_WriteValueBoolean(23456, "STATE", false);
    break;
}

Edit: der heisst jetzt wohl so.!

HomeMatic Funk-Schaltaktor 4fach, Hutschiene

Hallo Rainer,

besten Dank für die schnelle Hilfe!
Das Skript „switch´t“, Lüftung geht in allen Stufen!

Bei einer Reise durch KC/Ofr. steht ein Schwedentrunk (…allerdings aus Hopfen und Malz!) im kaltem Keller :wink:

Gruß
Timo

Hallo,

ich möchte für meine Wohnraumlüftung auch einen Toggle-Button haben.
Die einzelnen Lüftungsstufen kann ich per HomeMatic einstellen, das geht auch aus IPS.

Hier mein Script für die Stufen. Die einzelnen Variablen entsprechen dem Aktor. Wird ein weiterer zugeschaltet, ändert sich die Lüftungsstufe. Im Webfront klappt das manuell, aber nicht über den Wechselschalter.

<?

 //Homematic-Kanäle
 //Kanal 1: 54682 /*[Lüftung\Lüftung Aktor Kanal 1\STATE]*/
 //Kanal 2: 56203 /*[Lüftung\Lüftung Aktor Kanal 2\STATE]*/
 //Kanal 3: 23379 /*[Lüftung\Lüftung Aktor Kanal 3\STATE]*/
 
 switch($IPS_VALUE)
 {
 	case 1:
	HM_WriteValueBoolean(54682 /*[Lüftung\Lüftung Aktor Kanal 1\STATE]*/,"STATE",true);
	HM_WriteValueBoolean(56203 /*[Lüftung\Lüftung Aktor Kanal 2\STATE]*/,"STATE",false);
	HM_WriteValueBoolean(23379 /*[Lüftung\Lüftung Aktor Kanal 3\STATE]*/,"STATE",false);
	break;
	case 2:
	HM_WriteValueBoolean(54682 /*[Lüftung\Lüftung Aktor Kanal 1\STATE]*/,"STATE",true);
	HM_WriteValueBoolean(56203 /*[Lüftung\Lüftung Aktor Kanal 2\STATE]*/,"STATE",true);
	HM_WriteValueBoolean(23379 /*[Lüftung\Lüftung Aktor Kanal 3\STATE]*/,"STATE",false);
	break;
	case 3:
	HM_WriteValueBoolean(54682 /*[Lüftung\Lüftung Aktor Kanal 1\STATE]*/,"STATE",true);
	HM_WriteValueBoolean(56203 /*[Lüftung\Lüftung Aktor Kanal 2\STATE]*/,"STATE",true);
	HM_WriteValueBoolean(23379 /*[Lüftung\Lüftung Aktor Kanal 3\STATE]*/,"STATE",true);
	break;
	}
?>

Das Skript behauptet, das in Zeile 5, 10 und 15 (jeweils Case) die Variable nicht definiert ist. Was fehlt hier?

Danke!


switch ($_IPS['SENDER']) {      // woher aufgerufen ??


// ---- X. Skriptauslöser ein Variablenereignis
    case "Variable": /* Wenn das Skript durch ein Variablenereignis ausgeführt wurde
          Systemvariable 	Bedeutung
          $_IPS['VALUE'] 	Wert der auslösenden Variable zum Auslösezeitpunkt
          $_IPS['OLDVALUE'] 	Wert der auslösenden Variable vor Auslösezeitpunkt
          $_IPS['VARIABLE'] 	ID der auslösenden Variable
          $_IPS['EVENT'] 	ID des auslösenden Ereignisses
          $_IPS['TRIGGER'] 	Typ des auslösenden Ereignisses
*/

switch($_IPS['VALUE'] )
 {
     case 1:
....

....



Ich will das Skript von einem Stufenschalter aufrufen, den ich als Variable mit eigenem Profil angelegt habe. Das Profil kennt die Werte 1,2 und 3. Drücke ich im Webinterface auf Stufe 2, soll das Skript Case 2 auslösen.

Was ist ein „Stufenschalter“ ? Ein anderes Skript? Oder eine Homematic-Variable ?

Wenn es eine Valiable im Webinterface ist, gilt folgendes:


// ---- X. Skriptauslöser Beim Aufruf eines Skriptes
    case "WebFront":            /*  Wenn das Skript durch das WebFront ausgeführt wurde
          Systemvariable          Bedeutung
          $_IPS['INSTANCE']       ID der auslösenden WebServer Instanz
          $_IPS['CONFIGURATOR']   ID des aktuell genutzten Konfigurators
          $_IPS['VALUE']          Neuer Wert der Variable
          $_IPS['VARIABLE']       ID der zu ändernden Variable
*/


        break;


$IPS_VALUE funktioniert seit ca. Version 3 von IPS nicht mehr. Die Variablen werden jetzt im $_IPS-array übergeben (siehe auch Systemvariable)

Viele Grüsse
Harald

Hallo Harald,

„Stufenschalter“ kommt aus diesem Thread:

IP-Symcon Community Forum

Der Schalter hat die Werte 1, 2 und 3. Diese sollen dem Skript übergeben werden.

Hat vielleicht noch jemand eine Idee? Kann mir nicht vorstellen, das ich der einzige bin, der solch einen Button einsetzt :confused: