NEWS
[Vorlage] Heizungsthermostatsteuerung - Script
-
Das funktioniert auch so.
Habe dann das geänderte Gewerk drin.
Aber die Gewerke mit $ bleiben auch drin. Wo kommen die her?
Bei mir sieht es auch so aus, plus der engl. Bezeichnung mit $.
-
Das kannst du jetzt für alle Gewerke und Räume in der CCU machen.
Und das aktualisieren im ioBroker nicht vergessen.
Dann kannst du im ioBroker alle Gewerke und Räume die mit $ anfangen löschen. Die kommen dann nicht wieder.
-
… es gibt eine neue Version (aktuell ist 0.72 - neu ist 0.74)
changelog:
// Version 0.73 14.04.2017 - Ueberfluessige LogEintraege entfernt
// Version 0.74 15.04.2017 - Voreinstellung geaendert - annahme ist, dass mit direkten Verknuepfungen gearbeitet wird. Wenn nicht, dann muss die ThermostatTypeTab angepasst werden (Flag zentrale Steuerung)
- Aenderung ist nur eine Einstellung in der ThermostabTypeTab
Ich hatte die Voreinstellungen in der ThermostabTypeTab gewählt, dass keine Direktverknuepfungen vorausgesetzt wurden (zentrale Steuerung für die neuen Thermostate war auf false). Das kann aber zu Konflikten führen, wenn doch mit Direktverknuepfungen gearbeitet wird.
Also wird jetzt beispielsweise immer ein vorhandenes Wandthermostat eingelesen nicht aber die direkt Heizkoerperthermostate.
Falls es mehrere (neue) Heizkoerperthermostate gibt, dann wird immer nur ein Thermostat eingelesen.
vG Looxer
-
Hallo looxer01,
bin gerade dabei dein Script zu probieren.
muß bei "var ThermostatTypeTab = [0];" eine Auswahl getroffen werden z.B. 0 eingetragen, weil bei mir das Wandthermostat die Befehle durch Direktverknüpfungen an alle anderen im Raum verteilt ?
Und bei "var RoomList = [0];" habe ich jetzt auch eine 0 stehen weil ich als erstes mal das Schlafzimmer allein probieren möchte.
Danke für Dein großartiges Engagement und das teilen Deines Wissens.
Sebastian
-
Hi,
Im Grunde muss fast nichts konfiguriert werden. Auch nichts an der Thermostagtypetab - verwende die version 0.74
Die Gewerke sind wichtig und ja die roomlist, wenn du raum für raum vorgehen möchtest
Die Roomlist sieht so aus für dich:
var UseRoomList = true;
var RoomList = [];
RoomList[0] = ['Schlafzimmer'];
vG Looxer
-
Und die anderen RoomList mit // auskommentieren?
-
Ja genau
Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk
-
Eine Bitte habe ich noch was gerade aufgefallen ist.
Ich habe andere Fenstersensoren verbaut, die nicht in der Liste auftauchen.
HM-Sec-RHS
HM-Sec-SC-2
kannst du die noch nachpflegen im Script?
Sebastian
-
Erstmal vielen Dank für dein Programm und deine Hilfe.
Habe es jetzt mit den Räumen und Gewerken hinbekommen.
Bekomme aber folgende Fehlermeldung:
javascript.0 TypeError: Cannot read property 'toString' of undefined at writelog (script.js.Haus.Heizungsthermostatsteuerung:1457:60) at LoopDevices (script.js.Haus.Heizungsthermostatsteuerung:507:17) at SensorChange (script.js.Haus.Heizungsthermostatsteuerung:603:5) at Object. (script.js.Haus.Heizungsthermostatsteuerung:373:25) at Object.subs.callback (/volume2/homes/admin/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1325:48) at /volume2/homes/admin/opt/iobroker/node_modules/iobroker.javascript/javascript.js:585:48 at getObjectEnums (/volume2/homes/admin/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3237:17) at getObjectEnums (/volume2/homes/admin/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3256:28) at getObjectEnums (/volume2/homes/admin/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3256:28) at checkPatterns (/volume2/homes/admin/opt/iobroker/node_modules/iobroker.javascript/javascript.js:581:17)
Desweiteren habe ich vier Ausrufezeichen am Rand bei Skripte.
Zweimal Don´t make functions within a loop Zeile 319 und Zeile 372
Einmal ì is already defined Zeile 351
Einmal x is already defined Zeile 353
Und bei Zeile 401 too many errors 26% scanned
Frohe Ostern!
-
Erstmal vielen Dank für dein Programm und deine Hilfe.
Habe es jetzt mit den Räumen und Gewerken hinbekommen.
Bekomme aber folgende Fehlermeldung: `
ok, erstmal gut.
Die Fehlermeldung ist mal nicht so gut. Hast du den Parameter var LogFlag auf true ?
wenn ja, dann stelle ihn bitte mal auf false und teste nochmal.
Die untenstehenden Meldungen kannst du ignorieren.
Zweimal Don´t make functions within a loop Zeile 319 und Zeile 372
Einmal ì is already defined Zeile 351
Einmal x is already defined Zeile 353
Und bei Zeile 401 too many errors 26% scanned
vG Looxer
-
Ich habe andere Fenstersensoren verbaut, die nicht in der Liste auftauchen.
HM-Sec-RHS
HM-Sec-SC-2
kannst du die noch nachpflegen im Script? `
kannst du bitte die beiden Zeilen hinzufügen und testen, ob es bei dir so funktioniert ?
SensorTypeTab[3] = ['hm-rpc.0.', 'HM-Sec-RHS', 'Fenster-Drehgriffkontakt' , 'HM', '1.STATE' , 10 ];
SensorTypeTab[4] = ['hm-rpc.0.', 'HM-Sec-SC-2' , 'Fenstersensor-2 (alt)' , 'HM', '1.STATE' , 10 ];
Bitte sag mir dann Bescheid. Wenn alles ok, dann nehme ich die Zeilen auf.
vG Looxer
-
var LogFlag = false;
So ist es eingestellt.
-
kannst du bitte debug auf true stellen und das Programm laufen lassen bis es zum Fehler kommt und mir das log zusenden ?
EDIT: bitte probiere mal folgendes aus und füre das statement "var Source_CurrentSollTemp;" ein.
Die Position befindet sich unterhalb der Experten Einstellungen
var Source_Profil; var Source_ICALEvent; var Source_ManualAdjustment; var Source_GlobalParameter; var Source_ProfilParameter; var Source_SchedulePoint; var Source_LastTemp; var Source_Timestamp; var Source_CurrentSollTemp; var Source_last_Program_Run; var Source_ManTempSet; var Source_CurrentSollTemp;
vG Looxer
-
Guten Morgen,
habe die beiden Sensortypen eingepflegt.
Der SC-2 funktioniert , hat ja auch die gleichen false / true Ergebnisse wie die anderen schon vorhandenen Sensoren.
Beim RHS geht es nicht.
Der hat folgende Rückmeldungen: geschlossen = 0 , offen = 2 , gekippt = 1
Auch die Log Texte passen nicht.
Gruß Sebastian
-
Der hat folgende Rückmeldungen: geschlossen = 0 , offen = 2 , gekippt = 1 `
ok, danke. Den Sensor habe ich nicht. Daher ist es noch nicht implementiert.Aber ich werde das einfach übersetzen. > 0 = true und 0 = false
Ich mache heute noch eine Version 0.75 auch mit dem Fix für Superdad.
vG Looxer
-
Hi,
es gibt eine neue Version mit folgenden Aenderungen:
// Version 0.75 15.04.2017 - UserExit - Hinzugefügt
//…..................... - undefined Zustand Source_CurrentSollTemp abgefangen in writelog
//........................ - Sensoren 'HM-Sec-RHS und 'HM-Sec-SC-2 aufgenommen
1. Ich hoffe den Fehler von Superdad damit erstmal geloest zu haben. Da er bei mir aber nicht auftritt wäre ich für feedback dankbar
2. Es gibt eine neue Funktion: Es gibt die Möglichkeit über UserExits und externe Trigger die SollTemperatur der Thermostate zu beeinflussen
3. Zwei neue Fenstersensoren hinzugefügt. Bitte Testen.
vG Looxer
-
Ich habe mal noch ein paar Fragen zum View.
1. Muss ich bei "Globale Heizparameter" alles anhaken was jemals genutzt werden soll?
Oder nur das, was gerade aktiv sein soll?
Wenn ich also z.Bsp. Urlaub habe, dann hake ich Urlaub anwesend an?
2. Ist für jedes Thermostat ein eigener View anzulegen?
3. Wo sind denn die Profile hinterlegt, die man auswählen kann?
Oder wie lege ich Profile an und speichere diese dann ab?
So das ich dann z.Bsp. Profil 2 auswähle und die Tabelle im "Heizplan" füllt sich dann.
Oder verstehe ich da was falsch?
-
Hi,
1. Muss ich bei "Globale Heizparameter" alles anhaken was jemals genutzt werden soll?
Oder nur das, was gerade aktiv sein soll?
Wenn ich also z.Bsp. Urlaub habe, dann hake ich Urlaub anwesend an? `
Die Globalen Parameter dienen dazu grundsätzlich mitzuteilen, ob eine bestimmte Situation eingetreten ist.
Gehen wir sie mal durch:
1. Heizperiode ist die Ausnahme. Keine Heizung wird gesteuert, wenn der Parameter ausgeschaltet ist
2. Feiertag Heute. Es wird die Feiertagszeile aus dem aktiven Profil gewählt
3. Anwesend: Es wird die Abwesenheitsabsenkung von der geplanten Solltemperatur substrahiert. Bei Null passiert eben nix
3. Party: Es wird die Party-Absenkungen von der geplanten Solltemperatur substrahiert. Bei Null im Profil passiert nix
4. Party: Es wird die Gaeste-Anhebung zu der geplanten Solltemperatur addiert. Bei Null im Profil passiert nix
5. Urlaub Anwesend. Es wird die Feiertagszeile aus dem aktiven Profil gewählt, wenn das Profil "Urlaub Anwesend wie Feiertag" getickt hat
6. Urlaub Abwesend: Es wird die Urlaub-Absenkungen von der geplanten Solltemperatur substrahiert. Bei Null im Profil passiert nix
2. Ist für jedes Thermostat ein eigener View anzulegen? `
Nein- auf keinen Fall. Nur per Raum und per Profil. Mehr als ein Profil wird aber nur benötigt, wenn ich situativ eine komplett andere Steuerung benötige. Beispiel sind Schichtpläne, die jede Woche anders aussehen können. Es gibt bis zu 9 Profile3. Wo sind denn die Profile hinterlegt, die man auswählen kann?
Oder wie lege ich Profile an und speichere diese dann ab?
So das ich dann z.Bsp. Profil 2 auswähle und die Tabelle im "Heizplan" füllt sich dann.
Oder verstehe ich da was falsch? `
Die Profile werden automatisch angelegt. Die Views dazu musst du allerdings selber anlegen wie beschrieben.
Allerdings musst du jedes Profil im Editor bearbeiten. z.B. Replace "Profil-1" durch "Profil-2". Damit hast du eine View für Profil 2
wenn du Profil 2 auswählst, dann wird der Temperaturplan aus dem Profil-2 verwendet.
Ich hoffe, dass das die Fragen klärt ?
vG Looxer
-
Guten Abend looxer,
die eingepflegten Fenstersensoren funktionieren tadellos.
Ich bin nun auch durch dein Script soweit durch mit allen Ideen und Abläufen wie ich mir das vorstelle was ein Thermostatscript so können muß.
Ich kann nur sagen das es eine sehr gute Arbeit von Dir ist….DANKE dafür !
Gruß Sebastian
-
Hallo Looxer,
ich wollte mir mal deine View anschauen aber leider bekomme ich beim importieren eine Fehlermeldung. Vielleicht liegt es auch an meinem Editor. Kannst du mir für Ubuntu einen empfehlen da es dort ja kein notepad++ gibt? Im Anhang findest du die Fehlermeldung.
Vielleicht kann mir ja jemand weiterhelfen.
Gruß Torsten