NEWS
Test Adapter shuttercontrol v1.7.x
-
@robschii das ist mit der aktuellen Version möglich. Lies dir mal bitte die Doku durch. Dort steht beschrieben, dass du nicht alle Optionen wie z.B. Lichtsensor konfigurieren musst. Shuttercontrol prüft, ob es konfiguriert ist und nutzt es nur, wenn du auch wirklich einen State eingetragen hast
-
@simatec ah sorry stimmt ja, gelesen aber nicht mehr gewusst oder ignoriert.
Danke
-
@simatec sagte in Test Adapter shuttercontrol v1.6.x:
@fatmax sagte in Test Adapter shuttercontrol v1.6.x:
@simatec ich hätte die gleiche Anforderung.
Ich würde es z.B. toll finden die Rollläden für einzelne Fenster per Zeittrigger wieder in den sunProtect Modus über ein Skript setzen zu können.
Das Thema ist nämlich, sobald diese im sunProtect Modus sind und jemand fährt diese Rollläden manuell hoch (aus welchen Gründen auch immer), bleiben die meist dann oben, da derjenige vergisst wieder zu verdunkeln. Der sunProtect Modus wurde aber dann bereits durch den manuellen Modus ersetzt.
Alle Rollläden in den sunProtect Modus zu versetzen ist nicht das Ziel, da ich Rollläden im manuellen Modus, welche manuell tagsüber komplett geschlossen wurden, auch komplett geschlossen halten möchte.Der Manu-Mode ist genau dafür da, dass der Rollladen nicht mehr automatisch fährt. Ich denke es sollte eher verhindert werden, das manuell gefahren wird, wenn es von dir nicht gewünscht ist. Die Funktion sollte nicht angefasst werden, da sionst andere User wieder schreien.
Bei einer Steuerung in der Komplexität, die extrem viel abdect, kann man leider nicht alle Wünsche unter einen Hut bringen....Ich kann mir gut vorstellen, dass hier eine Menge Arbeit im Hintergrund passiert.
Vielen Dank dafür für die Umsetzung.Leider kann man den manuellen Eingriff nicht immer verhindern, bzw. darf man den auch nicht ganz entfernen für gewisse Familienmitglieder ohne es sich mit denen zu verscherzen
Was ich so im Forum lese, ist dieser Wunsch jetzt bereits mehrmals gekommen.
Im Grunde gibt es ja den Datenpunkt alle Rollläden manuell auf einmal ein den Sun_Protect Modus zu setzen.
Könnte dieser DP nicht für alle Rollläden einzeln angelegt werden?
Dies würde das Thema lösen.@simatec Noch eine 2. Frage.
Wäre es möglich den Übergang von AutoUp zu sunProtect eleganter lösen zu können?
Der Rollladen fährt bei AutoUp komplett hoch, befindet sich aber bereits im sunProtect und fährt nach einigen Sekunden wieder fast zu bis zum sunProtect-Level. -> Kann man den Rollladen von komplett zu nicht direkt nur bis zum sunProtect-Level fahren lassen?Sollte er eigentlich so machen... Bitte den kompletten Debuglog von dem genannten Rolladenfahrten und bitte deine Config als JSON File posten
Sorry für die Umstände. Das war falscher Alarm von meiner Seite.
Ich habe noch eine Frage zur Verwendung der Lichtsensoren.
Man kann ja den Wert und den Toleranzbereich angeben indem der Sun-Protect Modus aktiv bleibt.
Gibt es hier auch so eine Art Entprellen im Adapter für den aktuellen Wert der vom Sensor herangezogen wird.
Wenn nur kurz eine Wolke drüber zieht wechselt er ständig im Sun-Protect Modus hin und her und die Rollläden fahren rauf und runter. -
@fatmax sagte in Test Adapter shuttercontrol v1.6.x:
Gibt es hier auch so eine Art Entprellen im Adapter für den aktuellen Wert der vom Sensor herangezogen wird.
Wenn nur kurz eine Wolke drüber ziehtja!
-
@fatmax said in Test Adapter shuttercontrol v1.6.x:
Im Grunde gibt es ja den Datenpunkt alle Rollläden manuell auf einmal ein den Sun_Protect Modus zu setzen.
Wo ist dieser Datenpunkt?
-
@guitardoc sagte in Test Adapter shuttercontrol v1.6.x:
@fatmax said in Test Adapter shuttercontrol v1.6.x:
Im Grunde gibt es ja den Datenpunkt alle Rollläden manuell auf einmal ein den Sun_Protect Modus zu setzen.
Wo ist dieser Datenpunkt?
unter shuttercontrol.0
...control
-
@homoran Oh Mann, klar... Ich hab wieder Tomaten auf den Augen.
-
@fatmax said in Test Adapter shuttercontrol v1.6.x:
Könnte dieser DP nicht für alle Rollläden einzeln angelegt werden?
Eine Option wäre auch, wenn es im Adapter die Möglichkeit gäbe, einzustellen, wie lange der Manu_mode für das betreffende Fenster gültig sein soll. Danach wieder in den vorhergehenden Modus. Vielleicht lässt sich das durch @simatec einfacher programmieren?
-
@robschii
Ich steuere im Shuttercontrol niemals die Rolladenschalter direkt, sondern über einen Datenpunkt, den ich für jeden Rollläden unter Userdata definiert habe.
Hier legt Shuttercontrol die von ihm gewünschte Höhe an.
Auf jedem Daten Punkt existiert im JS ein on-change-any Watcher, der bei Änderungen den Wert ausliest und an den echten Rolladenschalter sendet.
Funktioniert gut und Shuttercontrol merkt nicht, wenn jemand manuell die Rollläden fährt. -
@higginsd sagte in Test Adapter shuttercontrol v1.6.x:
Ich steuere im Shuttercontrol niemals die Rolladenschalter direkt, sondern über einen Datenpunkt, den ich für jeden Rollläden unter Userdata definiert habe
exakt so mach ich das auch. funktioniert perfekt und der manu_mode wird dadurch nie gesetzt
genauere Infos hab ich hier beschrieben: https://forum.iobroker.net/topic/55716/lamellensteuerung-mit-shuttercontrol/7?_=1716529029341
-
@higginsd said in Test Adapter shuttercontrol v1.6.x:
Funktioniert gut und Shuttercontrol merkt nicht, wenn jemand manuell die Rollläden fährt.
Wie machst du das dann wenn jemand den Rollladen per Hand fährt? Hast du dann im JS einen Timer eingebaut, wann der Rollladen wieder in die Höhe fahren soll, die Shuttercontrol ihm vorgibt, oder gibt es da einen anderen Weg?
-
@homoran sagte in Test Adapter shuttercontrol v1.6.x:
@fatmax sagte in Test Adapter shuttercontrol v1.6.x:
Gibt es hier auch so eine Art Entprellen im Adapter für den aktuellen Wert der vom Sensor herangezogen wird.
Wenn nur kurz eine Wolke drüber ziehtja!
Oh Mann, ich bin blind.
Danke, dass hat mein Problem gelöst. -
Bitte auch für mich noch mal zum mitmeißeln.
Die Hysterese im Sun-protect Modus ist also nicht für die vorbeiziehenden Wolken gedacht, sondern dafür gibt es diesen Entprellwert? -
@guitardoc sagte in Test Adapter shuttercontrol v1.6.x:
Die Hysterese im Sun-protect Modus
je nach Sensor und Konfig wird ja die Hysterese auch erreicht. Aber nur kurzfristig.
Die Hysteres höher zu setzen ist oft keine Lösung.Ein Timeout überbrückt kurze Wolken(felder)
-
@guitardoc said in Test Adapter shuttercontrol v1.6.x:
Hab noch einen Punkt entdeckt wo die Logik nicht passt:
Schlafzimmer
Fenster offen
Es wird Nacht -> Jalousie bleibt oben (richtig, das Fenster ist ja offen)
Es wird morgen -> Jalousie fährt runter (falsch, das Fenster ist immer noch offen)
Es wird 08:00 Uhr -> Jalousie fährt wieder hochOder hab ich was falsch eingestellt?
Ich denke, ich habe den Bug im Adapter gefunden. Das Verhalten oben tritt nur auf, wenn von Woche zu Wochenende gewechselt wird. Dann passiert folgendes:
2024-06-01 05:01:00.640 - info: shuttercontrol.2 (23065) Window is still closed -> drive to last height: Set ID: Schlafzimmer value: 0% 2024-06-01 06:00:00.067 - info: shuttercontrol.2 (23065) Living up #13 Set ID: Wohnzimmer Südostseite value: 100% 2024-06-01 06:00:00.116 - info: shuttercontrol.0 (22283) Living up #13 Set ID: Arbeitszimmer value: 100% 2024-06-01 06:00:00.119 - info: shuttercontrol.1 (22298) Living up #13 Set ID: Bad Nordwestseite value: 100% 2024-06-01 06:00:02.129 - info: shuttercontrol.2 (23065) Living up #13 Set ID: Wohnzimmer Südseite value: 100% 2024-06-01 06:00:02.172 - info: shuttercontrol.0 (22283) Living up #13 Set ID: Treppenhaus value: 100% 2024-06-01 06:00:02.179 - info: shuttercontrol.1 (22298) Living up #13 Set ID: Bad Nordseite value: 100% 2024-06-01 06:00:04.184 - info: shuttercontrol.2 (23065) Living up #13 Set ID: Wohnzimmer Südwestseite value: 100% 2024-06-01 06:00:04.218 - info: shuttercontrol.0 (22283) Living up #13 Set ID: Gästetoilette value: 100% 2024-06-01 06:00:04.225 - info: shuttercontrol.1 (22298) Living up #13 Set ID: Bad Nordostseite value: 100% 2024-06-01 06:00:06.232 - info: shuttercontrol.2 (23065) Living up #13 Set ID: Wohnzimmer Tür zum Wintergarten value: 100% 2024-06-01 06:00:06.261 - info: shuttercontrol.0 (22283) Living up #13 Set ID: Küche value: 100% 2024-06-01 06:00:08.278 - info: shuttercontrol.2 (23065) Living up #13 Set ID: Wohnzimmer Fenster zum Wintergarten value: 100% 2024-06-01 06:00:10.325 - info: shuttercontrol.2 (23065) Living up #13 Set ID: Wohnzimmer Tür zur Terrasse value: 100% 2024-06-01 06:00:12.375 - info: shuttercontrol.2 (23065) Living up #13 Set ID: Gästezimmer value: 100% 2024-06-01 08:00:00.115 - info: shuttercontrol.2 (23065) Sleep up #21 Set ID: Schlafzimmer value: 100%
Der allererste Eintrag ist entscheidend - das Fenster ist eben nicht geschlossen, sondern immer noch auf. 06:00 Uhr ist die früheste Öffnung - da gehen jetzt alle Jalousien im Wohnbereich hoch (richtig) nur der im Schlafbereich geht runter (falsch), denn dort liegt der Fehler im Adapter.
@simatec Kannst du dir das bitte noch einmal anschauen? Danke! -
@guitardoc Im aktuellen Shuttercontrol ist immer noch ein ärgerlicher Fehler drin.
- Fenster ist geschlossen, Jalousie fährt in Sunprotect
- Fenster wird geöffnet, Jalousie fährt hoch, merkt sich aber, dass eigentlich noch Suprotect ist wenn das Fenster wieder geschlossen wird
- Es wird dunkler, so dass gar kein Sunprotect mehr ist (hier müssen alle Fenster, die sich was von Sunprotect gemerkt haben, auch kein Sunprotect mehr haben - bekommen sie aber nicht. PS. Wenn nach Aufhebung des Sunprotect aber später wieder Sunprotect kommt, dann muss das Fenster diesen gemerkten Status natürlich auch wieder bekommen)
- Fenster wird geschlossen, Jalousie fährt runter weil sie sich gemerkt hat, dass Sunprotect ist wenn das Fenster geschlossen wird (und schon haben wir das Fehlverhalten)
Das ist wirklich nervig...
-
@guitardoc Und was steht im Debuglog zu diesem Verhalten? Ohne Log sind diese Beschreibungen immer eher nicht nachvollziehbar.
Des Weiteren wird die Config des betroffenen Rollladens als json benötigt… -
@simatec Das Verhalten müsste sich recht gut reproduzieren lassen, es ist bei mir schon viele Male aufgetreten. Es ist bei mir das letzte Mal gestern aufgetreten und blöderweise ich hab die Logs nicht mehr - musste danach den LXC aus dem Backup vom Vortag einspielen wegen eines anderen Fehlers.
Kannst du das Verhalten und den Ablauf im Adapter simulieren?
Fenster zu
Sonne scheint (Jalousie geht runter)
Fenster auf (Jalousie geht hoch)
Sonne scheint nicht mehr
Fester zu (jetzt geht die Jalousie runter obwohl sie oben bleiben müsste)Hier noch die Einstellungen der Fenster (sind alle weitgehend identisch eingestellt)
{ "_id": "system.adapter.shuttercontrol.0", "common": { "name": "shuttercontrol", "version": "1.7.0", "title": "shuttercontrol", "authors": [ "simatec <shuttercontrol@simateccloud.de>" ], "contributors": [ "Rene G. <info@rg-engineering.eu>" ], "keywords": [ "home automation", "Rollladen", "Jalousie", "Rollladensteuerung", "shutter", "Homematic", "Sunprotec", "Sonnenschutz", "Astro", "Elevation", "Sonneuntergang", "Sonnenaufgang" ], "license": "MIT", "platform": "Javascript/Node.js", "main": "main.js", "icon": "shuttercontrol.png", "enabled": true, "extIcon": "https://raw.githubusercontent.com/simatec/ioBroker.shuttercontrol/master/admin/shuttercontrol.png", "readme": "https://github.com/simatec/ioBroker.shuttercontrol/blob/master/README.md", "loglevel": "info", "mode": "daemon", "type": "climate-control", "compact": true, "materialize": true, "connectionType": "local", "dataSource": "push", "stopBeforeUpdate": true, "adminUI": { "config": "materialize" }, "plugins": { "sentry": { "dsn": "https://5f58df7167d846e3a90bae5414d4fc09@sentry.iobroker.net/62" } }, "installedVersion": "1.7.0", "host": "iobroker", "installedFrom": "iobroker.shuttercontrol@1.7.0", "dependencies": [ { "js-controller": ">=4.0.0" } ], "globalDependencies": [ { "admin": ">=6.0.0" } ], "docs": { "en": "docs/en/shuttercontrol.md", "de": "docs/de/shuttercontrol.md" }, "tier": 2 }, "native": { "livingAutomatic": "livingSunriseSunset", "W_shutterDownLiving": "23:00", "W_shutterUpLivingMin": "05:00", "W_shutterUpLivingMax": "09:00", "driveDelayUpLiving": "2", "WE_shutterDownLiving": "23:00", "WE_shutterUpLivingMin": "06:00", "WE_shutterUpLivingMax": "09:00", "sleepAutomatic": "sleepSunriseSunset", "W_shutterDownSleep": "23:00", "W_shutterUpSleepMin": "08:00", "W_shutterUpSleepMax": "09:00", "driveDelayUpSleep": "2", "WE_shutterDownSleep": "23:00", "WE_shutterUpSleepMin": "08:00", "WE_shutterUpSleepMax": "09:00", "childrenAutomatic": "childrenSunriseSunset", "W_shutterDownChildren": "20:00", "W_shutterUpChildrenMin": "06:00", "W_shutterUpChildrenMax": "06:30", "driveDelayUpChildren": "2", "WE_shutterDownChildren": "21:00", "WE_shutterUpChildrenMin": "06:00", "WE_shutterUpChildrenMax": "06:30", "latitude": "51.278486150000006", "longitude": "12.507069799527972", "sunProtEndElevation": "5", "astroDelayUp": "0", "astroDelayDown": "0", "driveDelayUpAstro": "1", "SummerStart": "01.03.", "SummerEnd": "30.09.", "XMasStart": "25.11.", "XMasEnd": "06.01.", "publicHolidays": true, "publicHolInstance": "feiertage.0", "HolidayDP": "feiertage.0.heute.boolean", "lightsensorDown": "50", "lightsensorUp": "100", "lightsensorUpTime": "05:00", "lightsensorDownTime": "16:00", "lightsensorUpDown": "0_userdata.0.Helligkeit.Maximalwert_aus_allen_Sensoren", "schoolfree": false, "schoolfreeInstance": "", "schoolfreeDP": "", "schoolfreeChildrenArea": true, "schoolfreeSleepArea": false, "schoolfreeLivingArea": false, "LateAllDown": false, "LateAllDownTime": "22:15", "betweenPositionTime": "22:00", "noGoTime": "1", "satIsWeek": false, "currentShutterState": true, "currentShutterStateTime": "60", "blockManuMode": false, "shutterStateRound": "1", "triggerAutoSleep": "", "triggerAutoLiving": "", "triggerAutoChildren": "", "alarmWind1Level": "100", "alarmWind1": "", "alarmWind2Level": "100", "alarmWind2": "", "alarmRainLevel": "100", "alarmRain": "", "alarmFrostLevel": "80", "alarmFrost": "", "alarmFireLevel": "100", "alarmFire": "", "events": [ { "enabled": true, "shutterName": "Arbeitszimmer", "name": "0_userdata.0.Jalousien.Arbeitszimmer_Position", "triggerID": "0_userdata.0.Fenster.Arbeitszimmer.Virtueller_Kontaktsensor", "typeUp": "living", "typeDown": "lightsensor", "type": "outside temperature and direction", "heightDownSun": "35", "direction": "90", "directionRange": "80", "tempInside": "23", "tempSensor": "", "outsideTempSensor": "0_userdata.0.Temperatur.Vorhersage_mit_Offset", "tempOutside": "20", "lightSensor": "0_userdata.0.Helligkeit.Maximalwert_aus_allen_Sensoren", "valueLight": "80000", "heightUp": "100", "heightDown": "0", "triggerState": "false", "triggerStateTilted": "none", "triggerDrive": "100", "triggerDriveTildet": "", "triggerChange": "off", "elevation": "", "autoDrive": "off", "hysteresisOutside": "10", "hysteresisInside": "5", "hysteresisLight": "30", "currentAction": "", "currentHeight": "", "oldHeight": "", "firstCompleteUp": "", "triggerHeight": "", "LateDown": false, "inSummerNotDown": false, "KeepSunProtect": false, "triggerAction": "", "driveAfterClose": true, "useXmasLevel": true, "XmasLevel": "50", "betweenPosition": false, "betweenPositionLevel": "50", "trigDelyUp": "0", "trigDelyDown": "0", "sunProtectEndDely": "10", "sunProtectEndtimerid": "", "enableAlarmWind1": false, "enableAlarmWind2": false, "enableAlarmRain": false, "enableAlarmFrost": false, "enableAlarmFire": false, "alarmTriggerAction": "", "alarmTriggerLevel": "", "lastAutoAction": "", "tempHeatProtection": "", "heatProtection": false }, { "enabled": true, "shutterName": "Treppenhaus", "name": "0_userdata.0.Jalousien.Treppenhaus_Position", "triggerID": "0_userdata.0.Fenster.Treppenhaus.Virtueller_Kontaktsensor", "typeUp": "living", "typeDown": "lightsensor", "type": "outside temperature and direction", "heightDownSun": "30", "direction": "90", "directionRange": "60", "tempInside": "23", "tempSensor": "", "outsideTempSensor": "0_userdata.0.Temperatur.Vorhersage_mit_Offset", "tempOutside": "20", "lightSensor": "0_userdata.0.Helligkeit.Maximalwert_aus_allen_Sensoren", "valueLight": "80000", "heightUp": "100", "heightDown": "0", "triggerState": "false", "triggerStateTilted": "none", "triggerDrive": "100", "triggerDriveTildet": "", "triggerChange": "off", "elevation": "", "autoDrive": "off", "hysteresisOutside": "10", "hysteresisInside": "5", "hysteresisLight": "30", "currentAction": "", "currentHeight": "", "oldHeight": "", "firstCompleteUp": "", "triggerHeight": "", "LateDown": false, "inSummerNotDown": false, "KeepSunProtect": false, "triggerAction": "", "driveAfterClose": true, "useXmasLevel": false, "XmasLevel": "0", "betweenPosition": false, "betweenPositionLevel": "50", "trigDelyUp": "0", "trigDelyDown": "0", "sunProtectEndDely": "10", "sunProtectEndtimerid": "", "enableAlarmWind1": false, "enableAlarmWind2": false, "enableAlarmRain": false, "enableAlarmFrost": false, "enableAlarmFire": false, "alarmTriggerAction": "", "alarmTriggerLevel": "", "lastAutoAction": "", "tempHeatProtection": "", "heatProtection": false }, { "enabled": true, "shutterName": "Gästetoilette", "name": "0_userdata.0.Jalousien.Gästetoilette_Position", "triggerID": "0_userdata.0.Fenster.Gästetoilette.Virtueller_Kontaktsensor", "typeUp": "living", "typeDown": "lightsensor", "type": "outside temperature and direction", "heightDownSun": "35", "direction": "90", "directionRange": "60", "tempInside": "23", "tempSensor": "", "outsideTempSensor": "0_userdata.0.Temperatur.Vorhersage_mit_Offset", "tempOutside": "20", "lightSensor": "0_userdata.0.Helligkeit.Maximalwert_aus_allen_Sensoren", "valueLight": "80000", "heightUp": "100", "heightDown": "0", "triggerState": "false", "triggerStateTilted": "none", "triggerDrive": "100", "triggerDriveTildet": "", "triggerChange": "off", "elevation": "", "autoDrive": "off", "hysteresisOutside": "10", "hysteresisInside": "5", "hysteresisLight": "30", "currentAction": "", "currentHeight": "", "oldHeight": "", "firstCompleteUp": "", "triggerHeight": "", "LateDown": false, "inSummerNotDown": false, "KeepSunProtect": false, "triggerAction": "", "driveAfterClose": true, "useXmasLevel": false, "XmasLevel": "0", "betweenPosition": false, "betweenPositionLevel": "50", "trigDelyUp": "0", "trigDelyDown": "0", "sunProtectEndDely": "10", "sunProtectEndtimerid": "", "enableAlarmWind1": false, "enableAlarmWind2": false, "enableAlarmRain": false, "enableAlarmFrost": false, "enableAlarmFire": false, "alarmTriggerAction": "", "alarmTriggerLevel": "", "lastAutoAction": "", "tempHeatProtection": "", "heatProtection": false }, { "enabled": true, "shutterName": "Küche", "name": "0_userdata.0.Jalousien.Küche_Position", "triggerID": "0_userdata.0.Fenster.Küche.Virtueller_Kontaktsensor", "typeUp": "living", "typeDown": "lightsensor", "type": "outside temperature and direction", "heightDownSun": "35", "direction": "90", "directionRange": "70", "tempInside": "23", "tempSensor": "", "outsideTempSensor": "0_userdata.0.Temperatur.Vorhersage_mit_Offset", "tempOutside": "20", "lightSensor": "0_userdata.0.Helligkeit.Maximalwert_aus_allen_Sensoren", "valueLight": "80000", "heightUp": "100", "heightDown": "0", "triggerState": "false", "triggerStateTilted": "none", "triggerDrive": "100", "triggerDriveTildet": "", "triggerChange": "off", "elevation": "", "autoDrive": "off", "hysteresisOutside": "10", "hysteresisInside": "5", "hysteresisLight": "30", "currentAction": "", "currentHeight": "", "oldHeight": "", "firstCompleteUp": "", "triggerHeight": "", "LateDown": false, "inSummerNotDown": false, "KeepSunProtect": false, "triggerAction": "", "driveAfterClose": true, "useXmasLevel": true, "XmasLevel": "50", "betweenPosition": false, "betweenPositionLevel": "50", "trigDelyUp": "0", "trigDelyDown": "0", "sunProtectEndDely": "10", "sunProtectEndtimerid": "", "enableAlarmWind1": false, "enableAlarmWind2": false, "enableAlarmRain": false, "enableAlarmFrost": false, "enableAlarmFire": false, "alarmTriggerAction": "", "alarmTriggerLevel": "", "lastAutoAction": "", "tempHeatProtection": "", "heatProtection": false } ] } }
-
@guitardoc sagte in Test Adapter shuttercontrol v1.6.x:
Kannst du das Verhalten und den Ablauf im Adapter simulieren?
ja, das könntest du!
- den sensor dp für die Sunprotecterkennung gegen einen eigenen Datenpunkt austauschen.
- Debug log starten
- Wert in dem Datenpunkt über die Entscheidungsgrenze ändern
- warten bis der Rollladen runterfährt
- fenster öffnen
- Wert wieder runter setzen
- Fenster schließen
- debug-log posten
-
@guitardoc ohne Debuglog kann ich mit das nicht anschauen. Dafür gibt es ja den Debuglog… um eventuelle Fehler zu analysieren und einzugrenzen