Heizung Regelung/Kompaktansicht

Hallo zusammen,

nachdem ich jetzt bestimmt schon 2 volle Tage vergeblich gesucht, probiert und geflucht habe, muß ich doch das Schwarmwissen abfragen:

Ich hatte auf meinem Android eine App „BlueHome“ in der ich echt kompakt und funktionell meine Heizungen der einzelnen Räume steuern konnte. s.Anhang
Man konnte Bequem den Status umschalten, Temperaturen einstellen (Und das nur, wenn auf Komfort geschalten war), und man bekam sowohl Soll als auch Ist-Wert angezeigt.
Dazu benötigt wurde in der Konfig des Buttons nur; Adresse des Objektes Betriebsartvorwahl, Sollwert Komfort, und aktueller Sollwert.

Aber wie setze ich das nun aus IPSView um? Ich hatte es zwar schon einmal geschafft, per + und - Buttons den Sollwert zu verstellen, hatte dummerweise das script im Button implementiert, und nach ersten tests gelöscht. Und ich finde den Foreneintrag nicht mehr, bei dem ging es eigentlich um etwas anderes und hatte es nur durch Zufall entdeckt.
Ich will eine Verstellung nur, wenn Komfort aktiv ist (So wie es der Button auch macht)
Die App ist soooo banal, und in IPSView bekomm ich das nicht gebaut :stuck_out_tongue: :smiley:

Wie sieht das denn beide Dir im Objektbaum aus bzw. was für ein Gerät wird gesteuert? Ich rate mal KNX und Du das eine Variable mit der aktuellen Temperatur zur Verfügung hast.

Dann ist es ausreichend zwei kleine Skripte zu haben, die Du dann auf die + bzw. - Button legst

Temp erhöhen


$stepsize = 0.5; // Um wieviel soll die Temperatur beim Knopfdruck erhöht werden
$currenttemp = GetValue(23456); // Temperaturwert auslesen
$nexttemp = $currenttemp + $stepsize;
EIB_FloatValue(12345,$nexttemp);

Temp erniedrigen


$stepsize = 0.5; // Um wieviel soll die Temperatur beim Knopfdruck erniedrigt werden
$currenttemp = GetValue(23456); // Temperaturwert auslesen
$nexttemp = $currenttemp - $stepsize;
EIB_FloatValue(12345,$nexttemp);

Moin,

ja genau, KNX. Vergeß das immer, dass nicht immer alles KNX ist :smiley:

Ich hatte jetzt nochmal ne Nacht drüber geschlafen, und mein Schnellschuß gerade sieht sehr ähnlich aus mit Deinem Vorschlag.
Da ich das Kommunikationsobjekt „Sollwertverschiebung“ zur Verfügung habe, arbeite ich nicht mit einer Temperatur (das waren meine ersten Versuche), sondern jetzt mit dem Versatz in K.

D.h. sieht im Schnellschuß von heute morgen mal ganz banal so aus:

$alt=GetValue(30033); aktuelle Variable Sollwertverschiebung
$neu=$alt+1;
EIB_Value(44156,$neu); KNX Instanz Sollwertverschiebung

Im Script Button unter PHP-Code für einen +1 Knopf

Da ich im Aktor einstellen kann, dass eine Sollwertverschiebung nur die Komfort Temperatur betreffen soll, funktioniert das mit meiner Vorstellung. Die Standby Temperatur soll eben immer gleich bleiben, nur wenn ein verfrorener Bewohner meint, die Komforttemperatur reicht gerade nicht aus, kann man sie hoch drehen. Bei einer Umschaltung auf den Standby oder Nachtmodus sollte die Verschiebung auch wieder gelöscht werden. so sagt es zumindest die Anleitung. werd ich noch sehen.
Ich habe auch noch das Kommunikationsobjekt mit Sollwert Komfort zur Verfügung, allerdings waren da meine ersten Versuche nicht befriedigend. Ich brauchte ja immer erst noch eine Basis für die +/- Berechnung, ausserdem wenn ich eine neue Komfort Temperatur setze, überschreibt sie das Programmierte im Aktor, und verschiebt damit auch die Temperatur im Standby Betrieb, da diese im Aktor als Verschiebung/Differnz in K programmiert ist.

