NEWS
[Vorlage] Heizungsthermostatsteuerung - Script
-
Allerdings bekomme ich bei der Übergabe eines manuellen Setpoints folgende Meldung: `
Hi,
Sieht nach einem Fehler im Script aus. Der datenpunkt wird als boal angelegt, solle aber nummer sein.
Habe ich für die nächste version korrigiert.
hier ist die Stelle:
State = RoomPath + "View_Manually_Adjusted"; createState(State, false, {read: true, write: true, type: 'boolean', name: 'Zeitstempel Temperatur Absenkung bei Verschluss offen' , desc: 'Zeitstempel wenn ein Raum durch Fensteroeffnung auf Absenkung gestellt wurde'});
soll heissen:
State = RoomPath + "View_Manually_Adjusted"; createState(State, false, {read: true, write: true, type: 'number', name: 'Im View manuell eingestellte Temperatur - 0=reset' , desc: 'Im View manuell eingestellte Temperatur - 0=reset'});
Das Script funktioniert zwar trotzdem, ist aber unschön so.
das undefined Thermostat ist noch eine unschöne log Meldung. Hat aber keine Auswirkung. Werde ich ebenfalls entfernen
vG Looxer
-
Erstmal vielen Dank für die schnell Antwort!
Ich habe die Zeile nun ersetzt:
State = RoomPath + "View_Manually_Adjusted"; //createState(State, false, {read: true, write: true, type: 'boolean', name: 'Zeitstempel Temperatur Absenkung bei Verschluss offen' , desc: 'Zeitstempel wenn ein Raum durch Fensteroeffnung auf Absenkung gestellt wurde'}); createState(State, false, {read: true, write: true, type: 'number', name: 'Im View manuell eingestellte Temperatur - 0=reset' , desc: 'Im View manuell eingestellte Temperatur - 0=reset'});
Leider kommt die Meldung immer noch:
javascript.0 2017-09-19 18:30:00.919 warn at Object. (script.js.Scripte.Heizung:305:1) javascript.0 2017-09-19 18:30:00.919 warn at LoopRooms (script.js.Scripte.Heizung:567:13) javascript.0 2017-09-19 18:30:00.918 warn at LoopDevices (script.js.Scripte.Heizung:646:18) javascript.0 2017-09-19 18:30:00.917 warn at ManAdjustments (script.js.Scripte.Heizung:862:5) javascript.0 2017-09-19 18:30:00.916 warn Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
Muss der Datenpunkt nochmal entfernt werden, damit er "richtig" angelegt wird?
Gruß
-
Ja genau. Einmal manuell loeschen
Gesendet von meinem SM-G935F mit Tapatalk
-
Ja genau. Einmal manuell loeschen
Gesendet von meinem SM-G935F mit Tapatalk `
Danke dir!Meldungen sind weg.
Ich stell mal alles ein und komm dann mit neuen Fragen wieder
Gruß
-
Hi,
dann meld ich mich auch noch schnell. Ich habe auch die Warn-Meldungen im Log, allerdings jedesmal, wenn das Skript die Temperaturen anpasst (bei Kommen/Gehen oder Zeitplan). Hier ein Auszug aus dem Log:
! ````
javascript.0 2017-09-19 15:00:00.084 warn at Object. (script.js.common.Heizung:307:1)
javascript.0 2017-09-19 15:00:00.084 warn at LoopRooms (script.js.common.Heizung:569:13)
javascript.0 2017-09-19 15:00:00.084 warn at LoopDevices (script.js.common.Heizung:650:13)
javascript.0 2017-09-19 15:00:00.084 warn at ExecuteTempDetermination (script.js.common.Heizung:1013:1)
javascript.0 2017-09-19 15:00:00.083 warn at SetTemp (script.js.common.Heizung:1228:5)
javascript.0 2017-09-19 15:00:00.083 warn Wrong type of fhem.0.FHT_Wohnzimmer.desired-temp: "number". Please fix, while deprecated and will not work in next versions.Da muss ich ja an anderer Stelle editieren? Die "desired-temp"-Datenpunkte sind bei mir vom Typ Zeichenkette/string und liegen unter fhem0…, da alle FS20-Geräte bei mir den Weg iobroker<>FHEM-Adapter gehen. Wo im Skript muss ich anpassen und auf was? Danke schonmal. Gruss, Jürgen
-
Da muss ich ja an anderer Stelle editieren? `
Hi,na ja, im Script ist da nichts zu machen. Es wird eine Zahl gespeichert und es muss auch eine Zahl sein.
Dein Datenpunkt ist aber ein String. Ich nehme mal an, dass du die Datenpunkte im script so angepasst hast, dass die so angesteuert werden.
Du könntest doch deinen FHEM Datenpunkt auf "number" stellen - oder spricht was dagegen ?
vG Looxer
-
Hi,
ja die Steuerung an sich funktioniert problemlos, es sind halt nur die WARN-Meldungen im Log, die nicht so schön aussehen und die "Drohung" dass da in Zukunft was nicht mehr funktionieren könnte, weil es veraltet ist. :lol:
Die Datenpunkte hat mir der FHEM-Adapter automatisch als string angelgt, keine Ahnung, ob noch alles funktioniert, wenn ich sie manuell auf number stelle. Das nehme ich mir mal für die nächsten Tage vor, wenn ich dabei zuhause bin. Nicht dass die Wohnung auskühlt, weil da irgendwas nicht mehr so will wie ich es gern hätte.
Blöd, dass mein nanoCUL absolut nicht mit iobroker will und ich die ganzen alten Sachen (FS20, FHTs mit Tür-/Fensterkontakten und Elro-Steckdosen) über FHEM ansteuern muss. Aber es tut ja alles, so dass ich da momentan noch keinen Bedarf sehe, auf Homematic oder Ähnliches umzusteigen.
Nichtsdestotrotz, Danke für Deine Unterstützung und das Skript an sich. 8-)
Gruss, Jürgen
-
Kurzes Update: Ich habe in iobroker die Datenpunkte desired-temp, die fhem als string angelegt hat nun auf number umgestellt, und im Skript gleich noch die Änderung "Views-manual…" von oben übernommen. Was soll ich sagen, keine Warnungen mehr im Log. Änderungen in FHEM werden sauber in iobroker übertragen und im VIS sauber angezeigt. Änderungen über die Heizungssteuerung landen ebenso sauber in FHEM und werden an die Geräte gesendet, alles, wie es sein soll. Einfach nur TOP! 8-)
Vielen Dank
Gruss, Jürgen
-
Hi Juergen,
vielen Dank für dein Feedback.
das freut mich, besonders, weil ich zwar deine Vorgehensweise konzeptionell vorgesehen hatte allerdings entspricht dies ja nicht meiner Testumgebung. Ich selber arbeite mit den HM-Thermostaten (alte und neue) - keine IP.
vG Looxer
-
IP habe ich ja auch nicht. Es sind (bestimmt schon 10 Jahre alte) FHT80B. Zudem sind an den Türen/Fenstern auch noch FHT80TF-2 Kontakte verbaut. Die habe ich zwar im Skript nicht untergebracht, aber da sie direkt mit den Thermostaten verbunden sind, funktioniert ja alles trotzdem. das Skript war interessant, um per An-/Abwesenheit die Heizkörper runterzufahren. Bisher ging das zwar prinzipiell auch per hinterlegten Profilen in den Thermostaten bzw. einer vor FHEM verwendeten FHZ1000, aber das war mir irgendwie zu starr.
Und da dachte ich, das Skript steuert streng genommen ja eh nur Datenpunkte an, mit etwas Anpassung läuft das schon. :lol:
Und das tut es ja nun auch perfekt.
Echt spitze.
Gruss, Jürgen
-
Hi Juergen,
vielen Dank für dein Feedback.
das freut mich, besonders, weil ich zwar deine Vorgehensweise konzeptionell vorgesehen hatte allerdings entspricht dies ja nicht meiner Testumgebung. Ich selber arbeite mit den HM-Thermostaten (alte und neue) - keine IP.
vG Looxer ` Hi Looxer, würde dein Script auch mit IP Geräten gehen? Weil ich am überlegen bin auf IP umzusteigen.
Gruß Torsten
-
Hi Torsten,
im Prinzip ja, Ich habe dafür eigene Steuerflags vorgesehen. Allerdings ist das ungetestet.
Der Teufel steckt leider im Detail. Ich habe kann schön rumgetüftelt mit den alten Thermostaten, weil die sehr eigenwillig sind.
die DN-Thermostate reagieren im Gegensatz dazu ganz anders auf "Fenster zu" z.B.
Keine Ahnung was da für Überraschungen mit IP kommen könnten.
vG Looxer
-
Ok danke werde mir erstmal nur eins bestellen und testen gebe dir dann Bescheid ob es funktioniert.
Gruß Torsten
-
@spoerl.torsten:werde mir erstmal nur eins bestellen und testen gebe dir dann Bescheid ob es funktioniert. `
also, es wird nicht direkt funktionieren, weil ich die IP Parameter nicht eingepflegt habe (kenne sie nicht)sobald du das Gerät hast, lass uns dann per PN die Infos austauschen. Sollten wir hinkriegen (hoffe ich doch
vG Looxer
-
Hi Torsten,
noch eine Frage. Beabsichtigst du auch Fenstersensoren, bzw ein Wandthermostat verknüpfen ?
IP zu IP ist das ja kein Problem. Das script kann theoretisch auch einen HM Fenstersensor mit IP verknüpfen.
Allerdings würde ich eine Gruppenbildung vorziehen.
PS: die groesste Hürde für mich ist, dass die IP Geräte keine Lan-Gateways mögen
vG Looxer
-
Ja es sollen auch noch Fenstersensoren usw dazukommen aber alles IP. Mir gefällt das Design der IP-Geräte einfach besser außerdem scheint es so das für das alte Homematic keine neuen Produkte kommen. Das einzige was ich mir nicht als IP holen werde ist der Access Point da ich nicht komplett von einer Cloud abhängig sein will.
Was meinst du mit sie mögen keine Lan-Gateways?
Gruß Torsten
-
@spoerl.torsten:Was meinst du mit sie mögen keine Lan-Gateways? `
HM-IP Geräte können nur an die CCU angelernt werden.Gruß
Rainer
-
Ja genau. Einmal manuell loeschen
Gesendet von meinem SM-G935F mit Tapatalk `
Hallo,das kann man leichter pflegen, wenn man den forceCreate-Parameter mit übergibt. Er wird an dritter Stelle, nach Namen und Wert gesetzt. Ich nutze dazu in meinen Scripts eine Boolean-Variable (und nenn sie fC).
const fC = true; createState(State, false, fC, {read: true, write: true, type: 'number', name: 'Im View manuell eingestellte Temperatur - 0=reset' , desc: 'Im View manuell eingestellte Temperatur - 0=reset'});
So wird das Objekt bei jedem Neustart des Scrips neu angelegt.
-
@pix:Ja genau. Einmal manuell loeschen
Gesendet von meinem SM-G935F mit Tapatalk `
Hallo,das kann man leichter pflegen, wenn man den forceCreate-Parameter mit übergibt. Er wird an dritter Stelle, nach Namen und Wert gesetzt. Ich nutze dazu in meinen Scripts eine Boolean-Variable (und nenn sie fC).
const fC = true; createState(State, false, fC, {read: true, write: true, type: 'number', name: 'Im View manuell eingestellte Temperatur - 0=reset' , desc: 'Im View manuell eingestellte Temperatur - 0=reset'});
So wird das Objekt bei jedem Neustart des Scrips neu angelegt. `
Und wieder zeigt sich, dass einfach mal querlesen ohne gezieltes Interesse hilfreich ist. Das Thema Heizungssteuerung ist für mich nicht relevant, aber dieser Post war (wie so häufig) sehr hilfreich
-
Hallo Looxer,
ich habe das Skript installiert und teste gerade. Es ist sehr vielversprechend und genau das, was ich gesucht habe. Vielen Dank für die tolle Arbeit.
Ich habe die Version 0.76 vom ersten Post in diesem Thread. Da gibt es sicher schon ein neueres. Vielleicht mach es Sinn für Dich, deine großen Skripte auch in Github zu pflegen. Dort kann man leicht auch Veränderungen sehen. Textdateien zum Download im Forum sind dann nicht mehr nötig. Probleme mit inkompatiblen Editoren sind dann gelöst.
Ich nutze nur ein einen (neuen) HM-Heizkörperregler HM-CC-RT-DN. Der ist im Bad. Also habe ich alle Räume auskommentiert und nur "Bad" übrig" gelassen. In einigen anderen Räumen sind trotzdem "alte" Heizkörperwandthermostate HM-CC-TC zur Temp/Feucht-Anzeige aufgestellt. Sie sind auch dem Gewerk Heizung zugeordnet, das sollte ich ändern, denn sie verursachen viel Müll im Log.
Für meine Heizungsview habe ich deine Vorlage etwas angepasst. Einige HTML-Widgets, die nur eine Label-Funktion haben, sind überflüssig, da die HTML-Widgets für Wert i.d.R. auch noch HTML-Felder für Text vor und nach dem Wert bieten ("voranstellen HTML" und "HTMLanhängen". Da ich nur einen Regler verwende, habe ich auch einige Daten des Reglers direkt in den Bereich "Status" übernommen (Valvestate, Modus, …). Im Dropdown Minimaltemperatur habe ich die Kommatrennung durch einen Punkt ersetzt (in der Werteliste, Auswirkungen noch nicht getestet). Das würd ich für eine einheitliche Darstellung auch noch bei den Profileinstellungen machen.
Hier ein Screenshot:
Den unteren Bereich muss ich noch gestalten. Ich zerbreche mir den Kopf, wie ich den aktuellen Solltemperatur Zeitabschnitt GRAFISCH in VIS darstellen kann...
Nochmal: Herzlichen Dank für das tolle Skript!
Viele Grüße
Pix