Ich bin jetzt schon länger auf Homassistant umgestiegen und möchte es nicht mehr missen.
Leider habe ich aber auf Grund von noch einiges Scripten und Automationen das Problem das ich das auf Homeassistant nicht gebacken bekomme und meinen IoBroker noch parallel laufen habe.
Ein ganz besonderes Problem ist bei mir die Temperatursteuerung meiner Homematic Aktoren.
Im IoBroker habe ich folgendes Blockly Script erstellt.
Das Scipt macht folgendes: Wenn ich bei meinem Homematic Wandthermostat die Temperatur regle wird die eingestellte Temperatur auf die definierten Heizkörperthermostate übertragen. Die Thermostate sind alle im manuellen Modus. Da bedeutet das wenn ich beim Thermostat z.b im Schlafzimmer die Termperatur manuell verändere bleiben die restlichen Thermostate davon unberührt wie auch das Wandthermostat. Wenn ich dann wieder am Wandthermostat die Temperatur regle ziehen wieder alle Thermostate die eingestellte Temperatur nach.
Fragt mich bitte nicht nach der SInnhaftigkeit danach… Meine Frau will das so und fertig
Nun versuche ich schon sehr lange genau dieses Blockly Script mit den Automationen im Homeassistant nachzubilden.
Leider scheitere ich daran kläglich und komme nicht vor und zurück.
Das Problem was ich habe das ich zwar fixe Temperaturen bei Änderungen usw. einstellen kann aber keine Möglichkeit gefunden habe den Wert / Zustand von der Solltemperatur des Wandhtermostates auf die Heizkörperthermostate zu übertragen.
Irgendwie sehe ich hier den Wald vor lauter Bäume nicht mehr.
Ihr seid noch meine letzte Hoffnung mein Problem zu lösen und meine Frau wieder glücklich zu machen
Ich freue mich über jeden Hinweis oder Tipp diesbezüglich.
Sind die Homematic Geräte an einer CCU angemeldet?
Falls es z.B. nur um das eine Blockly geht und du es nicht direkt in HA gelöst bekommst, könntest du es ja vielleicht über ein kleines Programm auf der CCU steuern?
Erstmals vielen Dank für eure Antworten und Hinweise.
Ich bin jetzt mal dabei alles durchzugehen und zu verstehen.
Ich starte jetzt mal mit dem CCU Script und werde in dem Homematic Forum meine Frage stellen um hier On Topic zu bleiben.
Ich werde euch berichten wie weit ich damit gekommen bin.
Dann werde ich mich an eure anderen Tips heranmachen und probieren.
Du musst dafür in der CCU eine Gruppe erstellen und damit verknüpfst du das Wandthermostat mit den Heizkörperthermostaten.
Um eine vernünftige Regelung zu erreichen, brauchst du aber eigentlich in jedem Raum ein Wandthermostat. Ich nehme mal an, dass du im Schlafzimmer eine andere Temperatur haben möchtest als in den Kinderzimmern.
Dann misst das Wandthermostat die Raumtemperatur und regelt entsprechend die jeweilen Heizkörper in dem Raum. Das ist das tolle an den Thermostaten von Homematic oder auch Homematic IP. Nur dann nutzt du wirklich das komplette potential.
Ja das geht leider nicht so wie ich möchte. Denn wenn man ein Gruppe erstellt und die Aktoren miteinander verknüpft werden immer alle auf die gewünschte Temperatur geregelt und das möchte meine so Frau nicht… Sie möchte wirklich nur den Wandthermostat bedienen und dann sollen alle HKT die Temperatur übernehmen. Das Geht mit den Gruppen schon aber du kannst dann keinen HKT mehr einzeln verstellen da er im Verbund mit den anderen die auch nachregeln wird. Das ist eigentlich mein Problem mit den Gruppen.
Das es Sinn machen würde in jedem Raum einen Wandthermostat zu haben gebe ich dir recht. Aber leider hab ich das bei mir nicht so… Ich 0:1 Frau
Ah jetzt verstehe ich wo das Problem genau liegt und da gehen die Gruppen wirklich nicht, dass stimmt.
Ich hab gelernt, manchmal muss man die Frauen zu ihrem Glück bei Smart Home zwingen Wird Zeit, dass du auf 1:1 stellst
Aber zurück zum Thema, probiere die Automation von Sebastian aus und passe die Entitäten an, dass sollte das gleiche sein wie in deinem Blockly.
Kurzes Update für euch.
Ich habe es jetzt mit einem Homematic Script auf meiner CCU 3 geschafft danke der Unterstützung einiger Leute aus dem Homeamtic Forum.
Was mich aber weiterhin interessiert ist wie ich das in Homeassistant mit einer Automation trotzdem hinbekommen kann. Hier geht es mir ums lernen und mich weiter in die Materie zu bringen.
Sebastian15 hat mir ja schon ein Beispielscript gepostet.
Leider häng ich gedanklich da gerade fest wo ich das Script einbinde und ausführen lasse.
Bekomme einfache Automationen hin aber das scheint mir doch ein wenig schwieriger zu sein oder denke ich hier einfach zu kompliziert ?
Mein Homematic Script sieht wie folgt aus:
! Thermostatsteuerung für mehrere Räume mit einem Master-Thermostat
! Definieren des Master-Thermostats (Wandthermostat)
string masterThermostat = "OEQ1672911";
! Definieren der Slave-Thermostate (Heizkörperthermostate)
string arbeitszimmerThermostat = "OEQ1713397";
string badezimmerThermostat = "KEQ0518282";
string wohnzimmerThermostat = "OEQ1713808";
string kuecheThermostat = "OEQ1714121";
! Definieren der Temperaturdifferenzen für jeden Raum
real arbeitszimmerDiff = 0.0;
real badezimmerDiff = 0.0;
real wohnzimmerDiff = 0.0;
real kuecheDiff = 0.0;
! Aktualisierung aller Slave-Thermostate basierend auf dem Master
real temp_old = dom.GetObject("BidCos-RF." # masterThermostat # ":2.SET_TEMPERATURE").LastValue();
real temp_new = dom.GetObject("BidCos-RF." # masterThermostat # ":2.SET_TEMPERATURE").Value();
if (temp_old != temp_new)
{
dom.GetObject("BidCos-RF." # arbeitszimmerThermostat # ":4.SET_TEMPERATURE").State(temp_new - arbeitszimmerDiff);
dom.GetObject("BidCos-RF." # badezimmerThermostat # ":4.SET_TEMPERATURE").State(temp_new - badezimmerDiff);
dom.GetObject("BidCos-RF." # wohnzimmerThermostat # ":4.SET_TEMPERATURE").State(temp_new - wohnzimmerDiff);
dom.GetObject("BidCos-RF." # kuecheThermostat # ":4.SET_TEMPERATURE").State(temp_new - kuecheDiff);
}
Könnt ihr mich da vielleicht ein wenig in die richtige Richtung schubsen ?
Du benötigst kein Homematic Script. Wichtig ist nur, dass du die CCU3 in HA eingebunden hast und über die entsprechenden Entitäten verfügst.
Du kannst meinen exemplarischen Code kopieren und in eine neue Automation einfügen (YAML Ansicht). Anschließend musst du nur die Entitäten anpassen.
climate.wandthermostat Muss durch die Entität deines Wandthermostats ersetzt werden. Ganz unten kannst du alle Zielthermostate angeben (Liste beliebig fortführen).
PS: ich nutze selber eine CCU3 und steuere, bis auf die Direktverknüpfungen, alles in Home Assistant.
Ahh ich glaub schön langsam verstehe ich das. (Hoffe ich zumindest :-D)
Ich erstelle eine neue Automation und dann wähle ich hier in meinem Fall als Beispiel “neues Gerät” aus und switche auf Yaml ansicht und füge da den Code ein
Ich brauch dann auch kein “Und wenn” und “Dann” mehr sondern nur das Script unter “Sobald” am Laufen? ist das so richtig ?
Ganz richtig sollte meine Gedankengang nicht sein. Bekomme beim Speichern diese Meldung "Message malformed: required key not provided @ data[‘triggers’][0][‘trigger’]
"
Hab mit Yaml in den Automationen leider noch nichts gemacht und mir fehlt hier irgendwie das Verständnis dafür… Sorry
Nicht ganz. Du hattest jetzt nur den Auslöser in YAML bearbeitet.
Ganz oben rechts in der automation gibt es drei Punkte, damit klappst du das Menü auf und wählst in YAML bearbeiten.
Dann einfach den kompletten Inhalt durch meinen Code ersetzen.