Hatte ich also im ersten Versuch (Den ich dann nicht mehr rekonstruieren konnte) die Situation, dass eine Berechnung auf Basis des aktuellen und ausgegebenen Sollwerts völlig schief liefen, denn wurde der Sollwert des Standby angezeigt, abe ich den mit den Buttons erhöht, der dann wiederum als neuer Komfort Sollwert gesendet wurde, vom Aktor dann die programmierte Differenz wieder abgezogen wurde. Somit hat sich die Solltemperatur im Standby verringert, statt erhöht :smiley:

Aber wie gesagt, so scheint das jetzt mal für mich zu passen

Ich sehe aber, für die Schrittweite verwendest Du auch einen String, ich aber eine Zahl.
Gibt es da irgendeinen Vorteil?
Ich lerne noch in PHP :slight_smile:

Hallo,

ich habe das bei mir ohne Script eingebaut und funktioniert ohne Probleme.
Vielleicht funktioniert das bei dir auch so.

Gruß Micha

Den Range button hatte ich auch schon in den Fingern.

Nur sendet der nichts bei mir auf die Instanz.
Wenn ich auf die ID der Variable gehe, sehe ich auch, dass er funktioniert, aber ich müsste den WErt dann auch wieder auf die Instanz schreiben lassen.
Mit welchem System arbeitest Du?

Ich denke, ich habs jetzt so, wie ich es brauche:

Der Aktor läßt eine Sollwert Verschiebung nur auf dem Komfort Wert zu (kann man so programmieren)
Bei einer Betriebsartänderung setzt er den Komfort Sollwert auf den im Aktor programmierten Wert zurück, was den Sinn hat, dass grundsätzlich 21 Grad verwendet werden, nur wenn der Bedarf besteht, dass es mal wärmer sein soll, kann man im Komfort Betrieb die Temperatur erhöhen. Spätestens zur gesteuerten Nacht Umschaltung wird für den nächsten Tag wieder alles auf Basis zurück gesetzt.

Der Script Button enthält dann folgendes:
$alt=GetValue(52752); Holt sich den aktuell vorhandenen Wert für die Sollwertverschiebung aus einer Variablen (Falls schon mal was verstellt worden ist.

$neu=$alt-0.5; +/- für die Verschiebung pro Buttonbetätigung
setvalue(52752, $neu); Die Variable wird mit dem neuen Wert beschrieben
EIB_Value(44156,$neu); und dann an die KNX Instanz geschickt

Dazu habe ich ein event-Script, dass die Betriebsart überwacht, und bei Änderung die Variable auf 0 setzt. Hat den Sinn, dass auch wirklich vom Basis Komfortwert neu hoch/runter gezählt wird.
Nebeneffekt: Wenn jemand in der Betriebsart Standby versucht, die Temperatur zu verändern, wird die Variable zwar beschrieben, wenn er aber dann auf Komfort schaltet, wo diese Verschiebung auch erst möglich ist, wird vom Basiswert an neu verschoben.

Falls jemand das eleganter zu lösen weiß, ich bin lernfähig.
Ich bin meistens eher pragmatisch. was vlt. manchmal das ein oder andere umständlich macht :smiley:

Hallo,

ich nutze auch KNX,
ich habe gerade gesehen, das ich bei der Variable noch ein Script bei eigene Aktion hinterlegt habe.
Diese ist noch von der Bedienung aus dem Webfront, wenn ich diese löschen funktioniert der Button nicht.

Das Script hat folgenden Inhalt:


EIB_Value(IPS_GetParent($_IPS['VARIABLE']), $_IPS['VALUE']);

Ah Ok, das schickt scheinbar dann den Inhalt der Variablen, die Du über den Range Button beeinflußt, dann auf die Instanz, also and das KNX Device.

Ja, würde bei mir jetzt so auch funktionieren. Wäre nicht so aufwändig jetzt in der Umsetzung.
Allerdings bleibt so der Wert bei Betriebsartumstellung erhalten. Und ich kenn meine Pappenheimer… die drehen nicht wieder runter, wenn sie mal was verstellt haben :smiley: