NEWS
[Vorlage] Heizungsthermostatsteuerung 2.1 - Script
-
aaah, ja dann ist es klar.
Dann nimm doch den manuellen Datenpunkt raus. Sollte doch dann gehen
-
leider nein, es wird erkannt aber die Temperatur nicht gesenkt….
2018-09-30 13:31:36.956 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopRooms Ende Abarbeitung fuer Raum Büro
2018-09-30 13:31:36.956 - info: javascript.0 script.js.common.Heizungssteuerung_Büro:
2018-09-30 13:31:36.959 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.GlobaleParameter.Source_last_Program_Run
2018-09-30 13:31:36.962 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_last_Program_Run
2018-09-30 13:32:06.065 - info: web.0 <==Disconnect system.user.admin from ::ffff:192.168.178.95 vis.0
2018-09-30 13:32:06.811 - info: web.0 ==>Connected system.user.admin from ::ffff:192.168.178.95
2018-09-30 13:32:23.720 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = mihome.0.devices.magnet_158d000xxxxx.state Raum = Büro
2018-09-30 13:32:23.723 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorStatCalc: Sensorstatus ist true fuer devtype = NoneHM und id mihome.0.devices.magnet_158d000xxxxx.state
2018-09-30 13:32:23.724 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Fenster mihome.0.devices.magnet_158d000xxxxx.state status geaendert fuer mihome.0.devices.magnet_158d000xxxxx.state Büro true
2018-09-30 13:32:23.724 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Raum Büro
2018-09-30 13:32:23.724 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor ist direktverknuepft ? false
2018-09-30 13:32:23.725 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor status ist ? true
-
aber das schließen wird wieder korrekt erkannt…. :?
2018-09-30 13:39:32.966 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopDevices: Sensorstatus fuer raum Büro ist false
2018-09-30 13:39:32.967 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopDevices:Verschluss geschlossen TemperaturAbsenkung zurueck gesetzt
2018-09-30 13:39:32.968 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
2018-09-30 13:39:32.969 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SelectSwitchTime - Aktuelle Solltemperatur ist 17 fuer Raum Büro Raumprofil ist 1
2018-09-30 13:39:32.969 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ExecuteTempDetermination: raum BüroSolltemp nach Switchtime: 17 Findung Sa_00:00:00
2018-09-30 13:39:32.969 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ExecuteTempDetermination: raum BüroSolltemp nach overrule: 17 Findung Verschluss geschlossen TemperaturAbsenkung zurueck gesetzt
2018-09-30 13:39:32.970 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Setze Büro.Source_Global_Parameter zu Verschluss geschlossen TemperaturAbsenkung zurueck gesetzt
2018-09-30 13:39:32.971 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Schedule gelöscht für Büro
2018-09-30 13:39:32.971 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Setze Schedule für nächste Planzeit 2 0 0 * * * für Raum Büro
2018-09-30 13:39:32.974 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_Global_Parameter
20
-
Workaround: Einfach die Absenktemperatur durch ein anderes Skript durchführen, nicht so schön, aber tut
! 2018-09-30 14:31:36.226 - info: javascript.0 Start javascript script.js.common.Xiaomi_Fenstersensor_Büro3
! 2018-09-30 14:31:36.235 - info: javascript.0 script.js.common.Xiaomi_Fenstersensor_Büro3: registered 2 subscriptions and 0 schedules
! 2018-09-30 14:31:54.746 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = mihome.0.devices.magnet_158d000xxxxx.state Raum = Büro
! 2018-09-30 14:31:54.748 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorStatCalc: Sensorstatus ist true fuer devtype = NoneHM und id mihome.0.devices.magnet_158d000xxxxx.state
! 2018-09-30 14:31:54.749 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Fenster mihome.0.devices.magnet_158d000xxxxx.state status geaendert fuer mihome.0.devices.magnet_158d000xxxxx.state Büro true
! 2018-09-30 14:31:54.750 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Raum Büro
! 2018-09-30 14:31:54.750 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor ist direktverknuepft ? false
! 2018-09-30 14:31:54.751 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor status ist ? true
! 2018-09-30 14:31:54.754 - info: javascript.0 script.js.common.Xiaomi_Fenstersensor_Büro3: Fenster im Büro ist offen, Temperatur wurde abgesenkt
! 2018-09-30 14:31:54.758 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_Global_Parameter und Raum Büro
! 2018-09-30 14:31:54.762 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: TriggerUpdate für Büro und manChange=false
! 2018-09-30 14:31:54.766 - info: javascript.0 script.js.common.Xiaomi_Fenstersensor_Büro3: Fenster im Büro ist offen, Temperatur wurde abgesenkt
! 2018-09-30 14:31:55.765 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopRooms Starte Abarbeitung fuer Raum Büro
! 2018-09-30 14:31:55.766 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopDevices: Sensorstatus fuer raum Büro ist true
! 2018-09-30 14:31:55.767 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopRooms Ende Abarbeitung fuer Raum Büro
! 2018-09-30 14:31:55.767 - info: javascript.0 script.js.common.Heizungssteuerung_Büro:
! 2018-09-30 14:31:55.767 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Heizungsscript verarbeitung Trigger für Raum Büro durchgelaufen
! 2018-09-30 14:31:55.769 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.GlobaleParameter.Source_last_Program_Run
! 2018-09-30 14:31:55.771 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_last_Program_Run
! 2018-09-30 14:31:57.761 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ThermostatChange: hm-rpc.0.OEQ2081886.4.SET_TEMPERATURE Raum Büro Manuelle Solltemperatur-Aenderung erkannt auf 10
! 2018-09-30 14:32:58.536 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = mihome.0.devices.magnet_158d000xxxxx.state Raum = Büro
! 2018-09-30 14:32:58.536 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorStatCalc: Sensorstatus ist false fuer devtype = NoneHM und id mihome.0.devices.magnet_158d000xxxxx.state
! 2018-09-30 14:32:58.537 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Fenster mihome.0.devices.magnet_158d000xxxxx.state status geaendert fuer mihome.0.devices.magnet_158d000xxxxx.state Büro false
! 2018-09-30 14:32:58.537 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Raum Büro
! 2018-09-30 14:32:58.537 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor ist direktverknuepft ? false
! 2018-09-30 14:32:58.537 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor status ist ? false
! 2018-09-30 14:32:58.538 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopDevices: Sensorstatus fuer raum Büro ist false
! 2018-09-30 14:32:58.538 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
! 2018-09-30 14:32:58.539 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SelectSwitchTime - Aktuelle Solltemperatur ist 17 fuer Raum Büro Raumprofil ist 1
! 2018-09-30 14:32:58.539 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
! 2018-09-30 14:32:58.540 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SelectSwitchTime - Aktueller Zeitslot ist Sa_00:00:00 fuer RaumBüro Raumprofil ist 1
! 2018-09-30 14:32:58.540 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
! 2018-09-30 14:32:58.541 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
! 2018-09-30 14:32:58.541 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SelectSwitchTime - Nächster Zeitslot ist Sa_08:00:00 fuer RaumBüro Raumprofil ist 1
! 2018-09-30 14:32:58.541 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
! 2018-09-30 14:32:58.542 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
! 2018-09-30 14:32:58.542 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SelectSwitchTime - Nächste Solltemperatur ist 17 fuer RaumBüro Raumprofil ist 1
! 2018-09-30 14:32:58.543 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine Manadj: errechnete Current SollTemp ist 17
! 2018-09-30 14:32:58.543 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine Manadj: errechneter Current TimeSlot ist Sa_00:00:00
! 2018-09-30 14:32:58.543 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine Manadj: errechnete Next SollTemp ist 17
! 2018-09-30 14:32:58.543 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine Manadj: errechneter Next Timeslot ist Sa_08:00:00
! 2018-09-30 14:32:58.543 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ManAdjustments: Manuell Relevant?: true
! 2018-09-30 14:32:58.544 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ManAdjustments: DelayTime fuer Raum Büro ist 0
! 2018-09-30 14:32:58.544 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: aktuelle Millisekunden 1538310778000
! 2018-09-30 14:32:58.544 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
! 2018-09-30 14:32:58.545 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SelectSwitchTime - Aktuelle Solltemperatur ist 17 fuer Raum Büro Raumprofil ist 1
! 2018-09-30 14:32:58.545 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ExecuteTempDetermination: raum BüroSolltemp nach Switchtime: 17 Findung Sa_00:00:00
! 2018-09-30 14:32:58.545 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ExecuteTempDetermination: raum BüroSolltemp nach overrule: 17 Findung Raum Büro jetzt geschlossen
! 2018-09-30 14:32:58.546 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Setze Büro.Source_Global_Parameter zu Raum Büro jetzt geschlossen
! 2018-09-30 14:32:58.547 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Setze Büro.Source_NextTemp zu 17
! 2018-09-30 14:32:58.547 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SetTemp: ID updated hm-rpc.0.OEQ2081886.4.SET_TEMPERATURE Raum Büro SollTemp = 17
! 2018-09-30 14:32:58.547 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Schedule gelöscht für Büro
! 2018-09-30 14:32:58.548 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Setze Schedule für nächste Planzeit 2 0 0 * * * für Raum Büro
! 2018-09-30 14:32:58.551 - info: javascript.0 script.js.common.Xiaomi_Fenstersensor_Büro3: Fenster im Büro ist geschlossen
! 2018-09-30 14:32:58.556 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_Global_Parameter
! 2018-09-30 14:32:58.557 - info: javascript.0 script.js.common.Xiaomi_Fenstersensor_Büro3: Fenster im Büro ist geschlossen
! 2018-09-30 14:32:58.559 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_NextTemp
! 2018-09-30 14:32:58.560 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ThermostatChange: Der Raum wurde vor weniger als 1 Sekunde bereits upgedated Aenderung wird ignoriert 0 -
iaomi Sensor wird zwar als "offen" erkannt, aber die TemperaturAbsenkung wir nicht durchgeführt. `
Hi,
ist schon eigenartig, dass es nur um Xiaomi geht. Waere mal interessant zu wissen, ob es sonst noch Erfahrungen gibt mit "Nicht HM" Sensoren.
Ist aber wahrscheinlich Zufall und damit zu erklären, dass viele hier Xiaomi im Einsatz haben.
Also, beim Öffnen sollte noch die Routine "LoopDevises" durchlaufen werden. kannst du mal schauen, ob die Meldungen findest aus der Routine. Und zwar ist das hier:
Sensor = VerschlussRaumStatus(roomName); if (debug) {log("Routine LoopDevices: Sensorstatus fuer raum " + roomName + " ist " + Sensor, "info"); } // Check ob ein Verschlusssensor offen ist if (sensorausgeloest) { // ein nicht direkt verknuepfter Sensor hat im Raum ausgeloest // Wenn ein Verschluss des Raumes geoeffnet ist, dann wird die Temp Absenkung gemacht if (Sensor) { // steht einer der Sensoren auf offen ? // SetRoomOpen( roomName ); // in der delay tab werden evt Zeitstempel geloescht Source_GlobalParameter = "Verschluss offen TemperaturAbsenkung gesetzt"; if (debug) { log("Routine LoopDevices:" + Source_GlobalParameter, "info"); } if (Check_SensorDV(roomName) === false) { // ist der Sensor direktverknuepft ? SetTemp(roomName, VerschlussAbsenkungsGrenze, id, false); } writelog(roomName, id, "Sensor ausgeloest - auf geoeffnet"); continue; } else { SetRoomClosed(roomName,ControlTab[x][12]); // zeitstempel setzen fuer delay wenn erforderlich Source_GlobalParameter = "Raum " + roomName + " jetzt geschlossen "; if (getState(path + "." + roomName + ".Source_TimeStamp").val === "init" && getState(id).val !== VerschlussAbsenkungsGrenze ) { // Wenn keine manuelle Temp gesetzt war Source_GlobalParameter = "Verschluss geschlossen TemperaturAbsenkung zurueck gesetzt"; if (debug) { log("Routine LoopDevices:" + Source_GlobalParameter, "info"); } ExecuteTempDetermination(roomName, id); writelog(roomName, id, "Sensor ausgeloest - auf geschlossen"); continue; } // kein TimeStamp gesetzt } // endif sensor status true } // endif Sensor ausgeloest if (Sensor) { // Wenn ein Sensor offen ist, dann mache nix return; }
Wenn dieser Code nicht durchlaufen wird, dann können wir den Fehler weiter eingrenzen.
Was hast du für Thermostate ? HM ? mit Wandthermostat ?
vG Looxer `
Diese Routine wird wohl nicht durchlaufen… Habe mal Debug auf true gestellt und die Tür geöffnet....
Das kommt als Log raus :
18:57:03.060 [info] javascript.0 script.js.common.Skript3: Routine SensorFind ID = mihome.0.devices.magnet_158d0001fa3382.state Raum = Küche
18:57:03.060 [info] javascript.0 script.js.common.Skript3: Routine SensorStatCalc: Sensorstatus ist true fuer devtype = NoneHM und id mihome.0.devices.magnet_158d0001fa3382.state
18:57:03.060 [info] javascript.0 script.js.common.Skript3: Routine SensorChange: Fenster mihome.0.devices.magnet_158d0001fa3382.state status geaendert fuer mihome.0.devices.magnet_158d0001fa3382.state Küche true
18:57:03.061 [info] javascript.0 script.js.common.Skript3: Routine SensorChange: Raum Küche
18:57:03.061 [info] javascript.0 script.js.common.Skript3: Routine SensorChange: Sensor ist direktverknuepft ? false
18:57:03.061 [info] javascript.0 script.js.common.Skript3: Routine SensorChange: Sensor status ist ? true
Dazu noch ne Frage : Kann das dran liegen dass "setroomopen" auskommentiert ist ?
-
Hi,
also in der vorherigen Diskussion hatten wir den Fall, dass der Sensor automatisch erkannt wurde, weil durch CUX definiert.
Die Lösung hier waere vermutlich die folgende Tabelle SensorTypeTab an Stelle 7 auf false zu setzen, und zwar für den Sensor HM-Sec-SC.
also hier:
// Typen-Tabelle der Verschlusssensoren fuer Homematic Geräte // 6 = Verschlussstatus = false ist gechlossen var SensorTypeTab = []; // 0.RPC-Pfad 1.GeraeteType 2\. Beschreibung, 3.Type 4.DP Status 5.nicht verwendet 6\. Verschlussstatus 7\. direktverknuepft SensorTypeTab[0] = ['hm-rpc.0.', 'HM-Sec-SCo' , 'Fenstersensor (neu)' , 'HM', '1.STATE' , false, false, true ]; SensorTypeTab[1] = ['hm-rpc.0.', 'HM-Sec-SC' , 'Fenstersensor (alt)' , 'HM', '1.STATE' , false, false, true ]; SensorTypeTab[2] = ['hm-rpc.0.', 'HM-Sec-RHS' , 'Fenster-Drehgriffkontakt', 'HM', '1.STATE' , false, 0, true ]; SensorTypeTab[3] = ['hm-rpc.0.', 'HM-Sec-SC-2', 'Fenstersensor-2 (alt)' , 'HM', '1.STATE' , false, false, true ]; SensorTypeTab[4] = ['hm-rpc.1.', 'HMIP-SWDO' , 'Fenstersensor (HMIP )' , 'IPSE', '1.STATE' , false, 0, true ]; SensorTypeTab[5] = ['hm-rpc.2.', 'HMW-Sen-SC-12-DR','Schließerkontakt HMW' , 'HM', '1.STATE' , false, false, false ];
Kann es sein, dass du den Xiaomi auch über CUX eingebunden hast ?
vG Looxer
-
Nein habe ihn nicht über Cux eingebunden… Nur am Mihome angemeldet...
Hab das mal geändert, da ändert sich nichts...
Interessanterweise : Wenn ich die Tür schliesse, wird "ExecuteTempDetermination" laut log durchgeführt....
Also wird der Status des Sensors erkannt und verarbeitet....
Beim Öffnen wird das allerding nicht durchgeführt...
-
Hi,
tausche mal bitte in Routine SensorChange folgenden Code aus:
habe eine zusätzliche Logzeile eingebaut
neu:
if (SensorList[tabNo][7] ) { // Sensor ist direktverknuepft und wurde geoeffnet log("Routine SensorChange: Sensor Direktverknuepft Sensorstatus geaendert - ID " + id + " Raum " + room +" auf "+ SensorList[tabNo][7], "info" ); writelog(room, id, "Routine SensorChange: Sensor Direktverknuepft Sensorstatus geaendert - ID " + id + " Raum " + room +" auf "+ SensorList[tabNo][7]) ; return; // nichts machen, da die Absenkung automatisch passiert } Es scheint so, dass die Routine "LoopDevices" nicht aufgerufen wird. Aber die Logeintragungen kommen bis zu dem o.g. Codeschnipsel. Danach wird LoopDevices aufgerufen. vG Looxer
-
Habs eingebaut… FOlgende Meldung im Log :
javascript.0 script.js.common.Skript3: Routine SensorChange: Sensor Direktverknuepft Sensorstatus geaendert - ID mihome.0.devices.magnet_158d0001fa3382.state Raum Küche auf true
Ist auch egal ob ich in der Sensorliste für NoneHM false oder true eingestellt habe, der erkennt das immer als direktverknüpft...
-
Habs eingebaut… FOlgende Meldung im Log : `
jo, das zeigt, dass das Script davon ausgeht, dass der Sensor direktverknuepft ist.Ich glaube ich habe da einen fehler gefunden:
Tausche bitte nochmal aus:
if (SensorList[tabNo][9] ) { // Sensor ist direktverknuepft und wurde geoeffnet log("Routine SensorChange: Sensor Direktverknuepft Sensorstatus geaendert - ID " + id + " Raum " + room +" auf "+ SensorList[tabNo][7], "info" ); writelog(room, id, "Routine SensorChange: Sensor Direktverknuepft Sensorstatus geaendert - ID " + id + " Raum " + room +" auf "+ SensorList[tabNo][7]) ; return; // nichts machen, da die Absenkung automatisch passiert } vG Looxer
-
Tip top, das scheints gewesen zu sein…..
Funzt nun... Dank dir für die Unterstützung!
-
Super. Ich bin gerade im Urlaub. Werde es danach direkt testen.
Gesendet aus Hessen.
-
Super. Ich bin gerade im Urlaub. Werde es danach direkt testen. `
Feedback wäre prima.Wenn es für alle läuft mache ich eine neue Version.
vG Looxer
-
Wie gesagt bei mir funzt es!
Muss mich jetzt mal in hochsprachen Programmierung einarbeiten..
Ist als SPS Programmierer doch ne kleine Umstellung…
Gesendet von meinem ONEPLUS A3003 mit Tapatalk
-
Habs eingebaut… FOlgende Meldung im Log : `
jo, das zeigt, dass das Script davon ausgeht, dass der Sensor direktverknuepft ist.Ich glaube ich habe da einen fehler gefunden:
Tausche bitte nochmal aus:
if (SensorList[tabNo][9] ) { // Sensor ist direktverknuepft und wurde geoeffnet log("Routine SensorChange: Sensor Direktverknuepft Sensorstatus geaendert - ID " + id + " Raum " + room +" auf "+ SensorList[tabNo][7], "info" ); writelog(room, id, "Routine SensorChange: Sensor Direktverknuepft Sensorstatus geaendert - ID " + id + " Raum " + room +" auf "+ SensorList[tabNo][7]) ; return; // nichts machen, da die Absenkung automatisch passiert } vG Looxer ```` `
Also mit dieser Änderung und den folgenden Einstellungen, weil ich den Xiaomi - Sensor als Cux eingebunden habe, funktioniert es jetzt auch bei mir, super danke
ThermostatTypeTab[2] = ['hm-rpc.0.', 'HM-CC-RT-DN' , 'Heizkoerperthermostat(neu)' ,'HT', '4.SET_TEMPERATURE' , false, '4.MANU_MODE', false, '4.ACTUAL_TEMPERATURE', '4.CONTROL_MODE', 12, 0]; SensorTypeTab[1] = ['hm-rpc.0.', 'HM-Sec-SC' , 'Fenstersensor (alt)' , 'HM', '1.STATE' , false, false, false ];
-
Wow,
dasDing ist ja wirklich gut gemacht.
Eine ganz blöde Frage:
Lässt sich das eventuell auch auf DECT Thermostate adaptieren?
Die Datenpunkte scheinen ja zu den HM Thermostaten anders zu sein und es gibt bei den Dingern per Remote Befhl keinen manuellen Modus.
Hat das schon jemand versucht oder hilft vielleicht das Bild weiter?
5779_dect.jpg -
Lässt sich das eventuell auch auf DECT Thermostate adaptieren? `
Hi,
die erste Voraussetzung ist, dass du die SollTemp in IoBroker setzen kann und das Thermostat diese auch annimmt.
Ich sehe, dass du eine Target Temp hast. Wenn die also nicht nur Read Only ist, dann ja, dann sollte es gehen.
Die Datenpunkte scheinen ja zu den HM Thermostaten anders zu sein und es gibt bei den Dingern per Remote Befehl keinen manuellen Modus. `
Ich nehme an, dass das Thermostat ein eigenes Programm hat, dass du einstellen kannst.
Wenn das Thermostat ausschließlich nach der eigenen Planung arbeiten kann, dann hat es keinen manuellen mode.
Das heißt aber nicht, dass du das Thermostat nicht steuern kannst. Wenn du Beispielsweise nur einmal am Tag eine Temp eingeben würdest und ioBroker eine Minute später schlicht wieder übersteuerst, dann ist das zumindest ein Workaround um damit umzugehen.
Nun weiß ich nicht wie das Thermostat genau funktioniert aber ich würde es mal probieren.
vG Looxer
-
Hallo,
ich wollte heute mal das Script ausprobieren. Jedoch bekomme ich leider beim start immer folgende Meldung im Log:
16:05:05.580 [info] javascript.0 Start javascript script.js.common.heating 16:05:05.580 [info] javascript.0 script.js.common.heating: Routine GetDevices Devices initialisiert 16:05:05.581 [info] javascript.0 script.js.common.heating: registered 0 subscriptions and 0 schedules 16:05:07.423 [info] javascript.0 script.js.common.heating: Heizungsscript verarbeitung benutzt Trigger und Events 16:05:07.424 [warn] javascript.0 at setOwnState (script.js.common.heating:494:5) 16:05:07.425 [warn] javascript.0 at LoopRooms (script.js.common.heating:773:5) 16:05:07.425 [warn] javascript.0 at Object. (script.js.common.heating:431:9)
Kann mir jemand weiterhelfen? :?:
LG
-
Hi
@ErazorVIP:Jedoch bekomme ich leider beim start immer folgende Meldung im Log: `
sieht nach einem Problem bei der Konfiguration aus (warnung).javascript.0 at Object. (script.js.common.heating:431:9)
Zeile 431 (falls du keine global Scripte verwendest)
Wenn du den Konfig Teil postest laesst sich evt was sagen.
vG Looxer
-
Ich habe eigentlich alles bei den Standardeinstellungen gelassen.
Ich habe nur HM-IP Thermostate.
Es werden auch keine States angelegt.
javascript.0 2018-10-02 17:18:20.097 warn at Object. <anonymous>(script.js.Heizungssteuerung.Heating:431:9) javascript.0 2018-10-02 17:18:20.097 warn at LoopRooms (script.js.Heizungssteuerung.Heating:773:5) javascript.0 2018-10-02 17:18:20.097 warn at setOwnState (script.js.Heizungssteuerung.Heating:494:5) javascript.0 2018-10-02 17:18:20.093 warn State "javascript.0.Heizung.Heizplan.GlobaleParameter.Source_last_Program_Run" not found</anonymous>
// Beginn Generelle Einstellungen // werden an dieser Stelle benoetigt - Einstellungen sind nur in Spezialfaellen notwendig //------------------------------------------------------------------------------ // Anpassung nur wenn unbedingt notwendig. Hier ist der Ansatz um z.B. Einliegerwohnungen separat zu steuern var JSPath = "javascript.0."; // JS- Pfad var path = JSPath + 'Heizung.Heizplan'; // Pfad fuer create states var Gparameterpath = path + ".GlobaleParameter"; // Pfad in die Globalen Parameter var ICALPath = "ical.0.events"; // Pfad zu den ICAL events zur Profilauswahl //------------------------------------------------------------------------------ // Ende Generelle Einstellungen // Usereinstellungen sind Einstellungen, die ueblicherweise gemacht werden //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // Beginn USER Einstellungen //------------------------------------------------------------------------------ // Gewerke - wichtige Einstellung, da nur die Geraete eingelesen werden, die im Gewerk vorhanden sind // Das Gewerk muss alle Thermostate bzw Sensoren enhalten var HeizungGewerk = "Heizung"; // diesem Gewerk muessen alle Thermostate zugeordnet sein. var SensorGewerk = "Verschluss"; // diesem Gewerk muessen alle Verschlusssensoren zugeordnet sein. // Alle x Minuten wird gecheckt ob die SollTemp angepasst werden muss - Empfehlung wenn cron dann 5 // Wenn Wert = 0 ist dann läuft das Skript über Events (empfohlener Weg) var cron = 0; // Raumliste - empfohlen zu benutzen fuer kleine Systeme // UseRoomList heisst, dass die nur hier gelisteten Raeume angelegt und abgearbeitet werden - somit werden nicht sofort alle Datenpunkte aller Räume angelegt (ca. 100 pro Raum und Profil) // dies dient hauptsaechlich zur Anlage der Daten - So koennen Raum fuer Raum alle States angelegt wrden // Das sollte genutzt werden mit langsamen Rechnern wie Raspi mit SD karte var UseRoomList = false; // Wenn testmodus werden nur die Angegebenen Raeume abgearbeitet var RoomList = []; RoomList[0] = ['Wohnzimmer']; // Liste der Raeume die gesteuert werden soll zum Testen RoomList[1] = ['Raum2']; RoomList[2] = ['Raumx']; RoomList[3] = ['Raum3']; RoomList[4] = ['Raum4']; RoomList[5] = ['Raum5']; RoomList[6] = ['Raum6']; RoomList[7] = ['Raum7']; RoomList[8] = ['Raum8']; RoomList[9] = ['Raum9'];