Homematic Thermostat auf "Cent" stellen

Stimmt, doofe Frage. :stuck_out_tongue:

hier

Ja genau dort… :wink:

Wird aber trotzdem noch ganz schön Arbeit das sauber zu integrieren wie ich gemerkt habe.
Werde mal versuchen, dass ich ein Script fertig mache, mit welchem man die Automatikprogramme auslesen und dann direkt im Webfront ändern kann, das wäre natürlich der Optimalfall…

Melde mich sobald das fertig ist… :slight_smile:

Oli

P.S. Wenn der Modus geändert wird, kann es u.U. bis zu 2 Minuten dauern bis sich der Wandthermostat meldet und dann die neue Konfiguration auch empfängt, also nicht wundern… Aktiv kann man da wohl nichts hinschicken… :slight_smile:

Das Verhalten ist systembedingt so. Die WTs hören nicht auf jeden und schon gar nicht direkt. Darum gibt es auch bei den Instanzen den Haken „Status emulieren“. Ist der nicht gesetzt, so verwirrt dies jeden Homematic-Neuling.

Danke Boui!

Hallo,

Ist keine Class aber hier ist schon mal eine erste kleine Bibliothek mit Funktionen, die über XMLRPC ein paar wichtige Dinge, die IPS nicht abdeckt, steuern. Habe ich natürlich dank euren Beiträgen hier gebastelt.
Da in „Home Automation“ auch Automation drin steht, habe ich versucht alles zu automatisieren, damit es auch schön wie IPS Befehle aussieht.

Die Bibliothek deckt alles ab, was ich brauche. Ich kann aber gerne mehr hinzufügen, falls Interesse besteht.

Beispiel:


include "hmxml.inc.php";

$result = HMXML_setTCMode(29123 /*[HM TC Instanz]*/, 0); // Set to Central mode

$tempProfile = HMXML_getTempProfile(29123 /*[HM TC Instanz]*/, "MONDAY", false);

$tempProfileNew = array();
$tempProfileNew['MONDAY']['EndTimes'] = array("06:30","08:30","16:30","22:00","24:00");
$tempProfileNew['MONDAY']['Values'] = array(17.0,20.0,17.0,19.5,17.0);
$result = HMXML_setTempProfile(29123 /*[HM TC Instanz]*/, $tempProfileNew);

HMXML_setTCValveMode(29123 /*[HM TC Instanz]*/, 1);  // Close the Valve

$RFLevels = HMXML_getRFLevelsAB("IEQ012345", 29123  /*[HM Gerät Instanz]*/);


etc…

Viel Spaß (hoffentlich).

Gruß,

Zapp

hmxml.inc.php.zip (5.25 KB) i[/i]

Ja ist denn heut schon Weihnachten?

Ich habe mir mal die neuen Funktionen aufgelistet und mit den ersten Sachen gespielt. Ich kann nur den Hut ziehen.
Das macht es deutlich einfacher und angenehmer.

Vielen Dank.

Hallo Zapp,

das ist 'ne Klasse Arbeit, ich bin begeistert!

Vielen Dank!!!

Hallo Zusammen.
Echt klasse was ihr hier auf deine Beine gestellt habt. Ich habe jetzt alle Parameter mit HMXML_getParamSetDesc durchgesehen, aber leider noch immer keine möglichkeite gefunden zwischen Comfort und Absenkung umzuschalten, bzw den Status abzufragen. Hab ich den nur übersehen, oder gibts den nicht?
P.S. Ich arbeite über den LAN Adapter.

Hallo,

was ist das denn hier für ein Mist! :smiley:

Ich war wieder mal angefangen meine Heizungsreglung neu zu gestalten, als wird von IPS aus gesteuert.

Kann ich jetzt alles voll vergessen, dank deiner geilen Arbeit.

