Antworten
Apr 11, 2024 - 17:18
Hallo Simon,
im AM ist "Intervall" nur als Trigger vorgesehn.
Ich denke dieser Intervall ist so zu verstehen, das intervallmäßig (regelmäßig) etwas getriggert werden soll und der Intervall im AM bezieht sich ja auch nur auf einen beliebige Uhrzeit und keinen Wertebereich.
Im Gegensatz zum Intervall in z. B. in einer Regel, da ist es: "Definition des Intervall können sie Zahlenwerte für Untergrenze und Obergrenze eingeben".
Was ist dein Ziel, warum du Intervall in einen eingerückten Falls-Block brauchst? Kannst du ein Beispielmal reinkopieren?
Wenn du du eine Zeitspanne in einer untergeordneten Ebene bei Falls brauchst, musst du mit einer Und-Verknüpfung und "> oder > oder >= oder <=" arbeiten.
Hilft das? Ansonsten nochmals melden.
Grüße aus Mainfranken
Robert
Apr 18, 2024 - 10:00
ich antworte wegen den Bildern wieder hier.
Warum gehen die Wandthermostate nicht, ich denke das sollten wir weiter verfolgen., Werden diese im AM nicht angeboten?
Ich setze HmIP-STHD ein. Die liegen zwar auf eine CCU aber das sollte egal sein.
Ich habe hier auch mal schnell ein Besispiel zusammen geklickt (wenn es auch keine Sinn gibt die Kaffeemaschine anzuschalten wenn es im Schlafzimmer kalt wird - oder warum eigntlich nicht :-) ).
Im zweiten Bild sieht du was als Status zum triggern möglich wäre
Gruß Robert
Von
Hallo Robert,
danke für deine Antwort. Also ganz grundlegend möchte ich meine Heizungssteuerung programmieren. Meine prinzipiellen Anforderungen an die Steuerung sind:
1. Es müssen verschiedene Betriebsmodi für die Heizung ausgewählt werden können (Sommer, Winter, Übergangszeit, etc.). --> habe ich bereits von der Logik her umgesetzt
2. Sobald einer der Betriebsmodi aktiviert ist, muss die Soll-Temperatur in den jeweiligen Räumen automatisch gesetzt werden und mit der zuvor gesetzten Ist-Temperatur verglichen werden --> habe ich bereits von der Logik her umgesetzt
3. Es muss möglich sein, in den Automatismus manuell eingreifen zu können, Bsp.: Ich bin in einem der Zimmer und stelle fest, dass es mir momentan dort zu kalt ist. Dann muss es möglich sein über das Thermostat oder die App die Temperatur manuell auf einen Wert festzulegen, der dann auch nicht überschrieben wird --> das habe ich aktuell über die beiden Betriebsmodi am Thermostat (Homematic IP) gelöst. Im Automatik-Modus soll die Automatiklogik durchlaufen. Möchte ich manuell eingreifen, dann muss ich entweder am Thermostat auf "Manuell" stellen oder in der App auf einen Button drücken. Das scheint auch recht gut zu funktionieren.
Ganz grundsätzlich ist es aktuell so, dass ich alle Logiken im AM mit dem Intervall triggere. Ich frage mich einfach, wie sinnvoll dieser Trigger ist oder ob ich einen Denkfehler habe? Die Logik für die automatisierte Heizungssteuerung läuft alle 50 Sekunden durch. Und wenn ich dann eingestellt habe, dass zwischen 00:00 Uhr und 5:00 Uhr eine Temperatur von 17 Grad in einem Zimmer sein sollen, dann überprüft er das eben auch alle 50 Sekunden. Aber ein anderer Trigger fällt mir nicht ein. Ich weiß nicht, ob man mir schriftlich folgen kann, aber ich kann auch gerne nochmal einen Auszug aus meinem Task bereitstellen.
Danke für eure Inputs und Rückmeldungen.
Beste Grüße
Simon
Von
Hallo Simon,
dein Task scheint ja ziemlich komplex zu sein und es ist schwer ohne Zusatzinfos Tipps zu geben, aber mein Angebot steht (gerne auch über eMail da passen mehr Anlagen rein) wenn du mal nicht weiterkommst. Aber ich glaube du weisst wovon du sprichst und bist deinem Ziel schon nah.
Zum Thema Intervall als Trigger. Klar ist das eine gute Methode mit einem Intervall solche Steuerungen aufzubauen. Ja, du könntest auch die eine Temperaturänderung von einem Sensor als Trigger nehmen, aber du wirst da viele einzelne Task bekommen. Und wenn du mit verschiedenen Modi arbeitest wir das unübersichtlich. Ich denke für deine Modis hast du Systemvariable als Ganzzahl aus dem AM genommen? So kannst du den aktuellen Modi an der Fernbedienung sehen und ändern.
Mir wären jedoch mit meiner Erfahrung, gerade mit HmIP-Geräten (womöglich noch auf eine CCU?), 50 sec viel zu kurz für eine Intervall. Heizungen arbeiten in der Regel mit Wasser als Wärmeträger und Wasser ist im Regelkreis träge. Ich selbst arbeite bei Heizungssteuerungen bzw. Überwachungen in der Kombi Mediola V6 plus und zwei CCU2 mit einem Intervall von ca. 10 Minuten und da ich mehrere Tasks mit Intervall habe, arbeite ich mit unrunden Werten (als 9.53 oder 10.03 usw.) damit die Trigger möglichst wenig gleichzeitig zusammentreffen.
Ich hatte noch nie Probleme mit meinen 125 Task’s auf dem V6, aber der Hintergrund ist hierbei das System möglichst wenig zu belasten (vor allem bei HmIP), aber auch speziell bei gezielten Abfragen der Sensoren wird das Ganze so batteriesparend.
Grüße vom Main
Robert
Von
Ganz grundsätzlich möchte ich natürlich möglichst wenig Last auf dem Server haben, aber ich habe noch keine anderen Möglichkeit gefunden, ohne die Intervall-Funktionalität zyklische Prüfungen durchführen zu lassen. Aber dann muss jedes mal der komplette Task durchgenudelt werden, daher mal der Ursprung meiner Frage, warum man diese Intervall-Funktionalität nicht in einem FALLS-Block verwenden kann. Damit könnte ich meine Tasks wesentlich effizienter gestalten. Folgendes Beispiel:
Ich möchte aufgrund der Soll-/Ist-Temperatur an einem Thermostat einen Heizungsaktor steuern. Recht simpler Anwendungsfall. Aber dieser Soll/Ist-Vergleich muss im Grunde zyklisch überprüft werden. Nimmt man dann die Intervall-Funktion, dann läuft der komplette Task jedes mal durch, eben auch dann, wenn keine Temperaturänderung am Thermostat erfolgt ist.
Wie bereits oben geschrieben habe ich Heizungsprofile bei mir hinterlegt. In Abhängigkeit der Heizprofile werden entsprechende Temperaturen in den Räumen eingestellt. Meine Ursprungsidee ist gewesen, dass in der SOBALD-Bedingung die Aktivierung eines des Profile gesetzt wird. Würde prinzipiell auch funktionieren. Allerdings habe ich dann das Problem, dass keine zyklische Überprüfung der Temperaturen in den Räumen erfolgen kann, da ich die Intervall-Funktion nicht in einem FALLS-Block anwenden kann. Dadurch ist es mir auch nicht möglich, händische Eingriffe in die Temperatur-Steuerung vorzunehmen. Ich baue also einen recht langen Task und die Startbedingung ist das eingestellte Intervall. Das hätte ich gerne anders gehabt, um effizienter zu sein. Wenn ich beispielsweise die Intervall-Funktion in einem FALLS-Block hätte nehmen können, dann könnte ich immer nur einen kleinen Teil eines Tasks zyklisch überprüfen lassen und nicht den kompletten Task. Vielleicht ist es dem Server auch egal und ich mache mir sinnlos Gedanken dazu, aber irgendwie fühlt es sich nicht effizient an, immer die Intervall-Bedingung als Startpunkt zu verwenden.
Von
Hallo Simon,
wie gesagt, du könntest auch einzelne Task machen (Je Thermostat), dann ist die Temperatur je Thermostat dein Trigger. Und du brauchst ja eh eine Systemvariable für deine Modis und die musst du dann jeweils verarbeiten.
Liegen deine HmIP Thermostate und Aktoren auf eine CCU? Dann gingen auch Direktverknüpfungen, jedoch weis ich nicht ob dann deine Modis gehen.
Gruß Robert
Von
Hallo Robert,
das geht leider nicht. Ich kann bei meinen Thermostaten keinen Trigger verwenden, der aufgrund einer Temperaturänderung startet. Ich nutze die Homematic IP Wandthermostate an einem Mediola Gateway V6+. Eine CCU nutze ich nicht. Aktuell sieht meine prinzipielle Logik folgendermaßen aus:
SOBALD <Intervall>
FALLS <Heizprofil 1>
FALLS <Heizprofil 2>
FALLS <Heizprofil x>
Innerhalb der Heizprofile setze ich in Abhängigkeit von festgelegten Zeiträumen SOLL-Temperaturen und vergleiche mit den aktuellen IST-Temperaturen an dem jeweiligen Thermostat. Sobald die IST-Temperatur <= SOLL-Temperatur, dann werden Aktoren zur Steuerung der Heizungen verwendet. Ich habe bei uns IF-Heizungen und el. Fußbodenheizungen verbaut.
Momentan nutze ich noch den Onboard-Heizplan des Mediola-Gateways, aber der hat den massiven Nachteil, dass der AM nicht darauf zugreifen kann. Mit diesem Heizplan setze ich aktuell lediglich aut. die SOLL-Temperaturen in den jeweiligen Räumen und vergleiche im AM über ein Skript die IST- mit den SOLL-Temperaturen und starte dann Aktoren oder schalte sie aus. Funktioniert auch, aber mit den Heizprofilen wird es einfach etwas komplxer, sodass ich nun weg kommen möchte von den Onboard-Heizplänen.
Wie gesagt, von der Logik her ist das alles ok (denke ich jedenfalls), aber der Stil macht mir Sorgen. Eigentlich möchte ich immer nur den Teil zyklisch überprüfen, der auch über ein Heizprofil aktiviert wurde. Aber das ist offensichtlich so nicht möglich und ich muss immer den kompletten Task durchlaufen. Es würde mir schon reichen, eine UND-Verknüpfung im SOBALD-Block einbauen zu können, aber auch hier ist ja nur ODER möglich. Aufgrund der verschiedenen Zeiträume, den Zimmern und Temperaturen wird der Task natürlich ellenlang. Er ist nicht kompliziert, aber sehr lang. Daher wollte ich so effizient wie möglich bauen, aber jedes mal wenn ich weg bin von der Intervall-Bedingung als Trigger, entdecke ich eine andere Krücke, die mir den Weg dann wieder verbait.
LG
Simon
Neuen Kommentar hinzufügen