nach ewig langenm rumgefrickel mit einem alternativen Heizungsscript hier au sdem Forum, werde ich doch wieder auf die altbewährte Methode und das Script von Ernie umsteigen und das auch in nächster Zeit wieder implementieren.
Werde aber erst mal die letzten 20 Seiten vom dem Thread lesen müssen um auf aktuellen Stand zu kommen.
Ich suche aber immer noch eine Methode, wie man Kalendereinträge ( bei mir HomeOffice, Urlaub, Gleittage, usw. ) berücksichtigen kann.
Hat da jemand eine Idee oder sogar Lösung ? Google-Kalender oder besser sogar iCloud-Kalender als Basis währe genial.
Naja, eine fertige Lösung nicht, aber im Prinzip brauchst du nur ein Script, welches die Termine auslesen kann und dann eine zusätzliche Variable true/false setzt. Diese Variable dann mit der Heizvariable aus Ernies Script verknüpfen … zumindest wäre das erst mal die grobe Idee !?
Ich hoffe ja das Ernie irgendwann mal Zeit findet und die ganzen Ideen zu dem Script umsetzt. :D;):rolleyes:
Zusätzliche Variabel sind ja nicht das Problem, das ist ja in Ernies Skript vorgesehen, hab ich in der Vergangenheit auch schon für Feiertage benutzt.
Problem ist, wie ich den Kalender auslesen kann auf Termine, das übersteigt derzeit noch meine PHP-Kenntnisse udn war nicht sonderlich von Erfolg gekrönt.
also ich hab mir das jetzt nochmal angesehen und habe festgestellt dass ich tatsächlich diese Profile („b_Anwesend-Abwesend“ und „~Switch“) nicht angelegt hat
das hab ich nun getan und ich habe noch immer einen fehler siehe Foto
ich habe auch ein Foto dazugegeben das meine ganze heizungssteuerungumgebung zeit … fällt euch da vielleicht ein fehler auf bzw hab ich was vergessen
Nur eine Vermutung, ich bin mit meine rKonfig noch nicht fertig.
du musst keine Variablen für die beiden anlegen, sondern Variable-Profile und die mit den entspreichenden Variblen verknüpfen
Ich mache mal Screenshot, hat die Exporter-Version bei mir eingespielt, da sind die drin
jetzt bin ich schon viel weiter, ich habe den heizungsplan und die Skripte zeigen kein rotes Rufzeichen jetzt hab ich aber ein weiters Problem
ich möchte diese Steuerung für eine elektroheizung verwenden und die ist in dieser konfig nicht möglich
ich habe heruasgefunden das ich für das ein schalten „HM_WriteValueBoolean(45424 /[1 Steckdose Wohnzimmer]/, „STATE“, true)“ diesen befehl und für das ausschalten "HM_WriteValueBoolean(45424 /[1 Steckdose Wohnzimmer]/, „STATE“, false) " diesen befehl benötige nur wie kann ich dies in die heizungssteuerung einbaun?
das IPS wo meine Heizungssteuerung drauf lief ist noch nach dem Umzug leider noch nicht im neuen Haus angekommen und eingerichtet
Ich habe mal die letzte Version vom ersten Post runtergeladen. Das müsste für deine Fragestellung eigentlich ausreichen.
Die wichtige Datei ist INTERFACE_Heizungskomponenten.ips.php
Hier wird geregelt, wie die verschiedenen Heizungskomponenten angesprochen werden.
Das EinsWireWagoKombinationsKomponenten-Interface stellt ja eine Variable zur Verfügung, aus der man mit andere Scripte lesen lassen kann ob ein Stellantrieb AN oder AUS sein soll.
Vom Prinzip brauchst Du das EinsWireWagoKombinationsKomponenten, das aber nicht nur eine lokale IPS-Variable setzt sondern diese an HomeMatic sendet.
Wenn Du es „einfach“ haben willst, nimmst Du das EinsWireWagoKombinationsKomponenten und schreibt selbst einen Trigger außenrum, der die lokale Variable abfragt und per HM_Write an deine Stellantriebe sendet. Dann hast Du eine gewisse Verzögerung weil zwei Dinge hintereinander passieren (setzen vom Script und danach senden an die Stellantriebe bzw. Steckdosen)
Wenn Du es „schön“ haben willst, kopierst Du das EinsWireWagoKombinationsKomponenten Interface und machst darauf ein HomeMaticKomponentenSteckdoseAnAus, dass das EinsWireWagoKombinationsKomponenten und das HomeMaticKomponentenHeizenJaNein miteinander vereint. Also anstatt dem setzen der lokalen Variable in EinsWireWagoKombinationsKomponenten ein senden vom HM_Write an deine Steckdose (ähnlich wie in HomeMaticHeizenJaNein). Hierbei musst Du dann aber nicht die lokalen Variablen sondern die HomeMatic IDs in der Config anpassen.
$this->heizungssteuerung['writeRaumSollTemeratur'] = array();
$this->heizungssteuerung['writeRaumSollTemeratur']['Bad'] = 36797; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Büro'] = 19315; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Gästezimmer'] = 31325; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Schlafzimmer'] = 30084; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Wohnzimmer'] = 42515; // cAOIDs ok ;
// ### ODER IPS-Variablen (zum speichern und lesen der Werte)
// ### (diese müssen im IPS-Baum selbst angelegt werden)
// ### z.B. bei 1-wire Modulen
/*
$this->heizungssteuerung['writeRaumSollTemeratur']['Bad'] = 42715; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['writeRaumSollTemeratur']['Büro'] = 57644; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Büro]
$this->heizungssteuerung['writeRaumSollTemeratur']['Gästezimmer'] = 26155; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Gästezimmer]
$this->heizungssteuerung['writeRaumSollTemeratur']['Schlafzimmer'] = 35587; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Schlafzimmer]
$this->heizungssteuerung['writeRaumSollTemeratur']['Wohnzimmer'] = 53457; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Wohnzimmer]
Als erstes kannst Du mal das WAGO Interface einrichten bis das sauber klappt. Da sind einige Variablen dabei, die Du hinterher für das neue Interface brauchst.
Danach können wir gemeinsam ein neues Interface für die Steckdosen definieren …
ich habe da mal eine Frage:
Ich habe ja die Möglichkeit, die Zeitfenster über das Webfront zu bearbeiten. Wenn ich jetzt einen Tag z.B. Freitag bearbeite und abweichend vom Standard heizen möchte, setzt sich dieser Tag dann irgendwann wieder auf den Standard zurück? Wenn ja, wann?
Das Script „createHeizplan“ wird täglich um 00:01 Uhr ausgeführt.
Wenn das Script keine Fehlermeldungen liefert, dann passt das.
Prüf bitte, ob die Variablen unter „Heiz - Stati“ zu den entsprechenden Uhrzeiten „Heizen“ bzw. „Abkühlen“ anzeigen.
Wenn das sichergestellt ist, dann baust Du Dir für jeden Steckdosen-Aktor ein Script. Wenn die Variable auf „Heizen“ geht --> Steckdose an, wenn die Variable auf „Abkühlen“ geht --> Steckdose aus.
Von dort wird jeden Tag einmal um 00:01 Uhr der Heizplan für den gestrigen Tag in Zukunft (also 6 Tage vorraus) erstellt. Dies passiert indem das PHP Script IPS-Varibalen inklusive Profil und vordefiniertem Wert dynamisch in der Tages-zugehörigen Kategorie erstellt. Damit kann man individuell die Anwesenheit für die nächsten 7 Tage vorgeben sowie bei Bedarf die Heizung direkt per Dashboard, WebFront oder iFront manuell anschmeißen.
Immer nachdem ein Tag vorbei ist wird er neu erstellt. Jede Änderung die du machst gilt für die nächsten kommenden Wochentag, danach ist es wieder standard