Respekt, darauf haben schon viele gewartet. Jetzt habe ich die Idee alles ins Thermostat zu senden und der soll mal machen, der Vorteil liegt ja auf der Hand. Wenn IPS oder die CCU ausfällt bleibt es immer noch warm in der Bude.

Also noch einmal Danke für deine Arbeit.

Gruß Uwe

Hallo zusammen!

Super Funktionen! :slight_smile:
Nur habe ich ein paar Probleme damit denk

sende ich Temperaturprofile von IPS zum WT:

$tempProfileNew = array();
$tempProfileNew['MONDAY']['EndTimes'] = array("05:00", "12:00", "16:00", "20:00", "24:00");
$tempProfileNew['MONDAY']['Values'] = array(17.0, 19.0, 21.0, 23.0, 17.0);
$result = HMXML_setTempProfile(35168 /*[Wohnung 1\Wohnzimmer\Wandthermostat\Sollwerte]*/, $tempProfileNew);

kommen diese nur irgendwie komisch an.
Programm aus dem WT für Montag:

00:00 - 05:00 => 17,0°C
05:00 - 07:00 => 19,0°C
07:00 - 07:10 => 21,0°C
07:10 - 07:20 => 23,0°C
07:20 - 07:30 => 17,0°C
07:30 - 00:00 => 20,0°C

Wenn ich allerdings die Profile über ein Script abfrage, dann sieht mein Ergebnis wieder richtig aus.
Abfrage:

$SollwertID =35168 /*[Wohnung 1\Wohnzimmer\Wandthermostat\Sollwerte]*/;
$tempProfile = HMXML_getTempProfile($SollwertID, "MONDAY", true);

Ergebnis:


MONDAY
1: 00:00 -> 05:00 = 17 °C
2: 05:00 -> 12:00 = 19 °C
3: 12:00 -> 19:10 = 21 °C
4: 19:10 -> 24:00 = 23 °C

Mache ich hier was Falsch, oder hakts da woanders?

Gruß, Christian.

Hallo,

@zapp: SUPER! Vielen Dank!
@UH368: Wenn Du da was gebaut hast, lässt Du es uns/mich mal wissen? Ich habe eine HM Steuerung gebaut die auf sFHT aufbaut. Aber wie Du schon sagtest hat es gewaltige Vorteile alles direkt an die Thermostate zu schicken.
Aber man muss natürlich schon überlegen wie man z.B. mit Feiertagen umgeht… oder auch längerer Abwesenheit, so dass man dann ferngesteuert die Heizung wieder einstellen kann. Und dann natürlich (fast am wichtigsten) wie man den Config file gestaltet, in dem die Temperaturprofile, Feiertage, etc stehen (siehe auch sFHT).

Gruss

gros_ibou

Hallo,

Danke für den Feedback. Schön, dass die Bibliothek euch gefällt und hilfreich ist.
Die Heizungsteuerung mache ich selbst komplett über IPS aber zB die Profile direkt am WT richtig zu setzen oder den Regler schließen kann bei einem Ausfall helfen.

Eine neue Version mit Bug-fixes und zusätzlichen Funktionen könnt Ihr mit denselben Link aus meinem letzten Beitrag holen.

@ChristianS
Danke. Gut beobachtet! Ich hatte das selbst nach dem Versenden gar nicht auf dem WT überprüft und habe mich auf das Output der get Funktion verlassen. Die Werte wurden zwar richtig übergeben, aber die Interpretation war falsch. Ich hatte Boui’s Beitrag zu schnell gelesen und TIMOUT relativ zum vorigen Wert berechnet. Habe ich jetzt korrigiert.

@sschnake
Das konnte ich auch nicht finden. Ich denke, dass die Tag/Nacht Taste auf dem WT einfach nur SETPOINT für eine gewisse Zeit (nächste Temperaturänderung im Profil?) auf den jeweiligen Wert setzt und dadurch nichts in den Parametern ändern braucht.

Neue Funktionen:


