NEWS
[Vorlage] Heizungsthermostatsteuerung 2.1 - Script
-
Hallo,
Bei mir haben diese Einträge geholfen.
Für IP Gruppen:
ThermostatTypeTab[1] = ['hm-rpc.3.', 'HmIP-HEATING' , 'Heizungsgruppe(HMIP)' ,'VD', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', true, '1.ACTUAL_TEMPERATURE', '1.SET_POINT_MODE', 12, 0];Für IP-Thermostat:
ThermostatTypeTab[7] = ['hm-rpc.1.', 'HmIP-WTH-2' , 'Wandthermostat(HMIP)' ,'IPWT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', false, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];Und für Heizkörper Thermostat:
ThermostatTypeTab[10] = ['hm-rpc.1.', 'HmIP-eTRV-2' , 'Heizkoerperthermostat(HMIP)','IPHT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', false, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];Funktioniert bei mir in der Reihenfolge: Gruppen, Raumthermostat, Heizkörper Thermostat.
Versuchen kan mans ja.
Heatingcontrol wird glaube ich noch etwas brauchen.
Lg
-
@sigi234 sagte in [Vorlage] Heizungsthermostatsteuerung 2.1 - Script:
https://forum.iobroker.net/topic/22579/adapter-heatingcontrol
Danke @sigi234 Das war mir bekannt,aber da fange ich ja wieder bei NULL an.
Okay ich schaue mal drüber, manchmal muss man halt was verändern. Danke für den Tip.... -
@MyMeyer Nicht ganz.
Ich habe meine Gewerke und Räume nach dem alten Script hier eingestellt und das Script bis zum Frühjahr 2019 laufen gehabt. Als dann der Adapter kam habe ich den mal kurz installiert zum ausprobieren und hatte meine Steuerung inclusive allen VIS-Seiten innerhalb von 2 Stunden umgezogen.
Die Thermostate und Fenstersensoren alleine waren innerhalb von knapp 10 Minuten angelegt.Das Problem mit dem Script hier ist das der Entwickler looxer01 richtig gute Arbeit geleistet hat, aber aus irgendwelchen Gründen seit ca. 07/2019 hier nicht mehr aktiv ist. Soweit ich sehe hat sich dann niemand sonst gefunden der dieses umfangreiche Script weitergepflegt hat. Von daher kam die Entwicklung hin zum Adapter wie gerufen.
Ein Adapter ist für uns User auch wesentlich einfacher zu handhaben als ein so umfangreiches Script. -
@Chaot sagte in [Vorlage] Heizungsthermostatsteuerung 2.1 - Script:
@MyMeyer Nicht ganz.
Ich habe meine Gewerke und Räume nach dem alten Script hier eingestellt und das Script bis zum Frühjahr 2019 laufen gehabt. Als dann der Adapter kam habe ich den mal kurz installiert zum ausprobieren und hatte meine Steuerung inclusive allen VIS-Seiten innerhalb von 2 Stunden umgezogen.
Die Thermostate und Fenstersensoren alleine waren innerhalb von knapp 10 Minuten angelegt.Das Problem mit dem Script hier ist das der Entwickler looxer01 richtig gute Arbeit geleistet hat, aber aus irgendwelchen Gründen seit ca. 07/2019 hier nicht mehr aktiv ist. Soweit ich sehe hat sich dann niemand sonst gefunden der dieses umfangreiche Script weitergepflegt hat. Von daher kam die Entwicklung hin zum Adapter wie gerufen.
Ein Adapter ist für uns User auch wesentlich einfacher zu handhaben als ein so umfangreiches Script.@Chaot wie gesagt ich schaue es mir an. Und ich habe auch nicht gesagt das der Entwickler @looxer01 schlecht arbeitet geleistet hat. Das möchte ich doch bitte klar stellen. Schade das er nicht weiter macht, aber das soll uns egal sein. Es hat seine Gründe und gut. Schließlich ist das alles unsere private kostenlose Zeit.
Also ab zum Adapter und dann werde ich meine Frage dort im Thread stellen.
Ich benötige jetzt keine weiteren Infos zu meinem Startthread.
-
@MyMeyer So war das auch nicht gemeint. Ich habe das schon verstanden das du looxer01 nicht böse bist.
Es ist leider so das sich scheinbar mit dem Script außer looxer01 keiner so wirklich richtig auskennt und von daher auch lieber ganz vorsichtig mit Antworten ist. -
Liebe Community,
aus sehr persönlichen Gründen habe ich mich in den letzten Monaten zurückgezogen bzw. zurückziehen müssen.
Was das Script betrifft habt ihr zurecht angemerkt, dass es recht umfangreich ist. Auch ist es nicht immer einfach den Einstieg zu finden.
Eine Weiterentwicklung ist aus o.g. Grunde von mir nicht möglich. Allerdings nutze ich das Script selber und sollte es in Zukunft mal Probleme geben z.B.
mit Fehlern aufgrund von neuen ioBroker Entwicklungen (z.B. JS-Controller etc) , dann werde ich wahrscheinlich -auf Nachfrage- noch Fixes bereitstellen können.
Es ist gut, dass es jetzt einen Adapter gibt, der in die Richtung geht. Für alle Neueinsteiger ist es der richtige Weg. Der Adapter braucht vermutlich noch etwas Zeit um die Script Funktionalität abzudecken. Mitarbeit hilft aber, wie ich selbst bestätigen kannVielen Dank an alle, die mich bei der Entwicklung unterstützt haben oder die auch mit supported haben.
In diesem Sinne möge der ioBroker mit euch sein.
Liebe Grüße.
Looxer
-
@looxer01
Alles Gute und Danke! -
@looxer01
Danke für deine Arbeit und alles gute! -
@looxer01 Was auch immer deine Gründe sein mögen wünsche ich dir von ganzen Herzen alles Gute dafür.
Ich möchte mich auch ganz herzlich für dein Script bedanken das mir geholfen hat meine Heizungssteuerung auf "smart" umzustellen. -
@looxer01 Danke für deine gute Arbeit und ehrliche Antwort. Wünsche Dir alles Gute !
-
@looxer01 Danke nochmal für das Script, habe ich immer noch im Einsatz! Alles Gute für Dich
-
@looxer01
auch von mir vielen Dank, habe es lange im Einsatz und bin sehr zufrieden. Es funktioniert sehr zuverlässig und bietet für mich alle Einstellungen wie Absenkung, abwesend, etc. die ich benötige.Mit dem neuen Thermostat HmIP-eTRV-2 habe ich allerdings Probleme, im Script wird alles mittlerweile richtig erkannt, dennoch werden Temperaturen nicht geschaltet.
Hat jemand diesen Typ "HmIP-eTRV-2" am laufen, welche Einstellungen sind im Script oder am Thermostat selbst notwendig? -
Hallo, ich hab mal wieder ein Problem
Ich habe einen Raum "Wohnzimmer", dieser hat 2 Fenster und eine HM Gruppe Thermostate. Bis jetzt war ein Fenster mit einem nicht HM Fensterkontakt versehen. Das hat auch wunderbar funktioniert.
Nun habe ich das 2. Fenster auch mit einem Fensterkontakt versehen und im Script hinzugefügt. Leider nimmt aber das Script immer nur den 1. Kontakt und nicht beide. Hat jemand eine Idee was ich da am besten machen kann?
Ggf. würde ich als Workaround ein Script schreiben, was aus den 2 States einen macht, jedoch ist das nur die Notfalllösung. Lieber währe es mir wenn dies direkt im Script abgebildet wird.
VG
Lindi -
@mike2712 Ich weis nicht ob es jetzt die "neuen" sind, da ich sie schon 2 Jahre ca. habe, aber hier ist meine Config.
ThermostatTypeTab[8] = ['hm-rpc.1.', 'HmIP-eTRV-2' , 'Heizkoerperthermostat(HMIP)','IPHT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', false, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 4.5, 0];
-
@lindi200000 danke, eigentlich habe ich das genauso, hast Du irgendwelche bestimmten Einstellungen in der CCU gemacht? Einfach nur auf Manuel stellen, oder? Da gibt es noch etwas mit Ein und Aus, habe einiges probiert, irgendetwas scheint nicht zu passen.
-
@mike2712 Hallo, sry für die späte Antwort.
Ich wüsste nicht was ich gemacht habe. Dürfte alles so laufen. -
erstmal danke für dein script. leider bekomme ich es nicht zum laufen
Meine view findet/startet das script nicht. Letzter Programmlauf bleibt leer....
Danke schon mal für die Hilfebeim starten vom script bekomme ich folgende meldung
javascript.0 script.js.common.Skript_1: TypeScript compilation had errors: var fs = require('fs'); // enable write fuer externes log ^ ERROR: Cannot find name 'require'. Do you need to install type definitions for node? Try `npm i @types/node`. LoopRooms(); // Ablauflogik entlang der gefundenen Thermostate fuer alle Raeume ^ ERROR: Expected 1 arguments, but got 0. ProfilName = UseEventG_Profil.replace("<ProfilNummer>", i); ^ ERROR: No overload matches this call. The last overload gave the following error. Argument of type 'number' is not assignable to parameter of type '(substring: string, ...args: any[]) => string'. for (var roomName in rooms) { ^ ERROR: Cannot find name 'rooms'. TriggerUpdate(); ^ ERROR: Expected 2 arguments, but got 0. TriggerUpdate(); ^ ERROR: Expected 2 arguments, but got 0. for (var roomName in rooms) { ^ ERROR: Cannot find name 'rooms'. TriggerUpdate(roomName); ^ ERROR: Expected 2 arguments, but got 1. LoopRooms(); ^ ERROR: Expected 1 arguments, but got 0. else if (roomUpdateDelay.all) { // Raum gesetzt aber ein Timeout für alle räume läuft schon, also bleibt es dabei ^ ERROR: Property 'all' does not exist on type '{}'. case "any": subscribeObj.change = "any"; ^ ERROR: Property 'change' does not exist on type '{ id: any; }'. rooms = {}; ^ ERROR: Cannot find name 'rooms'. rooms[roomName] = true; ^ ERROR: Cannot find name 'rooms'. rooms[roomName] = true; ^ ERROR: Cannot find name 'rooms'. for (roomName in rooms) { // suche Sensoren in allen Räumen mit mind einem Kontroll-Gerät ^ ERROR: Cannot find name 'rooms'. for (var d in rooms){ ^ ERROR: Cannot find name 'rooms'. for (roomName in rooms) { // loop ueber all Raeume ^ ERROR: Cannot find name 'rooms'. for (var x in SensorList ) { // loop über all Sensoren des Raumes ^ ERROR: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'any', but here has type 'string'. for (roomName in rooms) { // loop ueber all Raeume ^ ERROR: Cannot find name 'rooms'. for (roomName in rooms) { // loop ueber all Raeume ^ ERROR: Cannot find name 'rooms'. Did you mean 'room'? var ActiveRoomProfile = ActiveProfile(room); // Ermittlung des aktiven Raumprofilsfunction ManAdjustments(room, id) { ^ ERROR: Expected 2 arguments, but got 1. var NewCurrSollTemp = OverruleSollTemp (room,ActiveRoomProfile,SelectSwitchTime (room, ActiveRoomProfile, "CurrSollTemp"),id); // NEU -- ermittellt die aktuell zu erwartende Solltemperatur ^ ERROR: Expected 4 arguments, but got 3. var NewCurrTimeSlot = OverruleSollTemp (room,ActiveRoomProfile,SelectSwitchTime (room, ActiveRoomProfile, "CurrSlot"),id); // NEU -- // NEU -- ermittellt den aktuellen Timeslot für zu erwartende Solltemperatur ^ ERROR: Expected 4 arguments, but got 3. var NextTimeSlot = OverruleSollTemp (room,ActiveRoomProfile,SelectSwitchTime (room, ActiveRoomProfile, "NextSlot"),id); // NEU -- ermittellt den nächsten Timeslot für die nächste zu erwartende Solltemperatur ^ ERROR: Expected 4 arguments, but got 3. var NextSollTemp = OverruleSollTemp (room,ActiveRoomProfile,SelectSwitchTime (room, ActiveRoomProfile, "NextSollTemp"),id); // NEU -- ermittellt die nächste zu erwartende Solltemperatur ^ ERROR: Expected 4 arguments, but got 3. bisSetTimeMilliSek = SelectSwitchTime (room, ActiveRoomProfile, "CurrSlotEnde"); ^ ERROR: Expected 4 arguments, but got 3. ActiveRoomProfile = ActiveProfile(roomName); // Ermittlung des aktiven Raumprofils ^ ERROR: Expected 2 arguments, but got 1. for (var roomCheck in rooms) { // loop ueber all Raeume ^ ERROR: Cannot find name 'rooms'. TriggerUpdate(roomName); ^ ERROR: Expected 2 arguments, but got 1. weekday = DetermineSchedule(room, weekday, RaumProfil); // tatsächlicher weekday wird uebersteuert, wenn ein "WieVortag" vorkommt ^ ERROR: Expected 4 arguments, but got 3. if (!FeiertagMorgenChck& getState(StateFeiertagHeute).val ) { // Heute ist Feiertag ^ ERROR: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. ProfilName = UseEventG_Profil.replace("<ProfilNummer>", i); ^ ERROR: No overload matches this call. The last overload gave the following error. Argument of type 'number' is not assignable to parameter of type '(substring: string, ...args: any[]) => string'.
-
@mani33221 Du musst im Javascript Adapter noch "fs" aktivieren.
Einfach bei den Einstellungen des Adapters in der ersten Zeile bei "zusätzliche npm Module" fs eintragen und dann speichern. -
Leider kann ich keine Views anlegen nach der Vorlage: Wenn ich die Vorlage importiere kommt "Cannot render..."
Vielleicht kann ja dazu jemand was sagen, ansonsten muss ich wohl doch zum Adapter zurück... Hatte lange das Skript in der 1.8 Version laufen, aber habe in den letzten Wochen den Adapter getestet. Hatte bei mir noch einige Bugs und der Frau war es schon zu ungemütlich. Aber zurück zum Skript klappt hier auch gerade nicht. -
@mrMuppet sagte in [Vorlage] Heizungsthermostatsteuerung 2.1 - Script:
Leider kann ich keine Views anlegen nach der Vorlage: Wenn ich die Vorlage importiere kommt "Cannot render..."
Als WIDGET importieren!