Heizungsthermostatscript

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

sambasamba
Beiträge: 1602
Registriert: 16.08.2009, 23:18
Wohnort: Landau/Südpfalz
Hat sich bedankt: 21 Mal
Danksagung erhalten: 4 Mal

Re: Heizungsthermostatscript

Beitrag von sambasamba » 15.02.2010, 13:36

Hallo Script-Profis,

hat evtl. jemand von Euch Lust das:

string zeitleiste_mon = "000000000000012210000000000000000011222233321110";

durch eine komfortablere Bedienoberfläche zu ersetzen?
...So etwa wie im webUI die RTs programmiert werden, oder eine andere (komfortable) (web) - Oberfläche?

Volkmar

erik
Beiträge: 776
Registriert: 31.10.2007, 13:32
Hat sich bedankt: 6 Mal
Danksagung erhalten: 6 Mal

Re: Heizungsthermostatscript

Beitrag von erik » 15.02.2010, 16:09

Hi Volkmar,

leider kann ich Dir nicht sagen, wie man ein Webfrontend dazu programmiert. Auch sehe ich nicht wirklich einen Sinn darin, denn täglich braucht keiner die Thermostate zu programmieren. Habe durch eine Ergänzung auch den schnellen Wechsel zwischen den Konfigs ermöglicht.

Die Programmierung ist eigentlich auch schnell gemacht. Alles in einen Editor kopieren, überschreiben einschalten und die Zeitleisten entsprechend setzen. Das geht in weniger als 1 Minute, mit nachdenken, ist das ganze in 3 Minuten erstellt. :-)

Wenn jemand dazu ein Webfrontend erstellen möchte, dann würde ich mich freuen, wenn er dies hier im Forum postet.

Volkmar - wie stellst Du Dir das Webfrontend vor. Die Lösung zur Zeitprogrammierung der Thermostate in der WebUI finde ich alles andere als gelungen. Das ganze klicken ist schon nervig und dauert ewig. Hast Du ein Konzept, wie man das in einer Weboberflächte komfortabel darstellen soll, mit der jetzigen Flexibilität?

Bis später

Erik

CoolmanHB
Beiträge: 112
Registriert: 14.02.2010, 20:33
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 9 Mal
Danksagung erhalten: 6 Mal

Re: Heizungsthermostatscript

Beitrag von CoolmanHB » 15.02.2010, 18:29

Hallo Erik,

so ich habe das Script durch den Parser "geschickt"...
.. hilft das weiter ?

Ich hoffe nicht das das -> 1970-01-01 00:59:59 das heutige Datum sein soll :?:

Gruß Rüdiger

