From 323d30bbcc3830f58e52ed73ed288d1de976674f Mon Sep 17 00:00:00 2001
From: LeonGaultier
Date: Sat, 9 Oct 2021 05:20:08 +0000
Subject: [PATCH] 73_AutoShuttersControl: multiple bugfixes, change version
git-svn-id: https://svn.fhem.de/fhem/trunk@25056 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
fhem/CHANGED | 2 +
fhem/FHEM/73_AutoShuttersControl.pm | 301 ++++++++++++++----
fhem/lib/FHEM/Automation/ShuttersControl.pm | 10 +-
.../FHEM/Automation/ShuttersControl/Dev.pm | 2 +-
.../Automation/ShuttersControl/Dev/Attr.pm | 2 +-
.../ShuttersControl/Dev/Readings.pm | 2 +-
.../EventProcessingFunctions.pm | 21 +-
.../FHEM/Automation/ShuttersControl/Helper.pm | 2 +-
.../ShuttersControl/Rainprotection.pm | 7 +
.../Automation/ShuttersControl/Roommate.pm | 2 +-
.../Automation/ShuttersControl/Shading.pm | 2 +-
.../Automation/ShuttersControl/Shutters.pm | 2 +-
.../ShuttersControl/Shutters/Attr.pm | 2 +-
.../ShuttersControl/Shutters/Readings.pm | 2 +-
.../FHEM/Automation/ShuttersControl/Window.pm | 2 +-
.../Automation/ShuttersControl/Window/Attr.pm | 2 +-
.../ShuttersControl/Window/Readings.pm | 2 +-
17 files changed, 277 insertions(+), 88 deletions(-)
diff --git a/fhem/CHANGED b/fhem/CHANGED
index b4d13af02..1d19144ce 100644
--- a/fhem/CHANGED
+++ b/fhem/CHANGED
@@ -1,5 +1,6 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
# Do not insert empty lines here, update check depends on it.
+ - bugfix: 73_AutoShuttersControl: multiple bugfixes, change version
- change: 10_KNX: multiple fixes & cleanup - see Forum Thread #122582
- bugfix: 48_MieleAtHome: fix but in autocreate
- feature: 32_withings: added vascularAge reading
@@ -37,6 +38,7 @@
- change: 57_SSCal: compatibility to DSM7
- bugfix: 10_WS980: v.1.5.0 fix fhem-crash when autodiscovery fails
- change: 10_WS980: allow to ignore invalid values
+ - bugfix: 46_TeslaPowerwall2AC: fix ssl Check and change package name
- feature: 49_SSCam: new value 8.2.8-xxxx for attr simu_SVSversion
- bugfix: 76_SMAInverter:fix ETOTAL/LOADTOTAL bug
- feature: 76_SMAInverter: hide unavailable data
diff --git a/fhem/FHEM/73_AutoShuttersControl.pm b/fhem/FHEM/73_AutoShuttersControl.pm
index 7d75f0d6a..62a85a950 100644
--- a/fhem/FHEM/73_AutoShuttersControl.pm
+++ b/fhem/FHEM/73_AutoShuttersControl.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net)
+# (c) 2018-2021 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net)
# All rights reserved
#
# Special thanks goes to:
@@ -112,6 +112,8 @@ sub Initialize {
1;
+__END__
+
=pod
=item device
=item summary Module for controlling shutters depending on various conditions
@@ -120,7 +122,7 @@ sub Initialize {
=begin html
-
+
AutoShuttersControl
@@ -138,7 +140,7 @@ sub Initialize {
closed window with shutters down is tilted, the shutters could be half opened for ventilation.
Many more is possible.
-
+
Define
@@ -166,7 +168,7 @@ sub Initialize {
-
+
Readings
Within the ASC device:
@@ -200,122 +202,136 @@ sub Initialize {
If the brightness or time mode is used, the value from ASC_Time_Up_Late is shown.
- ASC_Time_DriveDown - if the astro mode is used, the next sunset is shown.
- If the brightness or time mode is used, the value from ASC_TASC_Time_Down_Lateime_Up_Late is
+ If the brightness or time mode is used, the value from ASC_TASC_Time_Down_Late is
shown.
- ASC_ShuttersLastDrive - initiator for the last action
-
+
Set
+
+ - advDriveDown - execute all moves delayed by ASC_Adv on.
+
- ascEnable on|off - enable or disable the global control by ASC
+
- controlShading on|off - enable or disable the global shading control by ASC
+
- createNewNotifyDev - re-creates the internal structure for NOTIFYDEV. Is only present if
the
ASC_Expert attribute is set to 1.
+
- hardLockOut on|off -
- hardLockOut - on/off - Aktiviert den hardwareseitigen Aussperrschutz für die Rollläden, bei denen das Attributs ASC_LockOut entsprechend auf hard gesetzt ist. Mehr Informationen in der Beschreibung bei den Attributen für die Rollladengeräten.
+
- partyMode on|off - controls the global party mode for shutters. Every shutters whose
ASC_Partymode attribute is set to on, is not longer controlled by ASC. The last saved
working command send to the device, i.e. by a event, created by a window or presence event, will be executed
once the party mode is disabled.
- - renewAllTimer - resets the sunrise and sunset timers for every associated
- shutter device and creates new internal FHEM timers.
-
+
- renewTimer - resets the sunrise and sunset timers for selected shutter
device and creates new internal FHEM timers.
+
+ - renewAllTimer - resets the sunrise and sunset timers for all shutter
+ device and creates new internal FHEM timers.
+
- scanForShutters - scans the whole FHEM installation for (new) devices whose ASC
attribute is set (to 1 or 2, see above).
+
- selfDefense on|off - controls the self defense function. This function listens for
example on a residents device. If this device is set to absent and a window is still open, ASC will close
the shutter for a rudimentary burglary protection.
+
- shutterASCenableToggle on|off - controls if the ASC controls are shown at a associated
shutter device.
+
- sunriseTimeWeHoliday on|off - controls the weekend and holiday support. If enabled, the
ASC_Time_Up_WE_Holiday attribute is considered.
+
- wiggle - wiggles a device for a given value (default 5%, controlled by
ASC_WiggleValue) up or down and back after a minute. Useful as a deterrence in combination with
alarm system.
-
+
Get
+
- showNotifyDevsInformations - shows the generated NOTIFYDEV structure. Useful for
debugging and only shown if the ASC_expert attribute is set to 1.
-
+
Attributes
+
ASC_Open_Pos - The opening position value from 0 to 100 percent in increments of 10.
(Default: dependent on attributASC 0/100).
+
ASC_Sleep_Pos - The opening position value from 0 to 100 percent in increments of 10.
(Default: dependent on attributASC 75/25).
+
ASC_Partymode on|off - Party mode. If configured to on, driving orders for the
shutter by ASC will be queued if partyMode is set to on at the
global ASC device. Will execute the driving orders after partyMode is disabled.
Defaults to off.
+
ASC_Pos_Reading - Points to the reading name, which contains the current
position for the shutter in percent. Will be used for set at devices of unknown kind.
+
ASC_PrivacyDownValue_beforeNightClose - How many seconds is the privacy mode activated
before the shutter is closed in the evening. For Brightness, in addition to the time value,
the Brightness value must also be specified. 1800:300 means 30 min before night close or above a brightness
value of 300. -1 is the default
value.
+
ASC_PrivacyDown_Pos -
Position in percent for privacy mode, defaults to 50.
+
ASC_PrivacyUpValue_beforeDayOpen - How many seconds is the privacy mode activated
before the shutter is open in the morning. For Brightness, in addition to the time value,
the Brightness value must also be specified. 1800:600 means 30 min before day open or above a brightness
value of 600. -1 is the default
value.
+
ASC_PrivacyUp_Pos -
Position in percent for privacy mode, defaults to 50.
+
+ ASC_ExternalTrigger - DEVICE:READING VALUEACTIVE:VALUEINACTIVE POSACTIVE:[POSINACTIVE VALUEACTIVE2:POSACTIVE2], example: setting to "WohnzimmerTV:state on:off 66:100" will cause a "state:on" event to drive the shutter to position 66. "state:off" event will set it to position 100. If no POSINACTIVE is set, LastStatus position will be used as target position.
+
ASC_WindProtection on|off - Shutter is protected by the wind protection. Defaults
to off.
+
ASC_RainProtection on|off - Shutter is protected by the rain protection. Defaults
to off.
+
ASC_Roommate_Device - Comma separated list of ROOMMATE devices, representing
the inhabitants of the room to which the shutter belongs. Especially useful for bedrooms. Defaults
to none.
+
ASC_Roommate_Reading - Specifies a reading name to ASC_Roommate_Device.
Defaults to state.
+
+ ASC_GuestRoom on|off - (not functionality implemented yet?).
+
+
+ ASC_Adv - on/off If on, from 1. advent to 6. January all closing commands will be delayed until set ASCDEVICE advDriveDown is issued.
+
ASC_Self_Defense_Mode - absent/gone/off - which Residents status Self Defense should become
active without the window being open. (default: gone) off exclude from self defense
- ASC_Self_Defense_AbsentDelay - um wie viele Sekunden soll das fahren in Selfdefense bei
- Residents absent verzögert werden. (default: 300)
+
+ ASC_Self_Defense_AbsentDelay - time in seconds to wait after Residents went gone. (default: 300)
+
ASC_ShuttersPlace window|terrace - If set to terrace, and the
residents device is set to gone, and selfDefense is activated, the shutter will
be closed. If set to window, will not. Defaults to window.
+
ASC_Time_Down_Early - Will not drive before time is ASC_Time_Down_Early
or later, even the sunset occurs earlier. To be set in military time. Defaults to 16:00.
+
ASC_Time_Down_Late - Will not drive after time is ASC_Time_Down_Late
or earlier, even the sunset occurs later. To be set in military time. Defaults to 22:00.
+
ASC_Time_Up_Early - Will not drive before time is ASC_Time_Up_Early
or earlier, even the sunrise occurs earlier. To be set in military time. Defaults to 05:00.
+
ASC_Time_Up_Late - Will not drive after time is ASC_Time_Up_Late
or earlier, even the sunrise occurs later. To be set in military time. Defaults to 08:30.
+
ASC_Time_Up_WE_Holiday - Will not drive before time is ASC_Time_Up_WE_Holiday
on weekends and holidays (holiday2we is considered). Defaults to 08:00. Warning!
If ASC_Up set to brightness, the time for ASC_Time_Up_WE_Holiday
must be earlier then ASC_Time_Up_Late.
+
ASC_Up astro|time|brightness|roommate - Drive the shutter depending on this setting:
- astro - drive up at sunrise
@@ -536,24 +606,30 @@ sub Initialize {
Defaults to astro.
+
ASC_Ventilate_Pos - The opening position value for ventilation
from 0 to 100 percent in increments of 10. (Default: dependent on attributASC 70/30).
+
ASC_Ventilate_Window_Open on|off - Drive to ventilation position as window is opened
or tilted, even when the current shutter position is lower than the ASC_Ventilate_Pos.
Defaults to on.
+
ASC_WiggleValue - How many percent should the shutter be driven if a wiggle drive
is operated. Defaults to 5.
+
ASC_WindParameters THRESHOLD-ON[:THRESHOLD-OFF] [DRIVEPOSITION] -
Threshold for when the shutter is driven to the wind protection position. Optional
THRESHOLD-OFF sets the complementary value when the wind protection is disabled. Disabled
if THRESHOLD-ON is set to -1. Defaults to 50:20 ASC_Closed_Pos
.
+
ASC_WindowRec - WINDOWREC:[READING], Points to the window contact device, associated with the shutter.
Defaults to none. Reading is optional
+
ASC_WindowRec_subType - Model type of the used ASC_WindowRec:
- twostate - optical or magnetical sensors with two states: opened or closed
@@ -561,6 +637,9 @@ sub Initialize {
Defaults to twostate.
+
+ ASC_SlatPosCmd_SlatDevice - If your shutter is "venetian blind" type (with turnable slats, lamellas or similar), this is the place to set additional command and/or device info to control the slat level. Examples: attr ROLLO ASC_SlatPosCmd_SlatDevice slatPct or attr ROLLO ASC_SlatPosCmd_SlatDevice dim:ROLLOSLATDEVICE. Providing a device name for the slat device is only needed in case it's different to the shutter itself. If attribute is set, additional positioning values for the respective slat levels can be set in attributes ASC_Open_Pos, ASC_Closed_Pos, ASC_Ventilate_Pos, ASC_ComfortOpen_Pos, ASC_Shading_Pos and ASC_Sleep_Pos.
+
ASC_WindowRec_PosAfterDayClosed - open,lastManual / auf welche Position soll das Rollo nach dem schließen am Tag fahren. Open Position oder letzte gespeicherte manuelle Position (default: open)
@@ -571,7 +650,7 @@ sub Initialize {
-
The controlShading reading is set to on, and there is a device
- of type Astro or Twilight configured to ASC_twilightDevice, and ASC_tempSensor
+ of type Astro or Twilight configured to ASC_twilightDevice, and ASC_TempSensor
is set.
-
@@ -588,34 +667,45 @@ sub Initialize {
The following attributes are available:
+
- ASC_Shading_InOutAzimuth - Azimuth value from which shading is to be used when shading is exceeded and shading when undershooting is required.
Defaults to 95:265.
+
- ASC_Shading_MinMax_Elevation - Shading starts as min point of sun elevation is
reached and end as max point of sun elevation is reached, depending also on other sensor values. Defaults to 25.0:100.0.
+
- ASC_Shading_Min_OutsideTemperature - Shading starts at this outdoor temperature,
depending also on other sensor values. Defaults to 18.0.
+
- ASC_Shading_Mode absent|always|off|home - see ASC_Mode_Down above,
but for shading. Defaults to off.
- - ASC_Shading_Pos - Shading position in percent. (Default: dependent on attributASC 85/15)
+
+ - ASC_Shading_Pos - Shading position in percent. (Default: dependent on attribute ASC 85/15)
+
- ASC_Shading_StateChange_Cloudy - Shading ends at this
outdoor brightness, depending also on other sensor values. Defaults to 20000.
+
- ASC_Shading_StateChange_SunnyCloudy - Shading starts/stops at this
outdoor brightness, depending also on other sensor values. An optional parameter specifies how many successive brightness reading values should be used to average the brightness value. Defaults to 35000:20000 [3].
+
- ASC_Shading_WaitingPeriod - Waiting time in seconds before additional sensor values
to ASC_Shading_StateChange_Sunny or ASC_Shading_StateChange_Cloudy
are used for shading. Defaults to 120.
+
+ - ASC_Shading_BetweenTheTime - Limit the time slots for shading functionality. Example: 9:00-13:00 11:25-15:30
+
AutoShuttersControl API description
@@ -778,7 +868,7 @@ sub Initialize {
=begin html_DE
-
+
AutoShuttersControl
AutoShuttersControl (ASC) ermöglicht eine vollständige Automatisierung der vorhandenen Rollläden. Das Modul bietet umfangreiche Konfigurationsmöglichkeiten, um Rollläden bspw. nach Sonnenauf- und untergangszeiten, nach Helligkeitswerten oder rein zeitgesteuert zu steuern.
@@ -787,7 +877,7 @@ sub Initialize {
Man kann festlegen, welche Rollläden von ASC in die Automatisierung mit aufgenommen werden sollen. Daraufhin stehen diverse Attribute zur Feinkonfiguration zur Verfügung. So sind unter anderem komplexe Lösungen wie Fahrten in Abhängigkeit des Bewohnerstatus einfach umsetzbar. Beispiel: Hochfahren von Rollläden, wenn der Bewohner erwacht ist und draußen bereits die Sonne aufgegangen ist. Weiterhin ist es möglich, dass der geschlossene Rollladen z.B. nach dem Ankippen eines Fensters in eine Lüftungsposition fährt. Und vieles mehr.
-
+
Define
define <name> AutoShuttersControl
@@ -805,7 +895,7 @@ sub Initialize {
Habt Ihr das Attribut gesetzt, könnt Ihr den automatischen Scan nach den Devices anstoßen.
-
+
Readings
Im ASC-Device
@@ -836,97 +926,129 @@ sub Initialize {
-
+
Set
+
- advDriveDown - holt bei allen Rollläden durch ASC_Adv on ausgesetzte Fahrten nach.
+
- ascEnable - on/off - Aktivieren oder deaktivieren der globalen ASC Steuerung
+
- controlShading - on/off - Aktiviert oder deaktiviert die globale Beschattungssteuerung
+
- createNewNotifyDev - Legt die interne Struktur für NOTIFYDEV neu an. Diese Funktion steht nur zur Verfügung, wenn Attribut ASC_expert auf 1 gesetzt ist.
+
- hardLockOut - on/off - Aktiviert den hardwareseitigen Aussperrschutz für die Rollläden, bei denen das Attributs ASC_LockOut entsprechend auf hard gesetzt ist. Mehr Informationen in der Beschreibung bei den Attributen für die Rollladengeräten.
+
- partyMode - on/off - Aktiviert den globalen Partymodus. Alle Rollladen-Geräten, in welchen das Attribut ASC_Partymode auf on gesetzt ist, werden durch ASC nicht mehr gesteuert. Der letzte Schaltbefehl, der bspw. durch ein Fensterevent oder Wechsel des Bewohnerstatus an die Rollläden gesendet wurde, wird beim Deaktivieren des Partymodus ausgeführt
+
- renewTimer - erneuert beim ausgewählten Rollladen die Zeiten für Sonnenauf- und -untergang und setzt die internen Timer neu.
+
- renewAllTimer - erneuert bei allen Rollläden die Zeiten für Sonnenauf- und -untergang und setzt die internen Timer neu.
+
- scanForShutters - Durchsucht das System nach GerätenRo mit dem Attribut ASC = 1 oder ASC = 2
+
- selfDefense - on/off - Aktiviert bzw. deaktiviert die Selbstschutzfunktion. Beispiel: Wenn das Residents-Gerät absent meldet, die Selbstschutzfunktion aktiviert wurde und ein Fenster im Haus noch geöffnet ist, so wird an diesem Fenster der Rollladen deaktivieren dann heruntergefahren.
+
- shutterASCenableToggle - on/off - Aktivieren oder deaktivieren der ASC Kontrolle beim einzelnen Rollladens
+
- sunriseTimeWeHoliday - on/off - Aktiviert die Wochenendunterstützung und somit, ob im Rollladengerät das Attribut ASC_Time_Up_WE_Holiday beachtet werden soll oder nicht.
+
- wiggle - bewegt einen oder mehrere Rollläden um einen definierten Wert (Default: 5%) und nach einer Minute wieder zurück in die Ursprungsposition. Diese Funktion könnte bspw. zur Abschreckung in einem Alarmsystem eingesetzt werden.
-
+
Get
+
- showNotifyDevsInformations - zeigt eine Übersicht der abgelegten NOTIFYDEV Struktur. Diese Funktion wird primär fürs Debugging genutzt. Hierzu ist das Attribut ASC_expert = 1 zu setzen.
-
+
Attributes
Im ASC-Device
-
+
- ASC_autoAstroModeEvening - REAL, CIVIL, NAUTIC, ASTRONOMIC oder HORIZON
-
+
- ASC_autoAstroModeEveningHorizon - Höhe über dem Horizont. Wird nur berücksichtigt, wenn im Attribut ASC_autoAstroModeEvening der Wert HORIZON ausgewählt wurde. (default: 0)
-
+
- ASC_autoAstroModeMorning - REAL, CIVIL, NAUTIC, ASTRONOMIC oder HORIZON
-
+
- ASC_autoAstroModeMorningHorizon - Höhe über dem Horizont. Wird nur berücksichtigt, wenn im Attribut ASC_autoAstroModeMorning der Wert HORIZON ausgewählt wurde. (default: 0)
-
+
- ASC_autoShuttersControlComfort - on/off - schaltet die Komfortfunktion an. Bedeutet, dass ein Rollladen mit einem threestate-Sensor am Fenster beim Öffnen in eine Offenposition fährt. Hierzu muss beim Rollladen das Attribut ASC_ComfortOpen_Pos entsprechend konfiguriert sein. (default: off)
-
+
- ASC_autoShuttersControlEvening - on/off - Aktiviert die automatische Steuerung durch das ASC-Modul am Abend.
-
+
- ASC_autoShuttersControlMorning - on/off - Aktiviert die automatische Steuerung durch das ASC-Modul am Morgen.
-
+
- ASC_blockAscDrivesAfterManual - 0,1 - wenn dieser Wert auf 1 gesetzt ist, dann werden Rollläden vom ASC-Modul nicht mehr gesteuert, wenn zuvor manuell eingegriffen wurde. Voraussetzung hierfür ist jedoch, dass im Reading ASC_ShuttersLastDrive der Status manual enthalten ist und sich der Rollladen auf eine unbekannte (nicht in den Attributen anderweitig konfigurierte) Position befindet.
-
+
- ASC_brightnessDriveUpDown - WERT-MORGENS:WERT-ABENDS - Werte bei dem Schaltbedingungen für Sonnenauf- und -untergang geprüft werden sollen. Diese globale Einstellung kann durch die WERT-MORGENS:WERT-ABENDS Einstellung von ASC_BrightnessSensor im Rollladen selbst überschrieben werden.
-
+
- ASC_debug - Aktiviert die erweiterte Logausgabe für Debugausgaben
-
+
- ASC_expert - ist der Wert 1, so werden erweiterte Informationen bezüglich des NotifyDevs unter set und get angezeigt
-
+
- ASC_freezeTemp - Temperatur, ab welcher der Frostschutz greifen soll und der Rollladen nicht mehr fährt. Der letzte Fahrbefehl wird gespeichert.
-
+
- ASC_advDate - Adventszeit, Auswahl ab wann die Adventszeit beginnen soll.
-
+
- ASC_rainSensor - DEVICENAME[:READINGNAME] MAXTRIGGER[:HYSTERESE] [CLOSEDPOS:[WAITINGTIME]] - der Inhalt ist eine Kombination aus Devicename, Readingname, Wert ab dem getriggert werden soll, Hysterese Wert ab dem der Status Regenschutz aufgehoben werden soll und der "wegen Regen geschlossen Position", sowie der Wartezeit bis dann tatsächlich die aktion ausgeführt wird.
-
+
- ASC_residentsDev - DEVICENAME[:READINGNAME] - der Inhalt ist eine Kombination aus Devicenamen und Readingnamen des Residents-Device der obersten Ebene (z.B. rgr_Residents:state)
-
+
- ASC_shuttersDriveDelay - maximale Zufallsverzögerung in Sekunden bei der Berechnung der Fahrzeiten. 0 bedeutet keine Verzögerung
-
- - ASC_tempSensor - DEVICENAME[:READINGNAME] - der Inhalt ist eine Kombination aus Device und Reading für die Außentemperatur
-
+
+ - ASC_TempSensor - DEVICENAME[:READINGNAME] - der Inhalt ist eine Kombination aus Device und Reading für die Außentemperatur
+
- ASC_twilightDevice - das Device, welches die Informationen zum Sonnenstand liefert. Wird unter anderem für die Beschattung verwendet.
-
+
- ASC_windSensor - DEVICE[:READING] - Sensor für die Windgeschwindigkeit. Kombination aus Device und Reading.
In den Rollläden-Geräten
+
- ASC - 0/1/2 0 = "kein Anlegen der Attribute beim ersten Scan bzw. keine Beachtung eines Fahrbefehles",1 = "Inverse oder Rollo - Bsp.: Rollo oben 0, Rollo unten 100 und der Befehl zum prozentualen Fahren ist position",2 = "Homematic Style - Bsp.: Rollo oben 100, Rollo unten 0 und der Befehl zum prozentualen Fahren ist pct
+
- ASC_Antifreeze - soft/am/pm/hard/off - Frostschutz, wenn soft fährt der Rollladen in die ASC_Antifreeze_Pos und wenn hard/am/pm wird gar nicht oder innerhalb der entsprechenden Tageszeit nicht gefahren (default: off)
+
- ASC_Antifreeze_Pos - Position die angefahren werden soll, wenn der Fahrbefehl komplett schließen lautet, aber der Frostschutz aktiv ist (Default: ist abhängig vom AttributASC 85/15) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss eine positive Zahl/Dezimalzahl sein!!!
+
- ASC_AutoAstroModeEvening - aktuell REAL,CIVIL,NAUTIC,ASTRONOMIC (default: none)
+
- ASC_AutoAstroModeEveningHorizon - Höhe über Horizont, wenn beim Attribut ASC_autoAstroModeEvening HORIZON ausgewählt (default: none)
+
- ASC_AutoAstroModeMorning - aktuell REAL,CIVIL,NAUTIC,ASTRONOMIC (default: none)
+
- ASC_AutoAstroModeMorningHorizon - Höhe über Horizont,a wenn beim Attribut ASC_autoAstroModeMorning HORIZON ausgewählt (default: none)
+
- ASC_BlockingTime_afterManual - wie viel Sekunden soll die Automatik nach einer manuellen Fahrt aussetzen. (default: 1200)
+
- ASC_BlockingTime_beforDayOpen - wie viel Sekunden vor dem morgendlichen öffnen soll keine schließen Fahrt mehr stattfinden. (default: 3600)
+
- ASC_BlockingTime_beforNightClose - wie viel Sekunden vor dem nächtlichen schließen soll keine öffnen Fahrt mehr stattfinden. (default: 3600)
+
- ASC_BrightnessSensor - DEVICE[:READING] WERT-MORGENS:WERT-ABENDS / 'Sensorname[:brightness [400:800]]' Angaben zum Helligkeitssensor mit (Readingname, optional) für die Beschattung und dem Fahren der Rollladen nach brightness und den optionalen Brightnesswerten für Sonnenauf- und Sonnenuntergang. (default: none)
+
- ASC_Down - astro/time/brightness - bei astro wird Sonnenuntergang berechnet, bei time wird der Wert aus ASC_Time_Down_Early als Fahrzeit verwendet und bei brightness muss ASC_Time_Down_Early und ASC_Time_Down_Late korrekt gesetzt werden. Der Timer läuft dann nach ASC_Time_Down_Late Zeit, es wird aber in der Zeit zwischen ASC_Time_Down_Early und ASC_Time_Down_Late geschaut, ob die als Attribut im Moduldevice hinterlegte ASC_brightnessDriveUpDown der Down Wert erreicht wurde. Wenn ja, wird der Rollladen runter gefahren (default: astro)
Beschreibung der besonderen Positionsattribute
+
- ASC_Closed_Pos - in 10 Schritten von 0 bis 100 (Default: ist abhängig vom AttributASC 0/100)
+
- ASC_Open_Pos - in 10 Schritten von 0 bis 100 (default: ist abhängig vom AttributASC 100/0)
+
- ASC_Sleep_Pos - in 10 Schritten von 0 bis 100 (default: ist abhängig vom AttributASC 75/25) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss eine positive Zahl/Dezimalzahl sein!!!
+
- ASC_ComfortOpen_Pos - in 10 Schritten von 0 bis 100 (Default: ist abhängig vom AttributASC 20/80) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss eine positive Zahl/Dezimalzahl sein!!!
+
- ASC_Shading_Pos - Position des Rollladens für die Beschattung (Default: ist abhängig vom AttributASC 80/20) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss eine positive Zahl/Dezimalzahl sein!!!
+
- ASC_Ventilate_Pos - in 10 Schritten von 0 bis 100 (default: ist abhängig vom Attribut ASC 70/30) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss eine positive Zahl/Dezimalzahl sein!!!
In Bezug auf die Verwendung mit Lamellen gibt es folgende ergänzende Parameter.
@@ -935,28 +1057,54 @@ sub Initialize {
- Wird hingegen ein ander Command verwendet z.B. slatPct oder ähnliches dann muss hinter der normalen Positionsangebe noch die Position für die Lamellen mit angegeb werden. Beispiel: attr ROLLONAME ASC_Shading_Pos 30:75. Bitte beachtet in diesem Zusammenhang auch das Attribut ASC_SlatPosCmd_SlatDevice wo mindesten die Angabe des SlatPosCMD Voraussetzung ist.
+
- ASC_Shutter_IdleDetection - READING:VALUE gibt das Reading an welches Auskunft über den Fahrstatus des Rollos gibt, sowie als zweites den Wert im Reading welcher aus sagt das das Rollo nicht fährt
+
- ASC_DriveUpMaxDuration - die Dauer des Hochfahrens des Rollladens plus 5 Sekunden (default: 60)
+
- ASC_Drive_Delay - maximaler Wert für einen zufällig ermittelte Verzögerungswert in Sekunden bei der Berechnung der Fahrzeiten.
+
- ASC_Drive_DelayStart - in Sekunden verzögerter Wert ab welchen das Rollo gefahren werden soll.
+
- ASC_LockOut - soft/hard/off - stellt entsprechend den Aussperrschutz ein. Bei global aktivem Aussperrschutz (set ASC-Device lockOut soft) und einem Fensterkontakt open bleibt dann der Rollladen oben. Dies gilt nur bei Steuerbefehlen über das ASC Modul. Stellt man global auf hard, wird bei entsprechender Möglichkeit versucht den Rollladen hardwareseitig zu blockieren. Dann ist auch ein Fahren über die Taster nicht mehr möglich. (default: off)
+
- ASC_LockOut_Cmd - inhibit/blocked/protection - set Befehl für das Rollladen-Device zum Hardware sperren. Dieser Befehl wird gesetzt werden, wenn man "ASC_LockOut" auf hard setzt (default: none)
+
- ASC_Mode_Down - always/home/absent/off - Wann darf die Automatik steuern. immer, niemals, bei Abwesenheit des Roommate (ist kein Roommate und absent eingestellt, wird gar nicht gesteuert) (default: always)
+
- ASC_Mode_Up - always/home/absent/off - Wann darf die Automatik steuern. immer, niemals, bei Abwesenheit des Roommate (ist kein Roommate und absent eingestellt, wird gar nicht gesteuert) (default: always)
+
- ASC_Partymode - on/off - schaltet den Partymodus an oder aus. Wird am ASC Device set ASC-DEVICE partyMode on geschalten, werden alle Fahrbefehle an den Rollläden, welche das Attribut auf on haben, zwischengespeichert und später erst ausgeführt (default: off)
+
- ASC_Pos_Reading - Name des Readings, welches die Position des Rollladen in Prozent an gibt; wird bei unbekannten Device Typen auch als set Befehl zum fahren verwendet
+
- ASC_PrivacyUpValue_beforeDayOpen - wie viele Sekunden vor dem morgendlichen öffnen soll der Rollladen in die Sichtschutzposition fahren, oder bei Brightness ab welchem minimum Brightnesswert soll das Rollo in die Privacy Position fahren. Bei Brightness muss zusätzlich zum Zeitwert der Brightnesswert mit angegeben werden 1800:600 bedeutet 30 min vor day open oder bei über einem Brightnesswert von 600 (default: -1)
+
- ASC_PrivacyDownValue_beforeNightClose - wie viele Sekunden vor dem abendlichen schließen soll der Rollladen in die Sichtschutzposition fahren, oder bei Brightness ab welchem minimum Brightnesswert soll das Rollo in die Privacy Position fahren. Bei Brightness muss zusätzlich zum Zeitwert der Brightnesswert mit angegeben werden 1800:300 bedeutet 30 min vor night close oder bei unter einem Brightnesswert von 300 (default: -1)
+
- ASC_PrivacyUp_Pos - Position den Rollladens für den morgendlichen Sichtschutz (default: 50) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss eine positive Zahl/Dezimalzahl sein!!!
+
- ASC_PrivacyDown_Pos - Position den Rollladens für den abendlichen Sichtschutz (default: 50) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss eine positive Zahl/Dezimalzahl sein!!!
+
- ASC_ExternalTrigger - DEVICE:READING VALUEACTIVE:VALUEINACTIVE POSACTIVE:[POSINACTIVE VALUEACTIVE2:POSACTIVE2], Beispiel: "WohnzimmerTV:state on:off 66:100" bedeutet das wenn ein "state:on" Event kommt soll das Rollo in Position 66 fahren, kommt ein "state:off" Event soll es in Position 100 fahren. Es ist möglich die POSINACTIVE weg zu lassen dann fährt das Rollo in LastStatus Position.
+
- ASC_WindProtection - on/off - soll der Rollladen beim Windschutz beachtet werden. on=JA, off=NEIN. (default off)
+
- ASC_RainProtection - on/off - soll der Rollladen beim Regenschutz beachtet werden. on=JA, off=NEIN. (default off)
+
- ASC_Roommate_Device - mit Komma getrennte Namen des/der Roommate Device/s, welche den/die Bewohner des Raumes vom Rollladen wiedergibt. Es macht nur Sinn in Schlaf- oder Kinderzimmern (default: none)
- - ASC_Adv - on/off bei on wird das runterfahren des Rollos während der Weihnachtszeit (1. Advent bis 6. Januar) ausgesetzt! Durch set ASCDEVICE advDriveDown werden alle ausgesetzten Fahrten nachgeholt.
+
- ASC_Roommate_Reading - das Reading zum Roommate Device, welches den Status wieder gibt (default: state)
+
+ - ASC_GuestRoom on|off - (not functionality implemented yet?).
+
+
+ - ASC_Adv - on/off bei on wird das runterfahren des Rollos während der Weihnachtszeit (1. Advent bis 6. Januar) ausgesetzt! Durch set ASCDEVICE advDriveDown werden alle ausgesetzten Fahrten nachgeholt.
+
- ASC_Self_Defense_Mode - absent/gone/off - ab welchen Residents Status soll Selfdefense aktiv werden ohne das Fenster auf sind. (default: gone)
+
- ASC_Self_Defense_AbsentDelay - um wie viele Sekunden soll das fahren in Selfdefense bei Residents absent verzögert werden. (default: 300)
+
- ASC_Self_Defense_Exclude - on/off - bei on Wert wird dieser Rollladen bei aktiven Self Defense und offenen Fenster nicht runter gefahren, wenn Residents absent ist. (default: off), off bedeutet das es ausgeschlossen ist vom Self Defense
Beschreibung der Beschattungsfunktion
@@ -964,32 +1112,55 @@ sub Initialize {
Im ASC Device das Reading "controlShading" mit dem Wert on, sowie ein Astro/Twilight Device im Attribut "ASC_twilightDevice" und das Attribut "ASC_tempSensor".
In den Rollladendevices benötigt ihr ein Helligkeitssensor als Attribut "ASC_BrightnessSensor", sofern noch nicht vorhanden. Findet der Sensor nur für die Beschattung Verwendung ist der Wert DEVICENAME[:READING] ausreichend.
Alle weiteren Attribute sind optional und wenn nicht gesetzt mit Default-Werten belegt. Ihr solltet sie dennoch einmal anschauen und entsprechend Euren Gegebenheiten setzen. Die Werte für die Fensterposition und den Vor- Nachlaufwinkel sowie die Grenzwerte für die StateChange_Cloudy und StateChange_Sunny solltet ihr besondere Beachtung dabei schenken.
+
- ASC_Shading_InOutAzimuth - Azimut Wert ab dem bei Überschreiten Beschattet und bei Unterschreiten Endschattet werden soll. (default: 95:265)
+
- ASC_Shading_MinMax_Elevation - ab welcher min Höhe des Sonnenstandes soll beschattet und ab welcher max Höhe wieder beendet werden, immer in Abhängigkeit der anderen einbezogenen Sensorwerte (default: 25.0:100.0)
+
- ASC_Shading_Min_OutsideTemperature - ab welcher Temperatur soll Beschattet werden, immer in Abhängigkeit der anderen einbezogenen Sensorwerte (default: 18)
+
- ASC_Shading_Mode - absent,always,off,home / wann soll die Beschattung nur stattfinden. (default: off)
+
- ASC_Shading_Pos - Position des Rollladens für die Beschattung (Default: ist abhängig vom AttributASC 80/20) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss eine positive Zahl/Dezimalzahl sein!!!
+
- ASC_Shading_StateChange_SunnyCloudy - Brightness Wert ab welchen die Beschattung stattfinden und aufgehoben werden soll, immer in Abhängigkeit der anderen einbezogenen Sensorwerte. Ein optionaler dritter Wert gibt an wie, viele Brightnesswerte für den aktuellen Brightness-Durchschnitt berücksichtigt werden. Standard ist 3, es sollten nicht mehr als 5 berücksichtigt werden. (default: 35000:20000 [3])
+
- ASC_Shading_WaitingPeriod - wie viele Sekunden soll gewartet werden bevor eine weitere Auswertung der Sensordaten für die Beschattung stattfinden soll (default: 1200)
- - ASC_Shading_BetweenTheTime - das fahren in die Beschattung erfolgt bei Angabe nur innerhalb des Zeitraumes, Bsp: 9:00-13:00 11:25-15:30
+
+ - ASC_Shading_BetweenTheTime - das Fahren in die Beschattung erfolgt bei Angabe nur innerhalb des Zeitraumes, Bsp: 9:00-13:00 11:25-15:30
+
- ASC_ShuttersPlace - window/terrace/awning - Wenn dieses Attribut auf terrace gesetzt ist, das Residence Device in den Status "gone" geht und SelfDefense aktiv ist (ohne das das Reading selfDefense gesetzt sein muss), wird das Rollo geschlossen. awning steht für Markise und wirkt sich auf die Beschattungssteuerung aus. (default: window)
+
- ASC_Time_Down_Early - Sonnenuntergang frühste Zeit zum Runterfahren (default: 16:00) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss ein Zeitformat in Form HH:MM[:SS] sein!!!
+
- ASC_Time_Down_Late - Sonnenuntergang späteste Zeit zum Runterfahren (default: 22:00) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss ein Zeitformat in Form HH:MM[:SS] sein!!!
+
- ASC_Time_Up_Early - Sonnenaufgang frühste Zeit zum Hochfahren (default: 05:00) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss ein Zeitformat in Form HH:MM[:SS] sein!!!
+
- ASC_Time_Up_Late - Sonnenaufgang späteste Zeit zum Hochfahren (default: 08:30) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss ein Zeitformat in Form HH:MM[:SS] sein!!!
+
- ASC_Time_Up_WE_Holiday - Sonnenaufgang frühste Zeit zum Hochfahren am Wochenende und/oder Urlaub (holiday2we wird beachtet). (default: 08:00) ACHTUNG!!! in Verbindung mit Brightness für ASC_Up muss die Uhrzeit kleiner sein wie die Uhrzeit aus ASC_Time_Up_Late !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss ein Zeitformat in Form HH:MM[:SS] sein!!!
+
- ASC_Up - astro/time/brightness - bei astro wird Sonnenaufgang berechnet, bei time wird der Wert aus ASC_Time_Up_Early als Fahrzeit verwendet und bei brightness muss ASC_Time_Up_Early und ASC_Time_Up_Late korrekt gesetzt werden. Der Timer läuft dann nach ASC_Time_Up_Late Zeit, es wird aber in der Zeit zwischen ASC_Time_Up_Early und ASC_Time_Up_Late geschaut, ob die als Attribut im Moduldevice hinterlegte Down Wert von ASC_brightnessDriveUpDown erreicht wurde. Wenn ja, wird der Rollladen hoch gefahren (default: astro)
+
- ASC_Ventilate_Window_Open - auf lüften, wenn das Fenster gekippt/geöffnet wird und aktuelle Position unterhalb der Lüften-Position ist (default: on)
+
- ASC_WiggleValue - Wert um welchen sich die Position des Rollladens ändern soll (default: 5)
+
- ASC_WindParameters - TRIGGERMAX[:HYSTERESE] [DRIVEPOSITION] / Angabe von Max Wert ab dem für Wind getriggert werden soll, Hytsrese Wert ab dem der Windschutz aufgehoben werden soll TRIGGERMAX - HYSTERESE / Ist es bei einigen Rollläden nicht gewünscht das gefahren werden soll, so ist der TRIGGERMAX Wert mit -1 an zu geben. (default: '50:20 ClosedPosition')
+
- ASC_WindowRec_PosAfterDayClosed - open,lastManual / auf welche Position soll das Rollo nach dem schließen am Tag fahren. Open Position oder letzte gespeicherte manuelle Position (default: open)
+
- ASC_WindowRec - WINDOWREC:[READING], Name des Fensterkontaktes, an dessen Fenster der Rollladen angebracht ist (default: none). Reading ist optional
+
- ASC_WindowRec_subType - Typ des verwendeten Fensterkontaktes: twostate (optisch oder magnetisch) oder threestate (Drehgriffkontakt) (default: twostate)
- - ASC_SlatPosCmd_SlatDevice - Angaben zu einem Slat (Lamellen) CMD und sofern diese Lamellen über ein anderes Device gesteuert werden zum Slat Device. Beispiel: attr ROLLO ASC_SlatPosCmd_SlatDevice slatPct[:ROLLOSLATDEVICE] [ ] bedeutet optinal. Kann also auch weg gelassen werden. Wenn Ihr das SLAT Device mit angibt dann bitte ohne []. Beispiel: attr ROLLO ASC_SlatPosCmd_SlatDevice slatPct:ROLLOSLATDEVICE. Damit das ganze dann auch greift muss in den 6 Positionsangaben ASC_Open_Pos, ASC_Closed_Pos, ASC_Ventilate_Pos, ASC_ComfortOpen_Pos, ASC_Shading_Pos und ASC_Sleep_Pos ein weiterer Parameter für die Lamellenstellung mit angegeben werden.
+
+ - ASC_SlatPosCmd_SlatDevice - Angaben zu einem Slat (Lamellen) CMD und - sofern diese Lamellen über ein anderes Device gesteuert werden - zum Slat Device. Beispiele: attr ROLLO ASC_SlatPosCmd_SlatDevice slatPct oder attr ROLLO ASC_SlatPosCmd_SlatDevice dim:ROLLOSLATDEVICE. Die Angabe des Devices ist nur erforderlich, wenn zur Steuerung der Lamellen ein anderes Device verwendet wird. Damit das ganze dann auch greift, muss in den 6 Positionsangaben ASC_Open_Pos, ASC_Closed_Pos, ASC_Ventilate_Pos, ASC_ComfortOpen_Pos, ASC_Shading_Pos und ASC_Sleep_Pos ein weiterer Parameter für die Lamellenstellung mit angegeben werden.
+
Beschreibung der AutoShuttersControl API
Mit dem Aufruf der API Funktion und Übergabe der entsprechenden Parameter ist es möglich auf interne Daten zu zu greifen.
@@ -1265,7 +1436,7 @@ sub Initialize {
],
"release_status": "stable",
"license": "GPL_2",
- "version": "v0.10.15",
+ "version": "v0.10.16",
"author": [
"Marko Oldenburg "
],
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl.pm b/fhem/lib/FHEM/Automation/ShuttersControl.pm
index eda2e5e94..5c9b399ae 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (fhemsupport@cooltux.net)
+# (c) 2018-2021 Copyright: Marko Oldenburg (fhemsupport@cooltux.net)
# All rights reserved
#
# Special thanks goes to:
@@ -273,6 +273,8 @@ my %posSetCmds = (
Siro => 'pct',
CUL_HM => 'pct',
ROLLO => 'pct',
+ Shelly => 'pct',
+ HMCCUDEV => 'pct',
SOMFY => 'position',
tahoma => 'dim',
KLF200Node => 'pct',
@@ -365,7 +367,7 @@ sub Define {
$name . ' devStateIcon { ShuttersControl_DevStateIcon($name) }' )
if ( AttrVal( $name, 'devStateIcon', 'none' ) eq 'none' );
- addToAttrList('ASC:0,1,2');
+ addToAttrList('ASC:0,1,2','AutoShuttersControl');
Log3( $name, 3, "AutoShuttersControl ($name) - defined" );
@@ -828,7 +830,7 @@ sub UserAttributs_Readings_ForShutters {
while ( my ( $attrib, $attribValue ) = each %{userAttrList} ) {
for my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) {
- addToDevAttrList( $shuttersDev, $attrib )
+ addToDevAttrList( $shuttersDev, $attrib, 'AutoShuttersControl' )
; ## fhem.pl bietet eine Funktion um ein userAttr Attribut zu befüllen. Wir schreiben also in den Attribut userAttr alle unsere Attribute rein. Pro Rolladen immer ein Attribut pro Durchlauf
## Danach werden die Attribute die im userAttr stehen gesetzt und mit default Werten befüllt
## CommandAttr hat nicht funktioniert. Führte zu Problemen
@@ -2046,3 +2048,5 @@ sub RemoveShuttersTimer {
}
1;
+
+__END__
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/Dev.pm b/fhem/lib/FHEM/Automation/ShuttersControl/Dev.pm
index 6975a3fb9..7fb0052b3 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/Dev.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/Dev.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (leongaultier at gmail dot com)
+# (c) 2018-2021 Copyright: Marko Oldenburg (leongaultier at gmail dot com)
# All rights reserved
#
# Special thanks goes to:
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm b/fhem/lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm
index a195ea25f..7cefbf024 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (leongaultier at gmail dot com)
+# (c) 2018-2021 Copyright: Marko Oldenburg (fhemdevelopment@cooltux.net)
# All rights reserved
#
# Special thanks goes to:
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm b/fhem/lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm
index 4ec4f1b6f..c6591663a 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (leongaultier at gmail dot com)
+# (c) 2018-2021 Copyright: Marko Oldenburg (fhemdevelopment@cooltux.net)
# All rights reserved
#
# Special thanks goes to:
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm b/fhem/lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
index a5572b165..c0ec75f8a 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
@@ -1360,18 +1360,23 @@ sub EventProcessingWind {
$FHEM::Automation::ShuttersControl::shutters->getIsDay
? $FHEM::Automation::ShuttersControl::shutters
->getLastPos
- : (
- $FHEM::Automation::ShuttersControl::shutters
- ->getPrivacyDownStatus == 2
+ : ( $FHEM::Automation::ShuttersControl::shutters->getShuttersPlace
+ eq 'awning'
? $FHEM::Automation::ShuttersControl::shutters
- ->getPrivacyDownPos
+ ->getOpenPos
: (
$FHEM::Automation::ShuttersControl::shutters
- ->getSleepPos > 0
+ ->getPrivacyDownStatus == 2
? $FHEM::Automation::ShuttersControl::shutters
- ->getSleepPos
- : $FHEM::Automation::ShuttersControl::shutters
- ->getClosedPos
+ ->getPrivacyDownPos
+ : (
+ $FHEM::Automation::ShuttersControl::shutters
+ ->getSleepPos > 0
+ ? $FHEM::Automation::ShuttersControl::shutters
+ ->getSleepPos
+ : $FHEM::Automation::ShuttersControl::shutters
+ ->getClosedPos
+ )
)
)
)
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/Helper.pm b/fhem/lib/FHEM/Automation/ShuttersControl/Helper.pm
index ce9c2a411..80cb8ca40 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/Helper.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/Helper.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (fhemsupport@cooltux.net)
+# (c) 2018-2021 Copyright: Marko Oldenburg (fhemsupport@cooltux.net)
# All rights reserved
#
# Special thanks goes to:
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/Rainprotection.pm b/fhem/lib/FHEM/Automation/ShuttersControl/Rainprotection.pm
index 235554d82..9de670842 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/Rainprotection.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/Rainprotection.pm
@@ -107,6 +107,13 @@ sub RainProcessing {
$FHEM::Automation::ShuttersControl::shutters
->setRainProtectionStatus('unprotected');
}
+ else {
+ $FHEM::Automation::ShuttersControl::shutters
+ ->setRainProtectionStatus('unprotected')
+ if ( $FHEM::Automation::ShuttersControl::shutters->getStatus !=
+ $rainClosedPos
+ && ($val == 0 || $val < $triggerMin) );
+ }
}
return;
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/Roommate.pm b/fhem/lib/FHEM/Automation/ShuttersControl/Roommate.pm
index 30a17b7f6..d4539de79 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/Roommate.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/Roommate.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (leongaultier at gmail dot com)
+# (c) 2018-2021 Copyright: Marko Oldenburg (fhemdevelopment@cooltux.net)
# All rights reserved
#
# Special thanks goes to:
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/Shading.pm b/fhem/lib/FHEM/Automation/ShuttersControl/Shading.pm
index 33d6c741e..7a0a9933a 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/Shading.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/Shading.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (fhemsupport@cooltux.net)
+# (c) 2018-2021 Copyright: Marko Oldenburg (fhemdevelopment@cooltux.net)
# All rights reserved
#
# Special thanks goes to:
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/Shutters.pm b/fhem/lib/FHEM/Automation/ShuttersControl/Shutters.pm
index 6d7ec4875..90663a5f1 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/Shutters.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/Shutters.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (leongaultier at gmail dot com)
+# (c) 2018-2021 Copyright: Marko Oldenburg (fhemdevelopment@cooltux.net)
# All rights reserved
#
# Special thanks goes to:
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm b/fhem/lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm
index d039debb9..00aba3abc 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (leongaultier at gmail dot com)
+# (c) 2018-2021 Copyright: Marko Oldenburg (fhemdevelopment@cooltux.net)
# All rights reserved
#
# Special thanks goes to:
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm b/fhem/lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm
index 03ca24761..722ee2603 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (leongaultier at gmail dot com)
+# (c) 2018-2021 Copyright: Marko Oldenburg (fhemdevelopment@cooltux.net)
# All rights reserved
#
# Special thanks goes to:
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/Window.pm b/fhem/lib/FHEM/Automation/ShuttersControl/Window.pm
index de9d35028..20edad1d3 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/Window.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/Window.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (leongaultier at gmail dot com)
+# (c) 2018-2021 Copyright: Marko Oldenburg (fhemdevelopment@cooltux.net)
# All rights reserved
#
# Special thanks goes to:
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/Window/Attr.pm b/fhem/lib/FHEM/Automation/ShuttersControl/Window/Attr.pm
index 75e677367..ab4001b3d 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/Window/Attr.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/Window/Attr.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (leongaultier at gmail dot com)
+# (c) 2018-2021 Copyright: Marko Oldenburg (fhemdevelopment@cooltux.net)
# All rights reserved
#
# Special thanks goes to:
diff --git a/fhem/lib/FHEM/Automation/ShuttersControl/Window/Readings.pm b/fhem/lib/FHEM/Automation/ShuttersControl/Window/Readings.pm
index e8a90252b..b75d1c049 100644
--- a/fhem/lib/FHEM/Automation/ShuttersControl/Window/Readings.pm
+++ b/fhem/lib/FHEM/Automation/ShuttersControl/Window/Readings.pm
@@ -2,7 +2,7 @@
#
# Developed with Kate
#
-# (c) 2018-2020 Copyright: Marko Oldenburg (leongaultier at gmail dot com)
+# (c) 2018-2021 Copyright: Marko Oldenburg (fhemdevelopment@cooltux.net)
# All rights reserved
#
# Special thanks goes to: