Abend Lars!
Ich hatte vor längerer Zeit die StellaZ für einen Kumpel in die AktorSteuerung mit eingebaut. Diese kannst du verwenden oder dir die entsprechenden Befehle „klauen“
AktorSteuerung (alle Aktoren über eine zentrale Steuerung ansprechen/bedienen)
Wie wo was da genau war, keine Ahnung Aber hier mal ein Auszug vom StellaZ Teil:
elseif ($DeviceConfig[$index][3] == "Thermostat-StellaZ") {
if (IPS_SemaphoreEnter($Hersteller, 9000)) {
if ($Befehl == "VENTILPOSITION") {
SetValue($HzgManModeVentilpositionID, $HzgManModeVentilposition);
if ((GetValue($HzgManModeVentilpositionID) != $HzgManModeVentilposition) OR ($_IPS["SENDER"] == "WebFront")) {
$result = @ZW_DimSet($InstanzID, $HzgManModeVentilposition);
if ($result === false) {
IPS_Sleep(500);
@ZW_DimSet($InstanzID, $HzgManModeVentilposition);
}
}
}
elseif ($Befehl == "CONTROLMODE") {
if ($HzgControlMode == "AUS") {
$HzgControlMode = 0;
if ((GetValue($HzgControlModeID) != $HzgControlMode) OR ($_IPS["SENDER"] == "WebFront")) {
SetValue($HzgControlModeID, $HzgControlMode);
$result = @ZW_ThermostatModeSet($InstanzID, 0);
if ($result === false) {
IPS_Sleep(500);
@ZW_ThermostatModeSet($InstanzID, 0);
}
}
}
elseif ($HzgControlMode == "KOMFORT") {
$HzgControlMode = 1;
if ((GetValue($HzgControlModeID) != $HzgControlMode) OR ($_IPS["SENDER"] == "WebFront")) {
SetValue($HzgControlModeID, $HzgControlMode);
$result = @ZW_ThermostatModeSet($InstanzID, 1);
if ($result === false) {
IPS_Sleep(500);
@ZW_ThermostatModeSet($InstanzID, 1);
}
}
}
elseif ($HzgControlMode == "ENERGIESPAREN") {
$HzgControlMode = 11;
if ((GetValue($HzgControlModeID) != $HzgControlMode) OR ($_IPS["SENDER"] == "WebFront")) {
SetValue($HzgControlModeID, $HzgControlMode);
$result = @ZW_ThermostatModeSet($InstanzID, 11);
if ($result === false) {
IPS_Sleep(500);
@ZW_ThermostatModeSet($InstanzID, 11);
}
}
}
elseif ($HzgControlMode == "MANUELL") {
$HzgControlMode = 31;
if ((GetValue($HzgControlModeID) != $HzgControlMode) OR ($_IPS["SENDER"] == "WebFront")) {
SetValue($HzgControlModeID, $HzgControlMode);
$result = @ZW_ThermostatModeSet($InstanzID, 31);
if ($result === false) {
IPS_Sleep(500);
@ZW_ThermostatModeSet($InstanzID, 31);
}
}
}
}
elseif ($Befehl == "KOMFORT-TEMPERATUR") {
if ((GetValue($HzgKomfortSollTempID) != $HzgSollTemp) OR ($_IPS["SENDER"] == "WebFront")) {
SetValue($HzgKomfortSollTempID, $HzgSollTemp);
$result = @ZW_ThermostatSetPointSet($InstanzID, 1, $HzgSollTemp);
if ($result === false) {
IPS_Sleep(500);
@ZW_ThermostatSetPointSet($InstanzID, 1, $HzgSollTemp);
}
}
}
elseif ($Befehl == "ENERGIESPAREN-TEMPERATUR") {
if ((GetValue($HzgEnergiesparenSollTempID) != $HzgSollTemp) OR ($_IPS["SENDER"] == "WebFront")) {
SetValue($HzgEnergiesparenSollTempID, $HzgSollTemp);
$result = @ZW_ThermostatSetPointSet($InstanzID, 11, $HzgSollTemp);
if ($result === false) {
IPS_Sleep(500);
@ZW_ThermostatSetPointSet($InstanzID, 11, $HzgSollTemp);
}
}
}
IPS_Sleep(300);
IPS_SemaphoreLeave($Hersteller);
}
}
Und hier noch ein Teil aus dem Skript „AktorSteuerung-Aktorenüberwachung“:
if (($AktorArt == "Thermostat-StellaZ") AND ($Hersteller == "Z-Wave")) {
$Var_AktorStrg_AKTUELLETEMP_ID = IPS_GetVariableIDByName($AktorName."_AKTUELLETEMP", $Kategorie_Variablen_ID);
$Var_AktorStrg_AKTUELLETEMP_WERT = GetValue($Var_AktorStrg_AKTUELLETEMP_ID);
$Var_AktorStrg_KOMFORTSOLLTEMP_ID = IPS_GetVariableIDByName($AktorName."_KOMFORTMODESOLLTEMP", $Kategorie_Variablen_ID);
$Var_AktorStrg_KOMFORTSOLLTEMP_WERT = GetValue($Var_AktorStrg_KOMFORTSOLLTEMP_ID);
$Var_AktorStrg_ENERGIESPARSOLLTEMP_ID = IPS_GetVariableIDByName($AktorName."_ENERGIESPARMODESOLLTEMP", $Kategorie_Variablen_ID);
$Var_AktorStrg_ENERGIESPARSOLLTEMP_WERT = GetValue($Var_AktorStrg_ENERGIESPARSOLLTEMP_ID);
$Var_AktorStrg_CONTROLMODE_ID = IPS_GetVariableIDByName($AktorName."_CONTROLMODE", $Kategorie_Variablen_ID);
$Var_AktorStrg_CONTROLMODE_WERT = GetValue($Var_AktorStrg_CONTROLMODE_ID);
$Var_AktorStrg_AKTUELLEVENTILPOSITION_ID = IPS_GetVariableIDByName($AktorName."_AKTUELLEVENTILPOSITION", $Kategorie_Variablen_ID);
$Var_AktorStrg_AKTUELLEVENTILPOSITION_WERT = GetValue($Var_AktorStrg_AKTUELLEVENTILPOSITION_ID);
if ($VarAusloeser_NAME == "Value") {
SetValue($Var_AktorStrg_AKTUELLETEMP_ID, $VarAusloeser_WERT);
}
elseif ($VarAusloeser_NAME == "Mode") {
SetValue($Var_AktorStrg_CONTROLMODE_ID, $VarAusloeser_WERT);
}
elseif ($VarAusloeser_NAME == "Intensity") {
SetValue($Var_AktorStrg_AKTUELLEVENTILPOSITION_ID, $VarAusloeser_WERT);
}
elseif ($VarAusloeser_NAME == "SetPoint (Heating)") {
SetValue($Var_AktorStrg_KOMFORTSOLLTEMP_ID, $VarAusloeser_WERT);
}
}
Das sollte dir schon mal weiterhelfen
Edit: Mein Kumpel hat damals ganz schön geflucht mit den StellaZ und so wirklich funktionieren die wohl auch nicht. Er hatte auch immer wieder versucht mit dem Stella-Support etwas hin zu bekommen. Aber die Dinger sind wohl recht bescheiden Gibt auch noch einen Thread dazu hier im Forum vom User „SteffenR“.
(gelöst) Stella Z Einrichtungs Probleme
ZW_ThermostatModeSet
Grüße,
Chris