<xml><exec>/post.exe</exec><sessionId></sessionId><httpUserAgent>User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)</httpUserAgent><raum>Wohnzimmer</raum><grad_0>19</grad_0><grad_1>20.500000</grad_1><grad_2>21.000000</grad_2><grad_3>21.500000</grad_3><grad_4>22.500000</grad_4><grad_5>23.500000</grad_5><grad_6>25</grad_6><grad_7>27</grad_7><grad_8>0</grad_8><grad_9>100</grad_9><grad_fenster>6</grad_fenster><grad_urlaub>16</grad_urlaub><grad_gaeste>24.500000</grad_gaeste><grad_aa>19</grad_aa><deltaStdMin>02:00</deltaStdMin><woche>3</woche><leiste>1</leiste><zeitleiste_mon>000000000555555000000000000000555555555555555555</zeitleiste_mon><zeitleiste_die>000000000555555000000000000000555555555555555555</zeitleiste_die><zeitleiste_mit>000000000555555000000000000000555555555555555555</zeitleiste_mit><zeitleiste_don>000000000555555000000000000000555555555555555555</zeitleiste_don><zeitleiste_fre>000000000555555000000000000000555555555555555555</zeitleiste_fre><zeitleiste_sam>000000000555555005555555555555555555555555555555</zeitleiste_sam><zeitleiste_son>000000000000000011155555555555555555555555555555</zeitleiste_son><debug>1</debug><stunde>2</stunde><minute>0</minute><setdelta>7200</setdelta><prioritaet>0</prioritaet><soll_neu>23.500000</soll_neu><myAssembly>Wohnzimmer</myAssembly><itemID>1434</itemID><offen>0</offen><item>Wohnzimmer:3</item><device>Wohnzimmer.Thermostat</device><regler>BidCos-RF.FEQ0055645:2.SETPOINT</regler><soll_ist>23.500000</soll_ist><myChannel>Wohnzimmer.Schiebet�r:1</myChannel><id>1295</id><func>Verschluss</func><timestamp_svar>1266185706</timestamp_svar><partytemperatur>-1.000000</partytemperatur><solltemperatur>0.000000</solltemperatur><tag>1</tag><zeitleiste_heute>000000000555555000000000000000555555555555555555</zeitleiste_heute><add>1</add><sTime>35</sTime><heizwert>5</heizwert><zeitleiste_gestern>��</zeitleiste_gestern><alter_heizwert>5</alter_heizwert><soll_alt>23.500000</soll_alt><now>1970-01-01 00:59:59</now><settime>null</settime><diff>0</diff><regler_gesetzt>0</regler_gesetzt><stdout>��</stdout><stderr>��</stderr></xml>
@TinkerS - CCU3 boxed Metall… und Dualbeam-Antenne -
:wink:
Die Anzahl der Funkkanäle hängt vom Gerätetyp (z. B. Schaltaktor oder Wandtaster) ab. Typerweise können 100 bis 120 Funk-Geräte und 127 Wired Geräte angelernt werden

erik
Beiträge: 776
Registriert: 31.10.2007, 13:32
Hat sich bedankt: 6 Mal
Danksagung erhalten: 6 Mal

Re: Heizungsthermostatscript

Beitrag von erik » 15.02.2010, 19:23

Hi Rüdiger,

danke für den Trace - da hat sich doch wirklich an zwei Stellen ein Bug eingschichen:
Es wurde in Zeile 137 und 161 noch die Variable "Solltemperatur" genutzt, die Petrus aber in "Soll_neu" geändert hatte. Dadurch wurde eine nicht gesetzte Variable in den Regler gesetzt, der dann auf Null "0" gesetzt wurde.

Schau mal, ob Version 1.6.6 besser läuft.

Grüße

Erik

Petrus
Beiträge: 135
Registriert: 13.01.2010, 20:53
Hat sich bedankt: 1 Mal
Danksagung erhalten: 25 Mal

Re: Heizungsthermostatscript

Beitrag von Petrus » 15.02.2010, 19:33

Hallo Erik,

das mit der falschen Variable habe ich bereits gemerkt und behoben. Auch alle anderen Updates eingebaut.

@CoolmanHB (Rüdiger)
Immer mit der Ruhe, am korrekten Script - auch an das, welches du mir zugesendet hast - wird fieberhaft gearbeitet.

In Kürze ist wieder Licht am Ende des Tunnels. :)

Gruß
Peter

CoolmanHB
Beiträge: 112
Registriert: 14.02.2010, 20:33
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 9 Mal
Danksagung erhalten: 6 Mal

Re: Heizungsthermostatscript

Beitrag von CoolmanHB » 15.02.2010, 20:49

Hallo Erik, Hallo Petrus

ich bin doch ganz ruhig... :D
.. bin doch nicht verrückt jemanden zu drängeln der einen von den Namen s.o trägt !(wer weiss wer dahinter steckt)

Spass beiseite...

1.6.6 läuft es klappt alles !

vielen vielen Dank für die Hilfe von euch beiden.
... Eure Hilfe ist nicht selbstverständlich,das kenne ich leider aus "anderen" Foren...

Gruß Rüdiger
@TinkerS - CCU3 boxed Metall… und Dualbeam-Antenne -
:wink:
Die Anzahl der Funkkanäle hängt vom Gerätetyp (z. B. Schaltaktor oder Wandtaster) ab. Typerweise können 100 bis 120 Funk-Geräte und 127 Wired Geräte angelernt werden

sambasamba
Beiträge: 1602
Registriert: 16.08.2009, 23:18
Wohnort: Landau/Südpfalz
Hat sich bedankt: 21 Mal
Danksagung erhalten: 4 Mal

Re: Heizungsthermostatscript

Beitrag von sambasamba » 15.02.2010, 21:44

Hi Erik und die anderen,
ich sehe den Vorteil der Programmierung à la webUI halt in der Idiotensicherheit (zähle ich mich auch dazu).
Man kann halt nix versauen. Wie Du sagst, es geht dafür etwas langsamer... das nehme ich dafür gern in Kauf.
Also die RT-Programmierung im webUI könnte meine Excelfrau auch, aber mit Editor im Script rumwühlen, besser nicht.

Nein, ne gute Idee hab ich nicht, aber ich finde die Lösung im webUI garnicht schlecht. Beliebige Temperaturen zu beliebigen Zeiten, was will man mehr. 2-3 Klicks pro Wertepaar, ist akzeptabel.
Volkmar

Dirty Coyote
Beiträge: 54
Registriert: 09.11.2009, 14:44
Wohnort: Wien / AT

Re: Heizungsthermostatscript

Beitrag von Dirty Coyote » 26.02.2010, 11:26

Das Script wertet nicht den Status der Fenster-Drehgriffsensoren aus - diese dienen bei mir jedoch der "Fenster offen"-Erkennung. Habe deshalb die Codezeile der Abfrage mit dem Typ (HM-Sec-RHS) ergänzt. Das funktioniert und sieht folgendermaßen aus.

Code: Alles auswählen

if ((device.HssType() == "HM-Sec-SC") || (device.HssType() == "HM-LC-Bl1-FM") || (device.HssType() == "HMW-LC-Bl1-DR")  || (device.HssType() == "HMW-Sen-SC-12-DR") || (device.HssType() == "HM-Sec-RHS")) {
Eventuell in einer nächsten Version fix ergänzen?

LG
Michael

erik
Beiträge: 776
Registriert: 31.10.2007, 13:32
Hat sich bedankt: 6 Mal
Danksagung erhalten: 6 Mal

Re: Heizungsthermostatscript

Beitrag von erik » 28.02.2010, 17:31

Hi Michael,

vielen Dank für Deine Ergänzung. Ist nun ab Version 1.7.1 mit eingebaut.

Grüße

Erik

ErZett

Re: Heizungsthermostatscript

Beitrag von ErZett » 15.05.2010, 19:12

Hallo Eric,

geniales Skript. Ich wollte zunächst selbst ein ähnliches Skript schreiben, aber Dank Deines genialen Skriptes ist dies absolut unnötig.

Seit ca. 6 Wochen verwende ich Dein Skript und es funktionierte absolut fehlerfrei. Nachdem ich vor zwei Tagen mit der Umsetzung der Heizperiode begann, habe ich erhebliche Probleme. Bis zu diesem Zeitpunkt existierte die Systemvariable Heizperiode bei mir noch nicht. Nachdem ich die Variable definiert hatte, begannen die Probleme.

Wenn die Variable Heizperiode auf "Wahr" steht, werden die Raumthermostate richtigerweise auf "On" gesetzt. Steht die Variable aber auf "Falsch", werden alle Thermostate auf "Off" gesetzt. Alle anderen Variablen finden keine Berücksichtigung mehr.

Ein Löschen der Variable aber auch das Zurücksetzen der Zentrale in die Werkseinstellung und anschließende Neukonfiguration mit Deinem Skript brachte keine Lösung.

Auch nach zweitägiger Suche und zahlreichern Versuchen konnte ich den Fehler nicht eingrenzen.

Ich hoffe, Du hast den entscheidenden Tip für mich.

Grüße Rainer

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“