Es finden sich zu ALLEN deinen Fragen Code-Beispiele hier im Forum!
Ich würde an deiner Stelle mit verschiedenen Wochenplänen arbeiten (Infos zu Wochenplänen gibt’s genug im Forum und in der IPS-Doku). Mit diesen Wochenplänen kannst du jeweils Zeiten und Temperaturen einstellen und diese werden dann automatisch „geschaltet“. Und je nachdem was im Google Kalender ausgelesen wird, soll dann der zugehörige Wochenplan aktiv geschaltet bzw. verwendet werden inkl. der darin eingestellten Temperaturen (habe irgendwo mal dazu einen Beitrag veröffentlicht mit Skripten und Screenshots, finde den aber grad nicht).
Du musst alles mögliche in Variablen Speichern und kannst diese dann an anderen Stellen bzw. in anderen Skripten weiterverwenden.
Beispiele zu deinen Fragen:
Heizungen - Temperatur setzen (Die HM Thermostate müssen dazu auf MANUELL stehen):
// Heizungen in der gesamten Wohnung auf die erhöhten Temperaturen setzen
$soll_temp_w = 21;
// Thermostate der Heizungen in den Wohnräumen einstellen
if(GetValueFloat(27059 /*[Hardware\HomeMatic\Heizung und Temperaturen\WT01 (Wandthermostat Wohnzimmer)\Thermostat\SET_TEMPERATURE]*/) != $soll_temp_w)
{
IPS_Sleep(250);
HM_WriteValueFloat(56145 /*[Hardware\HomeMatic\Heizung und Temperaturen\WT01 (Wandthermostat Wohnzimmer)\Thermostat]*/, "SET_TEMPERATURE", $soll_temp_w);
}
Kontrollieren, ob Thermostate im Manual-Mode:
$wt01_controlmode = GetValue(37264 /*[Hardware\HomeMatic\Heizung und Temperaturen\WT01 (Wandthermostat Wohnzimmer)\Thermostat\CONTROL_MODE]*/);
$wt01_thermostat = 56145 /*[Hardware\HomeMatic\Heizung und Temperaturen\WT01 (Wandthermostat Wohnzimmer)\Thermostat]*/;
$wt01_solltemp = GetValue(11022 /*[Skripte & Variablen\Heizungssteuerung\SOLL-IST\WT01_TEMP_SOLL]*/);
if (($wt01_controlmode != 1) AND ($wt01_controlmode != 3)) {
IPS_Sleep(2000);
HM_WriteValueFloat($wt01_thermostat,"MANU_MODE", 1);
IPS_Sleep(2000);
HM_WriteValueFloat($wt01_thermostat,"SET_TEMPERATURE", $wt01_solltemp);
}
Beispiel für Datum HEUTE:
$heute = date("d.m."); // z.B. "30.10."
Beispiel für regex zum herausfiltern von deinen X und S usw (hier kannst du im Forum mal nach Müllterminen oder Mülltonne suchen, ist von der Art her das was du brauchst):
$regexheute = '/$heute (.*)/';
preg_match($regexheute, $googlezwischenspeicher, $termine);
//print_r($termine);
So…wie gesagt, alles nur Beispiele, aber darin ist quasi alles enthalten was du in dieser oder ähnlicher Form brauchst, um dein Projekt umzusetzen…
Jetzt ist aber erst mal EIGENINITIATIVE gefragt von dir
Grüße,
Chris