NEWS
[Vorlage] Heizungsthermostatsteuerung 2.1 - Script
-
Jetzt bin ich verwirrt, habe den Iobroker neu gestartet und jetzt ist das Verhalten genau andersrum, es wird die Absenktemperatur gesetzt aber nicht wieder zurückgesetzt :?
Habe im Skript folgendes eingetragen:
NoneHMSenorTab[3] = ['Büro', 'mihome.0.devices', 'magnet_158d000xxxxx', 'state' , false, false];
var VerschlussAbsenkungsGrenze = 10;
Log:
! 2018-09-30 11:11:16.040 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = hm-rpc.1.CUX9001002.1.STATE Raum = Büro
! 2018-09-30 11:11:16.042 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = mihome.0.devices.magnet_158d000xxxxxx.state Raum = Büro
! 2018-09-30 11:11:16.043 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorStatCalc: Sensorstatus ist false fuer devtype = NoneHM und id mihome.0.devices.magnet_158d000xxxxxx.state
! 2018-09-30 11:11:16.049 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Fenster mihome.0.devices.magnet_158d000xxxxxx.state status geaendert fuer mihome.0.devices.magnet_158d000xxxxxx.state Büro false
! 2018-09-30 11:11:16.050 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Raum Büro
! 2018-09-30 11:11:16.051 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor ist direktverknuepft ? false
! 2018-09-30 11:11:16.051 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor status ist ? false
! 2018-09-30 11:11:16.053 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopDevices: Sensorstatus fuer raum Büro ist true
! 2018-09-30 11:11:16.054 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopDevices:Verschluss offen TemperaturAbsenkung gesetzt
! 2018-09-30 11:11:16.056 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Setze Büro.Source_Profil zu 99
! 2018-09-30 11:11:16.057 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Setze Büro.Source_Global_Parameter zu Verschluss offen TemperaturAbsenkung gesetzt
! 2018-09-30 11:11:16.058 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Setze Büro.Source_Schedule zu
! 2018-09-30 11:11:16.064 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_Profil
! 2018-09-30 11:11:16.069 - 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 11:11:16.074 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_Schedule
! 2018-09-30 11:12:05.364 - info: web.0 <==Disconnect system.user.admin from ::ffff:192.168.178.95 vis.0
! 2018-09-30 11:12:06.150 - info: web.0 ==>Connected system.user.admin from ::ffff:192.168.178.95
! 2018-09-30 11:12:56.921 - info: javascript.0 Stop script script.js.common.Heizungssteuerung_Büro
! 2018-09-30 11:13:26.285 - info: javascript.0 Start javascript script.js.common.Heizungssteuerung_Büro
! 2018-09-30 11:13:26.317 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Gibt es ein zugeordnetes Gerät für den Raum Büro wird jetzt ueberprueft
! 2018-09-30 11:13:26.507 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine getdevice fuer Büro
! 2018-09-30 11:13:26.529 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine GetDevices fuer HM Thermostate Büro - hm-rpc.0.,HM-CC-RT-DN,Heizkoerperthermostat(neu),HT,4.SET_TEMPERATURE,false,4.MANU_MODE,true,4.ACTUAL_TEMPERATURE,4.CONTROL_MODE,12,0
! 2018-09-30 11:13:26.529 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Liste der Thermostate in der Control Tabelle
! 2018-09-30 11:13:26.529 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Büro,hm-rpc.0.OEQ2081886.4.SET_TEMPERATURE,HM-CC-RT-DN,Thermostat Büro:4.SET_TEMPERATURE,hm-rpc.0.OEQ2081886,HT,4.SET_TEMPERATURE,4.MANU_MODE,true,4.ACTUAL_TEMPERATURE,4.CONTROL_MODE,12,0
! 2018-09-30 11:13:26.618 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine GetDevices fuer HM Sensoren Büro - Büro,hm-rpc.1.CUX9001002.1.STATE,HM-Sec-SC,Fenstersensor_Büro:1.STATE,hm-rpc.1.CUX9001002,HM,1.STATE,true,false,true
! 2018-09-30 11:13:26.826 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine getdevice fuer NoneHMSenorTab Büro
! 2018-09-30 11:13:26.827 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine GetDevices NoneHM Sensoren: Büro - Büro,mihome.0.devices.magnet_158d000xxxxxx.state,NoneHM,Is opened,mihome.0.devices,state,Is opened,false,false,false
! 2018-09-30 11:13:26.827 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Liste der relevanten Räume Büro
! 2018-09-30 11:13:26.827 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine GetDevices Devices initialisiert
! 2018-09-30 11:13:26.828 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: registered 3 subscriptions and 0 schedules
! 2018-09-30 11:13:28.831 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Heizungsscript verarbeitung benutzt Trigger und Events
! 2018-09-30 11:13:28.844 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopRooms Starte Abarbeitung fuer Raum Büro
! 2018-09-30 11:13:28.849 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopDevices: Sensorstatus fuer raum Büro ist true
! 2018-09-30 11:13:28.851 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopRooms Ende Abarbeitung fuer Raum Büro
! 2018-09-30 11:13:28.851 - info: javascript.0 script.js.common.Heizungssteuerung_Büro:
! 2018-09-30 11:13:28.859 - 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 11:13:28.864 - 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 11:13:41.629 - info: web.0 <==Disconnect system.user.admin from ::ffff:192.168.178.95 vis.0
! 2018-09-30 11:13:42.301 - info: web.0 ==>Connected system.user.admin from ::ffff:192.168.178.95
! 2018-09-30 11:16:00.908 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = hm-rpc.1.CUX9001002.1.STATE Raum = Büro
! 2018-09-30 11:16:00.909 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = mihome.0.devices.magnet_158d000xxxxxx.state Raum = Büro
! 2018-09-30 11:16:00.911 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorStatCalc: Sensorstatus ist true fuer devtype = NoneHM und id mihome.0.devices.magnet_158d000xxxxxx.state
! 2018-09-30 11:16:00.912 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Fenster mihome.0.devices.magnet_158d000xxxxxx.state status geaendert fuer mihome.0.devices.magnet_158d000xxxxxx.state Büro true
! 2018-09-30 11:16:00.912 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Raum Büro
! 2018-09-30 11:16:00.913 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor ist direktverknuepft ? false
! 2018-09-30 11:16:00.913 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor status ist ? true
! 2018-09-30 11:16:29.561 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = hm-rpc.1.CUX9001002.1.STATE Raum = Büro
! 2018-09-30 11:16:29.562 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = mihome.0.devices.magnet_158d000xxxxxx.state Raum = Büro
! 2018-09-30 11:16:29.562 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorStatCalc: Sensorstatus ist false fuer devtype = NoneHM und id mihome.0.devices.magnet_158d000xxxxxx.state
! 2018-09-30 11:16:29.563 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Fenster mihome.0.devices.magnet_158d000xxxxxx.state status geaendert fuer mihome.0.devices.magnet_158d000xxxxxx.state Büro false
! 2018-09-30 11:16:29.563 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Raum Büro
! 2018-09-30 11:16:29.563 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor ist direktverknuepft ? false
! 2018-09-30 11:16:29.564 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor status ist ? false
! 2018-09-30 11:16:29.564 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopDevices: Sensorstatus fuer raum Büro ist true
! 2018-09-30 11:16:29.565 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopDevices:Verschluss offen TemperaturAbsenkung gesetzt
4191_b_ro.jpg -
und jetzt ist das Verhalten genau andersrum, es wird die Absenktemperatur gesetzt aber nicht wieder zurückgesetzt
var VerschlussAbsenkungsGrenze = 10; `
Hi,also die Abesenkungsgrenze ist notwendig, um zu unterscheiden ob eine Temperatur gesetzt worden ist aufgrund eines Fensterstatus oder ggf manuell. Das kann schon Einfluss darauf haben, ob eine Temp zurückgesetzt wird. Wenn du die Gültigkeit der manuellen Temperatur für das Büro in VIS auf "0" setzt, dann kannst du schonmal ausschliessen, dass es hier einen Zusammenhang gibt.
Was hast du für Thermostate ?
vG Looxer
-
Ich habe die HM-CC-RT-DN gestern montiert.
-
Ich habe die HM-CC-RT-DN gestern montiert. `
Ok, die dürften keine Probleme machen.Hast du auch Wandthermostate ?
vG Looxer
-
nein, nur die Thermostate (das ist montiert) und die Xiaomi Sensoren und die sind noch nicht montiert, damit ich damit jetzt "spielen" kann.
-
…das ist ein von mir getesteter Fall (allerdings ohne Xiaomi Sensoren, was aber keine Rolle spielen sollte)
Dann schicke mir doch bitte mal den Einstellungsbereich des Heizungsprogrammes. Vielleicht sehe ich was.
Die Verschlussabsenktemperatur empfehle ich gleich zu halten mit den Thermostaten. (Einstellung in der CCU)
Die ist auf der CCU mit 12 Grad im Standard eingestellt.
vG Looxer
-
folgendes ist in der CCU bzw VIS eingetragen:
4191_ccu.jpg
4191_b_ro.jpg -
Hi,
was mir auffällt ist, dass es eine Meldung gibt, dass das Büro geschlossen ist aber das Fenster auf "offen"
Hast du in VIS den Datenpunkt des Sensors eingetragen ?
kannst du mir das Programm (Script) auch zusenden ?
vG Looxer
-
ja im VIS ab ich den Datenpunkt: mihome.0.devices.magnet_158d000xxxxx.state verwendet
kann es sein das es Probleme macht, wenn das Skript den Xiaomi Sensor einmal als
Sensor: mihome.0.devices.magnet_158d000xxxxx.state
und als
hm-rpc.1.CUX9001002.1.STATE Büro true
findet, weil ich ja den Fensterzustand an die CCU zurückmelde?
Habe mal ausprobiert den Wert auf
SensorTypeTab[1] = ['hm-rpc.0.', 'HM-Sec-SC' , 'Fenstersensor (alt)' , 'HM', '1.STATE' , false, false, false ];
zu setzen, was aber auch nicht funktioniert hat.
! 2018-09-30 12:36:36.877 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = hm-rpc.1.CUX9001002.1.STATE Raum = Büro
! 2018-09-30 12:36:36.877 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = mihome.0.devices.magnet_158d000xxxxx.state Raum = Büro
! 2018-09-30 12:36:36.880 - 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 12:36:36.880 - 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 12:36:36.881 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Raum Büro
! 2018-09-30 12:36:36.881 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor ist direktverknuepft ? false
! 2018-09-30 12:36:36.882 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor status ist ? true
! 2018-09-30 12:36:38.149 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = hm-rpc.1.CUX9001002.1.STATE Raum = Büro
! 2018-09-30 12:36:38.150 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorStatCalc: Sensorstatus ist true fuer devtype = HM-Sec-SC und id hm-rpc.1.CUX9001002.1.STATE
! 2018-09-30 12:36:38.150 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Fenster hm-rpc.1.CUX9001002.1.STATE status geaendert fuer hm-rpc.1.CUX9001002.1.STATE Büro true
! 2018-09-30 12:36:38.150 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Raum Büro
! 2018-09-30 12:36:38.150 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor ist direktverknuepft ? false
! 2018-09-30 12:36:38.150 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor status ist ? true
4191_heizungsscript_20b03_b_ro.txt
4191_view_20_b_ro_init.txt -
kann es sein das es Probleme macht, wenn das Skript den Xiaomi Sensor einmal als
Sensor: mihome.0.devices.magnet_158d000xxxxx.state
und als
hm-rpc.1.CUX9001002.1.STATE Büro true `
Ich habe mir deine Einstellungen angesehen. Sieht ok aus.Wie aber jetzt hm-rpc.1.CUX9001002.1.STATE ins Spiel kommt verstehe ich nicht. Automatisch finden dürfte das Script den nicht und eingestellt hast du den auch nicht.
In der SensorTypeTab sind die Standard Homematic Geräte vordefiniert. Die Bedingungen zur Findung sind, dass
-
sie der vorgegebenen Instanz der RPC zugeordnet sind (z.B 0)
-
dass sie in den RAW Daten den Type enthalten z.B. HM-Sec-SC
-
dass sie dem Raum bzw einem Raum und dem Gewerk zugeordnet sind.
ansonsten dürfte das Programm nichts finden. Manuell eingetragen hast du auch nichts
:?:
vG Looxer
Ist mir rätselhaft.
-
-
also m.E. kommt der Sensor hm-rpc.1.CUX9001002.1.STATE dadurch ins Spiel, weil dieser in der CCU ja als HM-Sec-SC simuliert wird.
![](</s><ATTACHMENT )[attachment=0]HM-Sec-SC.jpg[/attachment]" /> -
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...