HMXML_setTempLoweringValue(29123 /*[HM TC Instanz]*/, 16.0);
HMXML_setTempPartyValue(29123 /*[HM TC Instanz]*/, 21.0);
HMXML_setPartyEnd(29123 /*[HM TC Instanz]*/, 1, 1, 0);
...


Gruß,

Zapp

Dachte gar nicht, dass den überhaupt jemand gelesen hat. :slight_smile:

Selbst hatte ich mir nen Ersatz-WT zum IPS-Server gelegt und wollte Dein Werk am WE mal komplett testen aber dann kam ich doch nicht dazu.
Aber so ein Forum deckt alles auf. :smiley:

Hallo,

ich denke jetzt wirklich darüber nach meine ganze Heizungssetuerung in die Theromstate zu verlagern.

Was dazu wichtig wäre und was ich aus dem Code nicht direkt ersehen konnte ist:

(1) Kann man auch „weekdays“ und „weekend days“ evtl „all days“ setzen statt jeden Tag einzeln
(2) Kann man die „Fenster auf“-Temepratur setzen? Dazu habe ich nichts gefunden

@zapp: kannst Du mich da vielleicht erleuchten?

(3) Schön wäre es auch noch einstellen zu können ob das WT Luftfeuchtigkeit/aktuelle Temperatur oder Soll Temperatur anzeigt.

Das ist es was mir im Moment an (für mich - hoffentlich auch für andere) hilfreichen Fuktionen einfällt.
@zapp: wäre super, wenn Du das noch implementieren könntest

Gruss (und Dank)

gros_ibou

Hallo,

Darüber denke ich jetzt auch langsam nach :wink:
Ich habe aber viel Zeit verbraucht, die Heizungsteuerung in IPS zu implementieren und daher wird das über WT bei mir wohl zur Zeit nur als „Backup“ dienen.

  1. Dafür gibt es keine Parameter im WT aber das könnte leicht über eine Funktion gemacht werden
  2. Die Temperatur bei offenem Fenster habe ich auch bisher vergeblich gesucht.
  3. Das geht direkt über Parameter

Implementiere ich gerne aber ich werde jedoch nicht vor dem Wochenende dazu kommen, da ich gerade unterwegs bin.

Gruß,

Zapp

Danke! Muss ja nicht sofort sein:).

zu (1). Ist klar, dass das einfach mit einer Funktion zu machen ist. Aber ich wollte auch den Datenverkehr zur Homematic begrenzen, oder ist das Deiner Erfahrung nach kein Problem?

Viele Grüsse

gros_ibou

PS: Ich hab auch viel Zeit mit meiner IPS gesteuerten Heizungskontrolle verbracht und es tut deshalb etwas weh sie ausser Betrieb zu nehmen :mad:.

Aber zumindest bei mir kann man wenn man jetzt einfach die Temperaturprofile ins WT schickt (und beispielsweise an einem Feiertag einfach für den entsprechenden Tag das Sonntagsprofil schickt - und am Ende des Tages wieder zurücknimmt) gewaltig entrümpeln. Deshalb mache ich es glaube ich trotz allem.

Hallo,

hab jetzt angefangen mit den Funktionen zu spielen.

Bei folgendem Beispiel von Zapp

$tempProfileNew = array();
$tempProfileNew['MONDAY']['EndTimes'] = array("06:30","08:30","16:30","22:00","24:00");
$tempProfileNew['MONDAY']['Values'] = array(17.0,20.0,17.0,19.5,17.0);
$result = HMXML_setTempProfile(29123 /*[HM TC Instanz]*/, $tempProfileNew);

bekomm ich diese Fehlermeldung

Notice:  Undefined variable: previousTimeEnd in C:\IP-Symcon\scripts\hmxml.inc.php on line 230

Jemand eine Idee?

Gruss
gros_ibou

24:00 Uhr gibt es nicht. Wenn, dann 00:00 Uhr.

Hatte schon 23:50 probiert. Gleiches Problem!