Verbindung Hm und HmIP

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Antworten
dmsh
Beiträge: 4
Registriert: 10.06.2021, 22:06
System: CCU

Verbindung Hm und HmIP

Beitrag von dmsh » 10.06.2021, 23:23

Wahrscheinlich verfallen bei diesem Betreff gleich einige in Panik. Schon wieder das nie enden wollende Thema...
Eigentlich geht es auch darum.
Ich habe in meinem Wintergarten drei Dachfenster mit TFK's HMIP-SWDO, einem Wandthermostat HM-TC-IT-WM-W-EU und fünf Heizkörper mit
HM-CC-RT-DN Thermostaten. Das Wandthermostat und die Heizungsthermostate sind direkt verknüpft.
Normalerweise erstelle ich eine Gruppe und alles funktioniert bestens, aber... - geht nicht, weiß ich auch.
Das Wandthermostat wird nur manuell bedient und ich brauche nur die Funktion der "Fenster Auf" - Erkennung.
Nun dachte ich, ich schreibe ein kleines Script, welches diese Funktion übernimmt.

1. Wenn ein Fenster geöffnet wird, wird eine Systemvariable auf False gesetzt. (das funktioniert)
2. Diese Systemvariable ruft "bei Änderung" ein Scirpt auf. (das funktioniert)
3. Das Script liest den aktuellen Sollwert vom Wandthermostat aus und speichert ihn in einer weiteren Systemvariablen. (das funktioniert)
4. Das Script setzt den aktuellen Sollwert auf z.B. 8°C. (das funktioniert auch, allerdings etwas verzögert)
5. Wenn alle Fenster geschlossen sind, soll der gespeicherte Sollwert wieder an das Wandthermostat übergeben werden - und das geht nicht. Die Thermostate bleiben auf 8°C.

Hier nun mein Script:

Code: Alles auswählen

var svDachfenster = dom.GetObject("SV WG-Dachfenster").Value();
var AktuellerSollwert;
var GespSollwert;
var AbsenkTemp = 8.0;

! Wenn alle Fenster geschlossen sind
if (svDachfenster)
 {
  GespSollwert = dom.GetObject("SV Soll-Temp WG").Value();
  dom.GetObject("BidCos-RF.OExxxxxxxx:2.SET_TEMPERATURE").State(GespSollwert); 
 }
else  ! Wenn ein oder mehr Fenster geöffnet werden
 {
  AktuellerSollwert = dom.GetObject("BidCos-RF.OExxxxxxxx:2.SET_TEMPERATURE").Value();
  dom.GetObject("SV Soll-Temp WG").State(AktuellerSollwert);	
  dom.GetObject("BidCos-RF.OExxxxxxxx:2.SET_TEMPERATURE").State(AbsenkTemp);
 }
 
Der else-Zweig scheint zu funktionieren, das kann ich am Status der Systemvariablen sehen. Die Thermostate gehen ja auch auf 8°C.
Beim Schließen der Fenster (if-Zweig) passiert allerdings nichts.
Vielleicht hat ja jemand eine Idee...

Vielen Dank im Voraus
Dirk

MichaelN
Beiträge: 2377
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 179 Mal
Danksagung erhalten: 310 Mal

Re: Verbindung Hm und HmIP

Beitrag von MichaelN » 10.06.2021, 23:47

Dann wird die svDachfenster wohl nie true.

Xel66
Beiträge: 9522
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 122 Mal
Danksagung erhalten: 613 Mal

Re: Verbindung Hm und HmIP

Beitrag von Xel66 » 11.06.2021, 08:59

Ich habe eine ähnliche Lösung für die verzögerte Sollwertabsenkung für das Thermostat im Flur. Erst wenn die Haustür größer eine Minute offen steht, dann wird der Sollwert abgesenkt, damit nicht bei jeder Haustüröffnung das Heizkörperthermostat über den kompletten Stellbereich läuft und dabei die Batterien leernuckelt. Die Lösung funktioniert ohne jegliches Script. Ich habe einfach eine Systemvariable vom Typ Zahl erstellt und beim Öffnen der Tür wird die aktuelle Solltemperatur dort reingeschrieben. Beim Schließen der Tür wird der Sollwert ausgelesen und zurückgeschrieben. Auch ohne Script - einfach über Zuweisung über den weißen Zettel hinter der Solltemperatur.

Gruß Xel66
-------------------------------------------------------------------------------------------
343 Kanäle in 118 Geräten und 264 CUxD-Kanäle in 33 CUxD-Geräten:
282 Programme, 246 Systemvariablen und 144 Direktverknüpfungen,
RaspberryMatic Version 3.55.10.20210213 + Testsystem: CCU2 2.53.27
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

dmsh
Beiträge: 4
Registriert: 10.06.2021, 22:06
System: CCU

Re: Verbindung Hm und HmIP

Beitrag von dmsh » 11.06.2021, 20:03

Danke für eure Antworten.
Die Variable svDachfenster wird noch für andere Funktionen verwendet und die laufen fehlerfrei. Also wird die Variable auch true.

Der Vorschlag von Xel66 ist gut, aber irgendwie krieg ich es nicht hin. Meine Systemvariable für den Sollwert ist vom Typ Zahl und ich mache es wie im WebUI-Handbuch S.91 beschreiben. Bei mir fehlt allerdings das kleine Zettelchen...
Irgendwas übersehe ich wohl noch.

MichaelN
Beiträge: 2377
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 179 Mal
Danksagung erhalten: 310 Mal

Re: Verbindung Hm und HmIP

Beitrag von MichaelN » 11.06.2021, 20:08

Deine Fehler Analyse ist nicht vollständig. Tipps zum debugging siehe Signatur.

dmsh
Beiträge: 4
Registriert: 10.06.2021, 22:06
System: CCU

Re: Verbindung Hm und HmIP

Beitrag von dmsh » 11.06.2021, 21:26

So, ich habe mir ein paar Dinge angesehen.
Ich habe am Wandthermostat eine Solltemp. von 17,5°C eingestellt und dann ein Fenster geöffnet.
Wenn ich das Script starte, wird der aktuelle Sollwert gespeichert und dann die Absenktemperatur (8°C) an das Wandthermostat gesendet.
Da ich nicht direkt den Sollwert am Wandthermostat ändere, werden die Werte erst nach 1-2 Minuten an die Heizungsthermostate geschickt. Ist nicht schlimm, aber was nun der Unterschied zwischen Sollwert schreiben und Sollwert am Rädchen einstellen ist, ist mir unklar.
Unter Status und Bedienung sehe ich auch, daß die Systemvariable "SV_SollTempWG" korrekt beschrieben wurde.

Bild

Jetzt schließe ich wieder alle Fenster und... kann aufhören zuschreiben :shock:
Ich habe keine Ahnung warum, aber nun geht es. Eigentlich habe ich nur den Namen der Systemvariablen geändert. Ich habe mal irgendwo gelesen, das SV's mit Leerzeichen Probleme machen können. :?:

Mich würde trotzdem interessieren wie Xel66 das ohne Script gemacht hat - man wird ja davon nicht blöder.

Also, vielen Dank
Dirk
Dateianhänge
FensterAUF.JPG

Benutzeravatar
shartelt
Beiträge: 4014
Registriert: 14.01.2015, 14:59
Hat sich bedankt: 93 Mal
Danksagung erhalten: 215 Mal

Re: Verbindung Hm und HmIP

Beitrag von shartelt » 11.06.2021, 21:29

man konnte doch den Fenster Auf status im WTH direkt setzen per Programm oder?

dmsh
Beiträge: 4
Registriert: 10.06.2021, 22:06
System: CCU

Re: Verbindung Hm und HmIP

Beitrag von dmsh » 11.06.2021, 21:41

Habe auch gedacht. Aber in der Scriptbeschreibung Teil4_Datenpunkte finde ich unter dem HM-TC-IT-WM-W-EU nur das:
Parameter WINDOW_OPEN_REPORTING
Typ: boolean
Zugriffsart: lesend, über Ereignisse
Standardwert: false

Da ich diesen Datenpunkt nur lesen kann, habe ich es nicht weiterverfolgt.
Sonst wäre das natürlich am schönsten.

Antworten

Zurück zu „HomeMatic allgemein“