Compare commits

..

920 Commits

Author SHA1 Message Date
dd2cb7d2b8 Merge pull request 'patch-documentation' (#145) from patch-documentation into dev
Reviewed-on: #145
2025-02-05 07:01:36 +00:00
3c1e539ef8 ```
Add usage information for roller shutter control

This update enhances the documentation by adding crucial
usage information for the roller shutter control module.
New sections in both English and German were introduced
to explain the necessary conditions for preventing delayed
operation when a window contact is opened.

It is clarified that for the functionality to operate
as intended, the roller shutter must be open, the sensor
needs to be set to open, and specific attributes
(ASC_ShuttersPlace and ASC_Self_Defense_Mode) must
be configured correctly. These additions aim to improve
user understanding and usability of the AutoShuttersControl
module. The version was updated to v1.0.1 to reflect
these enhancements.
```
2025-02-05 08:00:28 +01:00
e155fbf3ec ```
Add important usage information for roller shutter control

This update includes new sections in both English and German
explaining the conditions necessary to prevent delayed operation
of roller shutters when a window contact is opened. The changes
clarify that for this functionality to work, the roller shutter
must be open, the sensor should be set to open, and specific
attributes (ASC_ShuttersPlace and ASC_Self_Defense_Mode) must
be appropriately configured.

These additions help users understand proper settings required
for optimal functionality, improving the overall usability
and effectiveness of the AutoShuttersControl module. The version
has been updated to v1.0.1 to reflect these enhancements.
```
2025-02-05 07:57:46 +01:00
2178943e3a Merge pull request 'dev' (#144) from dev into main
Reviewed-on: #144
2025-01-25 10:43:41 +00:00
ef9349ec90 Merge pull request 'patch-newversion' (#143) from patch-newversion into dev
Reviewed-on: #143
2025-01-25 10:43:18 +00:00
640cd620b5 docs: changelog 2025-01-25 11:14:17 +01:00
9039254ead docs: new version 2025-01-25 11:14:01 +01:00
8923b8edbe Merge pull request 'testing' (#142) from testing into main
Reviewed-on: #142
2025-01-21 17:21:03 +00:00
81489d5246 Merge pull request 'dev' (#141) from dev into testing
Reviewed-on: #141
2025-01-21 17:20:42 +00:00
833a370347 Merge pull request 'patch-commandref' (#140) from patch-commandref into dev
Reviewed-on: #140
2025-01-21 17:20:19 +00:00
fb50355d39 docs: Changelog 2025-01-21 18:19:54 +01:00
d41615c90f fix: commandref 2025-01-21 18:19:42 +01:00
be5e721c43 Merge pull request 'main' (#138) from main into dev
Reviewed-on: #138
2025-01-21 16:55:10 +00:00
2351e5b9db Merge pull request 'testing' (#136) from testing into main
Reviewed-on: #136
2025-01-21 16:31:26 +00:00
d4626a068b Merge pull request 'dev' (#135) from dev into testing
Reviewed-on: #135
2025-01-21 16:29:35 +00:00
0571adccc5 Merge pull request 'patch-marvin78' (#134) from patch-marvin78 into dev
Reviewed-on: #134
2025-01-21 16:20:07 +00:00
8ec3bcde54 docs: new changelog 2025-01-21 17:19:04 +01:00
bd97e399bf feat: change version 2025-01-21 17:18:12 +01:00
d409662969 feat: https://forum.fhem.de/index.php?topic=136510.0 2025-01-12 12:56:08 +01:00
c1c3e2cbdf Merge pull request 'main' (#133) from main into dev
Reviewed-on: #133
2025-01-12 10:48:38 +00:00
72298746ab Merge pull request 'testing' (#132) from testing into main
Reviewed-on: #132
2024-12-30 11:27:16 +00:00
787114040c Merge pull request 'dev' (#131) from dev into testing
Reviewed-on: #131
2024-12-30 11:26:50 +00:00
b517e032cf Merge pull request 'patch-riedel2' (#130) from patch-riedel2 into dev
Reviewed-on: #130
2024-12-30 11:26:14 +00:00
Marko Oldenburg
30cf6f41d7
Merge pull request #99 from riedel2/dev
Corrected some typos and missing spaces
2024-12-28 08:44:51 +01:00
riedel2
eef3dc7b21
Merge branch 'fhem:dev' into dev 2024-12-27 00:10:23 +01:00
riedel2
cfe3963f32 Merge commit '3542e51375d97a41001ff0a30778fd6b24685774' into dev 2024-12-26 23:35:19 +01:00
riedel2
b654481df1 Corrected some typos and missing spaces 2024-12-26 23:30:36 +01:00
e19c902780 Merge pull request 'testing' (#129) from testing into main
Reviewed-on: #129
2024-10-12 07:11:29 +00:00
757a19bdb5 Merge pull request 'dev' (#128) from dev into testing
Reviewed-on: #128
2024-10-12 05:59:59 +00:00
52930d9a07 Merge pull request 'patch-remove-eperimental' (#127) from patch-remove-eperimental into dev
Reviewed-on: #127
2024-10-12 05:59:27 +00:00
e1592b8b7d docs: Changelog 2024-10-12 07:40:57 +02:00
7eb1079458 fix: remove experimental features
change copyright
2024-10-12 07:40:39 +02:00
ceecbb063a Merge pull request 'testing' (#123) from testing into main
Reviewed-on: #123
2023-01-03 07:50:14 +01:00
49b0ff17fa Merge pull request 'dev' (#122) from dev into testing
Reviewed-on: #122
2023-01-03 07:48:55 +01:00
ae5057fbc5 Merge pull request 'patch-adv' (#121) from patch-adv into dev
Reviewed-on: #121
2022-12-20 14:20:57 +01:00
9cd0d364b4 change Copyright text
new year range
2022-12-20 14:17:08 +01:00
f216e1b308 Merge branch 'dev' of git.cooltux.net:FHEM/mod-AutoShuttersControl into dev 2022-12-20 13:56:59 +01:00
6f137256e0 Merge pull request 'fix selfdefense' (#120) from patch-selfdefense into dev
Reviewed-on: #120
2022-12-20 13:55:47 +01:00
cc5ef41e21 fix selfdefense
change selfdefense condition in SunRiseShuttersAfterTimerFn
2022-12-15 09:56:26 +01:00
587d4e4316 Merge branch 'dev' of https://github.com/fhem/AutoShuttersControl into dev 2022-11-17 10:13:20 +01:00
riedel2
3542e51375
Update 73_AutoShuttersControl.pm
added 'roommate' option at inline help for ASC_Down
2022-11-09 22:39:07 +01:00
Marko Oldenburg
f517b72f23
Merge pull request #97 from riedel2/patch-1
Update 73_AutoShuttersControl.pm
2022-11-05 23:18:48 +01:00
riedel2
ad5cbaac12
Update 73_AutoShuttersControl.pm
HORIZON option not yet added to german help
2022-11-05 21:52:39 +01:00
8da3b13bcc Merge pull request 'testing' (#119) from testing into main
Reviewed-on: #119
2022-08-30 18:20:26 +02:00
c09edf5496 Merge pull request 'dev' (#118) from dev into testing
Reviewed-on: #118
2022-08-30 18:20:03 +02:00
cd1c2c104a Merge pull request 'closes: #116' (#117) from patch-cant_locate_object_method into dev
Reviewed-on: #117
2022-08-30 18:13:21 +02:00
51256c1ed9 closes: #116
[Ticket: #116]
2022-08-30 18:12:01 +02:00
c0a7bfa6df Merge pull request 'patch-CommandRef' (#115) from patch-CommandRef into dev
Reviewed-on: #115
2022-08-29 13:31:17 +02:00
403936fe73 fix CommandRef ASC_Up and ASC_Down entry 2022-08-29 13:30:37 +02:00
5095c65d80 Merge pull request 'main' (#113) from main into testing
Reviewed-on: #113
2022-08-29 10:17:58 +02:00
0bd8d6273f Merge pull request 'dev' (#112) from dev into main
Reviewed-on: #112
2022-08-29 10:09:12 +02:00
c3b61def25 Merge pull request 'fix is in external trigger and shading is aktive' (#111) from patch-externalTriggerAndShading into dev
Reviewed-on: #111
2022-08-29 10:08:01 +02:00
9c096902e8 Merge branch 'dev' into patch-externalTriggerAndShading 2022-08-29 10:07:37 +02:00
6dfc92c35e Merge pull request 'fix little typo in ASC_WindParameter' (#110) from patch-Commandref into dev
Reviewed-on: #110
2022-08-29 10:00:58 +02:00
9994af6ca2 fix is in external trigger and shading is aktive
[Ticket: X]
2022-08-29 10:00:01 +02:00
eb85a74a07 fix little typo in ASC_WindParameter
[Ticket: no]
2022-08-29 09:43:06 +02:00
358c760b45 Merge pull request 'Change WindUnprotectionFn if ShuttersPlace awning' (#109) from patch-windIsDay into dev
Reviewed-on: #109
2022-08-29 09:27:13 +02:00
34a6a88401 Change WindUnprotectionFn if ShuttersPlace awning
[Ticket: X]
2022-08-29 09:25:34 +02:00
bb80fb5d3a Merge pull request 'fix ASC_Shading_BetweenTheTime Commandref entry' (#108) from patch-IsInTimeFn into dev
Reviewed-on: #108
2022-08-29 09:08:34 +02:00
2907e19d3b fix ASC_Shading_BetweenTheTime Commandref entry
[Ticket: no]
2022-08-29 08:45:51 +02:00
ae86468077 Merge pull request 'dev' (#107) from dev into main
Reviewed-on: #107
2022-08-29 07:45:43 +02:00
7cba141447 Merge pull request 'patch-regen' (#106) from patch-regen into dev
Reviewed-on: #106
2022-08-29 07:42:17 +02:00
f67d56e1cc expane rain and wind protection control
add condition for wind and rain protection

[Ticket: none]
2022-06-20 15:56:47 +02:00
527d72dd57 code review rain unprotection drive 2022-04-19 12:32:19 +02:00
459b8508ec Merge pull request 'dev' (#105) from dev into main
Reviewed-on: #105
2022-04-07 21:29:10 +02:00
ac87015478 Merge pull request 'patch-shading_markise_IsDay' (#104) from patch-shading_markise_IsDay into dev
Reviewed-on: #104
2022-04-07 21:27:00 +02:00
26105fa434 more Log out with information 2022-04-07 21:25:03 +02:00
15be0a6885 observed ShuttersPlace awning for shading condition
[Ticket: no]
2022-03-24 09:54:55 +01:00
cca6e90303 Merge pull request 'dev' (#102) from dev into main
Reviewed-on: #102
2022-03-04 07:03:43 +01:00
de5d6cbc6a Merge pull request 'patch-informationTable' (#101) from patch-informationTable into dev
Reviewed-on: #101
2022-03-04 07:03:20 +01:00
Marko Oldenburg
4925e654ec change ShuttersInformation fn
add table frame and whitespace-character to ShuttersInformation

[Ticket: no]
2022-03-04 07:01:54 +01:00
97caf64308 Merge pull request 'dev' (#100) from dev into main
Reviewed-on: #100
2022-03-02 16:49:31 +01:00
6bf2b17d6f Merge pull request 'patch-codeRewrite' (#99) from patch-codeRewrite into dev
Reviewed-on: #99
2022-03-02 16:48:54 +01:00
Marko Oldenburg
fb27bedf48 fix bug if comfotPos 0
if Comfort_Pos 0 and window is open then shutter is no drive

[Ticket: no]
2022-03-02 16:47:56 +01:00
f52187ad35 Merge pull request 'testing' (#98) from testing into main
Reviewed-on: #98
2022-01-15 15:46:42 +01:00
103697184e Merge pull request 'dev' (#97) from dev into testing
Reviewed-on: #97
2022-01-15 15:46:13 +01:00
c9894453bb Merge pull request 'patch-wrongReadingsNameFromSetter' (#96) from patch-wrongReadingsNameFromSetter into dev
Reviewed-on: #96
2022-01-15 15:42:33 +01:00
14eee0e6dd fix setter readings Bug 2022-01-15 15:39:29 +01:00
9545dda125 Merge pull request 'testing' (#94) from testing into main
Reviewed-on: #94
2022-01-14 08:48:29 +01:00
3135a27c63 Merge pull request 'dev' (#93) from dev into testing
Reviewed-on: #93
2022-01-10 11:10:09 +01:00
13689963f1 Merge pull request 'patch-codeRewrite' (#92) from patch-codeRewrite into dev
Reviewed-on: #92
2022-01-10 11:09:39 +01:00
d8881ff6d1 change default value for ASC_advEndDate 2022-01-10 11:07:42 +01:00
12f48e98b5 fix condition 2022-01-10 11:04:43 +01:00
a1d19a797d fix error in adv condition 2022-01-10 11:01:07 +01:00
f1f265b89a add end of advent season variable
change attribut ASC_advDate to ASC_advStartDate
2022-01-10 10:43:51 +01:00
ca99e2bd0c Merge pull request 'dev' (#91) from dev into testing
Reviewed-on: #91
2022-01-02 08:52:18 +01:00
29e3a1a8d7 Merge pull request 'patch-codeRewrite' (#90) from patch-codeRewrite into dev
Reviewed-on: #90
2022-01-02 08:51:45 +01:00
e02395a82f no critic for perlcritic parser 2022-01-02 08:49:58 +01:00
663ce748e2 bugfix 2022-01-02 08:31:38 +01:00
d35dda835a coderewrite 2022-01-02 08:26:14 +01:00
47be49617d Merge pull request 'dev' (#89) from dev into testing
Reviewed-on: #89
2022-01-02 07:56:13 +01:00
0dc0a9c6e4 Merge pull request 'patch-codeRewrite' (#88) from patch-codeRewrite into dev
Reviewed-on: #88
2022-01-02 07:55:49 +01:00
79d369b9f5 little bugfix 2022-01-02 07:55:00 +01:00
8109cd7ebe change condition syntax of SetFn 2022-01-02 07:49:03 +01:00
842e41e3dc export object variable 2022-01-02 07:13:04 +01:00
35a4f60a53 chnage require@ISA to use base 2022-01-02 06:42:49 +01:00
ef650b2d4b Merge pull request 'testing' (#87) from testing into dev
Reviewed-on: #87
2022-01-01 20:25:58 +01:00
bf773ca2d7 Merge pull request 'bugfix' (#86) from patch-fix into testing
Reviewed-on: #86
2022-01-01 20:22:17 +01:00
ae88630277 bugfix 2022-01-01 20:21:26 +01:00
f811cfd87f Merge pull request 'dev' (#85) from dev into testing
Reviewed-on: #85
2022-01-01 09:46:43 +01:00
1a71c63652 Merge pull request 'change version' (#84) from patch-newVersion into dev
Reviewed-on: #84
2022-01-01 09:41:47 +01:00
7d3d11d1e2 change version 2022-01-01 09:39:28 +01:00
1eeeb85eaf Merge pull request 'patch_issues73-DriveUpDriveDownRoommate' (#83) from patch_issues73-DriveUpDriveDownRoommate into dev
Reviewed-on: #83
2022-01-01 09:29:52 +01:00
Marko Oldenburg
397f949a21 fix FHEM::Automation::ShuttersControl::Helper::GetAttrValues 2022-01-01 09:22:19 +01:00
Marko Oldenburg
4ea1db3aa0 fix bareword sunsettime 2022-01-01 09:08:49 +01:00
Marko Oldenburg
004a15ea42 fix error wrong hash sunrisetime bareword 2022-01-01 09:04:09 +01:00
Marko Oldenburg
9a1b6acad3 change modul header 2022-01-01 08:55:31 +01:00
4aa24587a5 Merge branch 'dev' into patch_issues73-DriveUpDriveDownRoommate 2021-12-11 14:24:14 +01:00
c76280639f Merge pull request 'patch_issues75-ShadingOutBreaksExternalTrigger' (#80) from patch_issues75-ShadingOutBreaksExternalTrigger into dev
Reviewed-on: #80
2021-12-09 10:30:43 +01:00
a3c023711c Merge branch 'dev' into patch_issues75-ShadingOutBreaksExternalTrigger 2021-12-09 10:29:22 +01:00
c6e88f2d45 Merge pull request 'patch_issues67-Lockout_and_BlockingManualTime' (#79) from patch_issues67-Lockout_and_BlockingManualTime into dev
Reviewed-on: #79
2021-12-09 10:20:43 +01:00
f0f5cbde4b fix syntax error 2021-12-08 11:45:22 +01:00
5928276b74 fix little bug is shutter position above the window tilted position
and shutters place is terrace and sybType is twoState and event is
window open
2021-12-08 11:35:55 +01:00
32a3ac9d13 change condition for BlockingAfterManualDrive in WendowRec Section 2021-12-08 11:14:46 +01:00
ef590e002e change logical in condition 2021-12-05 11:01:19 +01:00
427018ab46 bugfix 2021-12-05 07:44:51 +01:00
89431a2af3 change hardBlock action if shutters pos close 2021-12-04 20:48:53 +01:00
39c7ec3dc5 Merge branch 'devel' into patch_issues75-ShadingOutBreaksExternalTrigger 2021-12-04 10:57:50 +01:00
37044b2316 Merge branch 'devel' into patch_issues73-DriveUpDriveDownRoommate 2021-12-04 10:57:06 +01:00
a44fffe94e Merge branch 'devel' into patch_issues67-Lockout_and_BlockingManualTime 2021-12-04 10:56:05 +01:00
870f2be5d8 Merge pull request 'fix: #77' (#78) from patch_issues77-DriveDownResidentsHomeButAutoControlOFF into devel
Reviewed-on: #78
2021-12-04 10:53:12 +01:00
36669f1405 fix: #77 2021-12-04 10:50:29 +01:00
a61458cfc2 fix logical issues 2021-12-04 10:22:22 +01:00
8c17eb5f6a change condition of Window events if the place is terrace 2021-12-04 09:55:46 +01:00
d87ddb146c all shading functions are disabled when external trigger active 2021-12-04 09:28:38 +01:00
58b2f20f19 fix condition 2021-12-04 09:07:31 +01:00
301fd32048 change condition for GetUp roommate. no shutters drive if you have been on absent or gone 2021-12-04 08:36:56 +01:00
0255be94b5 Merge pull request 'patch-commandrefChangeToId' (#74) from patch-commandrefChangeToId into devel
Reviewed-on: #74
2021-11-29 15:26:57 +01:00
4773fd0ea0 add commandref change of Beta_User 2021-11-29 15:20:33 +01:00
1ce3805427 Merge branch 'devel' of git.cooltux.net:FHEM/mod-AutoShuttersControl into devel 2021-11-25 08:26:44 +01:00
5f00d33fa9 Merge pull request 'devel' (#72) from jochenluedering/mod-AutoShuttersControl:devel into devel
Reviewed-on: #72
2021-11-22 22:38:45 +01:00
Jochen Luedering
da79e25929 rain un-protect: keep awning open at night 2021-11-22 22:20:05 +01:00
jochenluedering
0b22ac9e12 Merge pull request 'devel' (#1) from FHEM/mod-AutoShuttersControl:devel into devel
Reviewed-on: jochenluedering/mod-AutoShuttersControl#1
2021-11-22 22:08:16 +01:00
e6a01cdb18 Merge pull request 'merge from testing' (#71) from testing into master
Reviewed-on: #71
2021-11-14 14:00:43 +01:00
fb44ff9f1a Merge pull request 'merge from devel' (#70) from devel into testing
Reviewed-on: #70
2021-11-14 13:54:53 +01:00
9663b2dd43 Merge pull request 'closed: #68' (#69) from fix-Umlaute-uninitialized-value into devel
Reviewed-on: #69
2021-11-14 13:49:04 +01:00
d6cb059eaf closed: #68
fix bug PERL WARNING: Use of uninitialized value within %charHash in
substitution iterator at lib/FHEM/Automation/ShuttersControl/Helper.pm
line 1021 is FHEM startup.
2021-11-14 13:44:35 +01:00
6774e3a918 Merge pull request 'testing' (#64) from testing into master
Reviewed-on: #64
2021-10-27 10:01:55 +02:00
e28fad13d7 Merge pull request 'devel' (#63) from devel into testing
Reviewed-on: #63
2021-10-27 10:01:35 +02:00
1c1ac77851 Merge pull request 'patch-commandref' (#62) from patch-commandref into devel
Reviewed-on: #62
2021-10-27 10:01:13 +02:00
1ac38a7216 fix commandref 2021-10-27 09:59:53 +02:00
8d6044c404 Merge pull request 'testing' (#61) from testing into master
Reviewed-on: #61
2021-10-27 09:46:54 +02:00
fcce22b102 Merge pull request 'devel' (#60) from devel into testing
Reviewed-on: #60
2021-10-27 09:46:23 +02:00
4b5b03a8fc Merge pull request 'patch-renameConntrolTemplateVariables' (#59) from patch-renameConntrolTemplateVariables into devel
Reviewed-on: #59
2021-10-27 09:45:51 +02:00
f412e88325 change names of CommandTemplate variables, change commadref for
CommandTemplate
2021-10-27 09:43:16 +02:00
0dca852ad0 Merge pull request 'merge testing to master' (#58) from testing into master
Reviewed-on: #58
2021-10-27 08:49:21 +02:00
8ea4101747 Merge pull request 'merge from devel to testing' (#57) from devel into testing
Reviewed-on: #57
2021-10-27 08:43:44 +02:00
b9a7328661 Merge pull request 'closed: #53 Patch beliebigen Fahrbefehl zulassen' (#54) from patch-implementationCommandTemplate into devel
Reviewed-on: #54
2021-10-27 08:37:27 +02:00
f03a7d690f Merge branch 'devel' into patch-implementationCommandTemplate 2021-10-26 20:20:15 +02:00
5ccceaba16 add example with owner perlfunction for ASC_CommandTemplate 2021-10-26 19:42:19 +02:00
54450962ac Merge pull request 'closed: #55 fix ASC_BlockingTime_beforNightClose wird bei Regen(-schutz) ignoriert' (#56) from patch-rainprotection_blockingtime into devel
Reviewed-on: #56
2021-10-26 19:31:28 +02:00
9409c60400 change ASC_BlockingTime_beforNightClose and
ASC_BlockingTime_beforDayOpen Attributs
2021-10-26 19:29:29 +02:00
75f5b6bf01 add drive reason to CommandTemplte varibales 2021-10-26 14:05:06 +02:00
98edf0c5f6 change commandref 2021-10-25 19:54:51 +02:00
a9a47f9e70 fix ASC_BlockingTime_beforNightClose wird bei Regen(-schutz) ignoriert 2021-10-25 19:25:13 +02:00
f2b7e8490f fix Can't locate object method "getCommandTemplte" 2021-10-25 18:43:30 +02:00
3d7f9fcf92 add commandref enrty for ASC_CommandTemplate Attribut 2021-10-25 18:24:17 +02:00
e037a12879 change version 2021-10-25 17:58:08 +02:00
096e4ab815 Patch beliebigen Fahrbefehl zulassen #53 2021-10-25 17:51:37 +02:00
feba24bf99 Merge pull request 'closed: #40 Terrasse schließen Prüfung auf externe Trigger zum nachholen der Fahrt' (#52) from patch-ExternalTrigger_TerraceClose into devel
Reviewed-on: #52
2021-10-25 10:04:47 +02:00
e5a6bbdbe5 Terrasse schließen Prüfung auf externe Trigger zum nachholen der Fahrt 2021-10-25 10:02:29 +02:00
a66daa7d5a Merge pull request 'close: #50 expand regex to detect position event with dot's' (#51) from patch-driveDetection into devel
Reviewed-on: #51
2021-10-24 18:33:45 +02:00
617b7a7531 expand regex to detect position event with dot's 2021-10-24 17:16:11 +02:00
f498829347 fix set rainstate by night 2021-10-23 10:08:37 +02:00
4cc3ecc40a Merge branch 'patch-shadingOut_externalTrigger' into devel 2021-10-21 09:33:11 +02:00
95446cc91e change code for ExternlTriggerStatus. 2021-10-09 08:10:09 +02:00
63393b4cd4 add EG_window to ShuttersPlace and expand ProcessingResidents Fn for
close Shutter by open window then gone
2021-10-09 07:53:53 +02:00
6a62226a39 Merge branch 'testing' 2021-10-09 07:12:54 +02:00
cbd058773d Merge branch 'devel' into testing 2021-10-09 07:12:37 +02:00
1016b7d087 change version and contact information in all files 2021-10-09 07:11:52 +02:00
649d21f19b Merge branch 'devel' into testing 2021-10-08 11:44:44 +02:00
93bd0cd22e fix rain 2021-10-08 11:44:13 +02:00
62a4a249b4 Merge pull request 'devel' (#48) from devel into testing
Reviewed-on: #48
2021-10-08 10:02:12 +02:00
e66aa0cb4d Merge pull request 'close: #46' (#47) from patch-rainProtection into devel
Reviewed-on: #47
2021-10-08 09:58:58 +02:00
34afd51a11 fix: #46 2021-10-08 09:55:44 +02:00
a2c878e333 Merge branch 'devel' into testing 2021-10-01 08:09:29 +02:00
bb1d139ed7 Merge pull request 'drive awning to open position if (wind unprotected) at night' (#45) from jochenluedering/mod-AutoShuttersControl:devel into devel
Reviewed-on: #45
2021-09-29 08:36:42 +02:00
Jochen Lüdering
ef5b9a982e drive awning to open position if (wind unprotected) at night 2021-09-28 11:12:14 +02:00
4c1d6c7885 Merge branch 'devel' into testing 2021-09-14 09:51:23 +02:00
2b12b9ed10 fix Copyright 2021-09-14 09:50:44 +02:00
6babb451c9 Merge branch 'devel' into testing 2021-09-14 09:20:52 +02:00
9afc3ccf97 fix CVS ID Tag 2021-09-14 09:19:39 +02:00
Leon Gaultier
bee5ff33ae
Merge pull request #96 from rejoe2/devel
commandref fixes, esp. "name" => "id"
2021-09-14 08:50:45 +02:00
rejoe2
9ba046452a
Add HMCCUDEV TYPE 2021-09-10 09:51:33 +02:00
rejoe2
5e60229c7a
Add Shelly TYPE 2021-09-09 13:11:28 +02:00
rejoe2
8009a27869
use "id" format, add some missing info in english 2021-08-31 12:34:04 +02:00
rejoe2
0b048e7dc0
prepare vor use of "id" sections in commandref 2021-08-31 12:32:22 +02:00
bd6e901ca1 Merge pull request 'testing' (#39) from testing into master
Reviewed-on: #39
2021-06-02 11:53:51 +02:00
f36101f48a Merge pull request 'devel' (#38) from devel into testing
Reviewed-on: #38
2021-05-27 09:03:30 +02:00
f51cdf4943 Merge pull request 'patch-privacyDown_WindowCloseAfterNight' (#37) from patch-privacyDown_WindowCloseAfterNight into devel
Reviewed-on: #37
2021-05-27 09:00:55 +02:00
2c68ae8406 change version to v0.10.15 2021-05-27 08:55:48 +02:00
697cdd1089 add condition for window closed and status open and shuttersPlace
terrace
2021-05-25 07:58:53 +02:00
d3af20bc01 Merge branch 'patch-privacyDown_WindowCloseAfterNight' of git.cooltux.net:FHEM/mod-AutoShuttersControl into patch-privacyDown_WindowCloseAfterNight 2021-05-25 07:53:24 +02:00
7882128336 add condition for hardLock ne off and window closed at night 2021-05-24 11:32:09 +02:00
c25c395a5b fix #36 2021-05-24 11:15:08 +02:00
d89a05632b change version 2021-05-18 10:43:10 +02:00
879caa1b25 Merge pull request 'patch-raindelaiObject' (#34) from patch-raindelaiObject into devel
Reviewed-on: #34
2021-05-18 10:30:27 +02:00
f5004dbc93 change Code for rain protection 2021-05-18 09:58:00 +02:00
c1b71c12b4 change unprotection Code 2021-05-18 09:32:07 +02:00
93420b80f1 fix default value for rain waiting time 2021-05-18 09:01:27 +02:00
52fe367c81 fix Global symbol "$shutters" requires explicit package name 2021-05-18 08:50:21 +02:00
7b988a395d bugfix scalar 2021-05-18 08:48:38 +02:00
4d968405fd change remove InternalTimer Routine for Rain Unprotection 2021-05-18 08:42:49 +02:00
774fe63a26 add remove DelayTimer or set new then new rain protection trigger 2021-05-18 08:38:31 +02:00
aadc88c570 Close: #29
Merge branch 'patch-rainprotection' into devel
2021-05-17 14:28:08 +02:00
7f7fcae522 change function call 2021-05-17 14:17:46 +02:00
7454200c7a change object call methode 2021-05-17 14:14:58 +02:00
c5b1a03c65 bugfix 2021-05-17 14:09:13 +02:00
273e53fb83 change function name in function call 2021-05-17 14:05:28 +02:00
9e41936dcd bugfix 2021-05-17 10:17:15 +02:00
f6085b2df8 bugfix 2021-05-17 10:11:49 +02:00
4851ecb6a7 change package loading 2021-05-17 10:08:09 +02:00
df27f70161 add new file for git pre-commit 2021-05-17 10:02:19 +02:00
dd75295e94 fix syntax error line 1061, near "} return" 2021-05-11 06:19:05 +02:00
c3f7191f70 Merge pull request 'stop CreateSunRiseSetShuttersTimer fn processing if no DevHash found for' (#31) from NoShuttersDevHashGiven into devel
Reviewed-on: #31
2021-05-10 08:24:29 +02:00
70644d715d stop CreateSunRiseSetShuttersTimer fn processing if no DevHash found for
shutter device name
2021-05-10 08:21:00 +02:00
2012ec1fc3 change Code for Window closed then place is terrace 2021-04-29 12:20:49 +02:00
36285e57bb Implementation for rain unprotected delay drive,
split rain function in to new asc rain package
2021-04-27 08:55:10 +02:00
f1124548da fix $getModeUp declaration 2021-04-21 13:21:53 +02:00
9a3dd21e26 fix Logikfehler? siehe Forum
https://forum.fhem.de/index.php/topic,120390.msg1149463.html#msg1149463
2021-04-17 15:24:14 +02:00
489a7d829f fix ignore shading waiting time after set current state 2021-02-26 13:59:25 +01:00
4f2af22628 fix problem with brightness and weekend function 2021-02-03 11:34:33 +01:00
a0c08bdfc0 fix sytax error 2021-01-04 08:25:26 +01:00
c63f4d64d5 fix SleepPos after set party mode off if sleep pos configure 2021-01-04 08:17:09 +01:00
c6e25e391b patch from FunkOdyssey2001, problem with absent 2021-01-04 07:26:39 +01:00
bfeadd0bbf add use HTTP::Date for IsAdv Fn 2020-12-10 09:39:30 +01:00
ba4d2203f4 add commandref for AdvDate 2020-11-20 11:26:16 +01:00
07c4755845 add selection Adv Date, FirstAdvent or DeadSunday 2020-11-20 11:16:20 +01:00
98529d3c15 siehe #90 auf Github 2020-11-17 07:55:23 +01:00
cd080e1d4d condition and log output for bug no name given in readingsBeginUpdate 2020-11-09 07:07:15 +01:00
9eda91cac1 fix global shading on condition 2020-11-09 06:55:35 +01:00
c18f128722 add hook file 2020-11-09 06:41:31 +01:00
Marko Oldenburg
8e93599f3b change version 2020-11-08 07:58:38 +01:00
Marko Oldenburg
0289358b83 fix wrong package name for GetAttrValues() fn 2020-11-08 07:46:33 +01:00
Marko Oldenburg
4ceb3a1ab8 fix drive shutter then Roommate Event asleep but down mode is absent 2020-11-08 07:29:14 +01:00
e74c9a8b28 change Meta.pm inclusion 2020-10-28 13:15:14 +01:00
4604fcb0b0 change support mail 2020-10-23 07:20:34 +02:00
3bb26eb255 add use Meta in package main 2020-10-19 09:22:44 +02:00
b0805d0fc8 code style 2020-10-12 08:54:28 +02:00
b71a74b52e fix IsDay Fn for weekend condition 2020-10-12 07:44:54 +02:00
2c6f8bacab fix detected IsDay for Brightness 2020-10-05 13:52:38 +02:00
121b9063ea fixes: #25 2020-10-05 13:40:24 +02:00
5cfcd4de2b fix typo 2020-10-05 12:57:40 +02:00
1a8685eae3 fix little typo 2020-10-05 12:54:33 +02:00
b69493ac6f fix NotifyFn handling 2020-10-05 12:45:00 +02:00
31e2afe553 add shading deaktivated logic pro shutter 2020-10-05 12:29:01 +02:00
09fd5cd36b add set global shading off logic 2020-10-05 10:37:50 +02:00
a2d88bddf2 change default logic for ASC_BrightnessSensor and Morning, Evening drive
value.
none = -2 and -1 minimal value
2020-10-05 10:00:21 +02:00
7b55671166 move terrace block code in ShuttersControl.pm 2020-09-14 08:26:05 +02:00
61d9f29ad7 add new function to delete Brightness Average Array 2020-09-07 09:17:45 +02:00
3535042915 add feature
isNotDay and all condition for shading is true. shutter drive in the
morning from ClosedPos to Shading Pos
2020-09-04 14:26:24 +02:00
154f6a58de change Sunrise drive code to fix SelfDefense 2020-09-04 08:31:30 +02:00
70a56ddf3b fix bug in call IsAfterShuttersTimeBlocking()
wrong Package Kontext
2020-08-20 11:32:56 +02:00
7ef429c80f fix numeric eq 2020-08-18 08:39:00 +02:00
9439e3b2e2 change Version 2020-08-12 10:57:16 +02:00
95f520901a change from %k to %H for better compability with Strawberry Perl on
Windows
2020-08-12 10:55:29 +02:00
13134ebcdb fix Github #82 2020-08-10 10:56:50 +02:00
8a5a6cafdd fix Gifhub #79 2020-08-10 09:47:15 +02:00
fbca7af3c6 fix Github #77 2020-08-10 09:28:48 +02:00
7f88f4c82f change version 2020-08-06 14:30:58 +02:00
d1b04fcdce change logical for drive on shading then shutter pos is closed
change code in EventProcessingFunctions to call function
ShadingProcessingDriveCommand
2020-08-06 09:38:07 +02:00
0b4a5a0d4f fix window closed at night an ModeDown is roommate
shutter drive open
2020-08-04 08:21:31 +02:00
338db55e05 fix little typo 2020-07-26 17:30:57 +02:00
5d270eca3a fix Global symbol "$getClosedPos" requires explicit package 2020-07-26 17:28:39 +02:00
7a154a5f85 change Shading in Code,
fix shading drive if Shutters Closed
2020-07-26 17:16:59 +02:00
933b4f1c91 fix commandref for better understanding 2020-07-09 12:51:46 +02:00
ed1325e735 add new object function to condition between the time
then shading in
2020-07-09 12:26:52 +02:00
4792dcea10 fix little fn import bug 2020-07-09 11:19:47 +02:00
b0ff527957 add Global symbol $cmdFromAnalyze import 2020-07-09 11:13:31 +02:00
eb28fef84f add new attribut ASC_Shading_BetweenTheTime
for Shading In drive only between the Time
2020-07-09 11:09:49 +02:00
fa82a77665 add support for awning
control drive by shading out
2020-07-09 10:41:21 +02:00
84da158b64 fix wrong fn call 2020-07-09 09:23:44 +02:00
684f91b697 fix little bug 2020-07-09 09:02:20 +02:00
8329cf35d1 add import CheckASC_ConditionsForShadingFn fn from Shading
geändert:       lib/FHEM/Automation/ShuttersControl.pm
2020-07-09 08:56:46 +02:00
9eef44ca3a remove Shading import fn from lib/FHEM/Automation/ShuttersControl.pm
to lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
2020-07-09 08:53:34 +02:00
27cf612b2f fix bug in fn export and import 2020-07-09 08:48:01 +02:00
58f86d05e0 fix little bug
add export for EventProcessingFunctions
2020-07-09 08:44:18 +02:00
a27233869b change control file 2020-07-09 08:29:41 +02:00
770be1d91e add new modul file for EventProcessing functions 2020-07-09 08:21:44 +02:00
f74ec772b9 import fn from main 2020-07-09 07:37:36 +02:00
00eeb93318 change code style 2020-07-08 22:24:58 +02:00
b7160fa8b4 fix little exporter bug 2020-07-08 22:13:56 +02:00
d9ae8152d1 remove little helper function to new Helper.pm Modul file 2020-07-08 22:05:38 +02:00
864138a2e3 change code for more shift 2020-07-08 22:04:48 +02:00
f8800e910b new module files, change rain and wind code
for multisensor
	geändert:       ShuttersControl.pm
	geändert:       ShuttersControl/Dev/Attr.pm
	neue Datei:     ShuttersControl/Helper.pm
	geändert:       ShuttersControl/Shading.pm
	geändert:       ShuttersControl/Shutters.pm
2020-07-08 20:46:21 +02:00
269288c24a change condition for multisensor to reading RegEx only
geändert:       lib/FHEM/Automation/ShuttersControl.pm
2020-07-08 11:34:28 +02:00
ea8813cd2c remove IsAfterShuttersManualBlocking condition for rain-protected
geändert:       lib/FHEM/Automation/ShuttersControl.pm
2020-07-08 10:52:22 +02:00
b6bb0af471 change condition in rain fn
geändert:       lib/FHEM/Automation/ShuttersControl.pm
2020-07-08 10:45:49 +02:00
11870789e1 fix EventProcessingRain val dry condition
geändert:       lib/FHEM/Automation/ShuttersControl.pm
2020-07-08 10:33:31 +02:00
468d5713b2 fix RegEx Bug 2020-07-08 10:27:59 +02:00
b8488ebdc2 fix return bug in condition 2020-07-08 10:16:33 +02:00
2850f6394f fix RegEx Bug 2020-07-08 10:12:05 +02:00
417ecbf8fd fix RegEx Bug 2020-07-08 10:08:01 +02:00
2bafc3d433 fix PERL WARNING: Argument "rain" isn't numeric in multiplication
geändert:       lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm
2020-07-08 10:02:29 +02:00
a37b6eddb9 Merge branch 'master' into devel 2020-07-07 14:51:06 +02:00
b6034b7357 fix bug with wrong skalar in condition
geändert:       lib/FHEM/Automation/ShuttersControl.pm
2020-07-07 14:44:20 +02:00
4ffcc1a7ef Merge branch 'patch_master-multisensor' into devel 2020-07-07 14:42:17 +02:00
daf94c9483 change version 2020-07-06 09:42:01 +02:00
1efe3b576c change version 2020-07-06 09:36:34 +02:00
b928c021c2 Merge branch 'patch_master-multisensor' into devel 2020-07-06 09:35:52 +02:00
5df984048d add condition in Fn EventProcessingGeneral
to differentiate ASC device and other sensor device in NOTIFYDEV
2020-07-06 09:32:22 +02:00
c6b76320a4 Merge branch 'master' into devel 2020-07-04 11:22:14 +02:00
3f8397a6a2 fix drive condition for ASCenable and idleDetection 2020-07-04 11:14:14 +02:00
05479ffdd6 fix Global symbol "$hash" requires explicit package name
geändert:       lib/FHEM/Automation/ShuttersControl.pm
2020-07-03 13:36:59 +02:00
8812be8fca add delete and shutdown Fn
need to delete all Shutter timer then ASC delete
	geändert:       FHEM/73_AutoShuttersControl.pm
	geändert:       lib/FHEM/Automation/ShuttersControl.pm
2020-07-03 13:27:11 +02:00
924363fe18 fix shading out drive in open pos then shutter complete closed at night
geändert:       lib/FHEM/Automation/ShuttersControl/Shading.pm
2020-07-03 12:48:43 +02:00
837ad71c48 change control file 2020-07-03 11:35:46 +02:00
82934125fe add shutters->getShadingLastPos
for condition drivePos != ShadingLastPos
2020-07-03 08:53:23 +02:00
185fe7576b Merge branch 'devel' into patch-shading 2020-07-02 18:04:43 +02:00
331b0b0432 fix ascAPIset with value 0 bug 2020-07-02 18:02:32 +02:00
857683fbe2 bugix crash fhem 2020-07-02 14:48:46 +02:00
bb6f4860f9 fix end of file 2020-07-02 14:11:23 +02:00
026904e898 change version 2020-07-02 14:07:59 +02:00
554195f476 export shading function in seperated file 2020-07-02 14:07:20 +02:00
0d168b488a fix setter table in commandref 2020-07-02 12:28:58 +02:00
7200ebfbb3 fixes #22
PERL WARNING: Use of uninitialized value $posAssignment
2020-06-30 12:41:08 +02:00
254c84ffe1 fixes #21 2020-06-29 19:11:29 +02:00
9bbd2445e2 change version 2020-06-29 17:01:33 +02:00
af7894753c remove ASC_slatDriveCmdInverse and the extended Fn Code 2020-06-29 14:06:34 +02:00
9f2eeea6d8 check brightness sunset and sunrise
change code
2020-06-29 13:41:46 +02:00
4a5b4d9ac1 remove all unless conditions 2020-06-29 09:58:53 +02:00
109a67e388 change ExternalTriggerState to ExternalTriggerStatus
remove getExternalTriggerState from
lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm and add in
lib/FHEM/Automation/ShuttersControl/Shutters.pm as
getExternalTriggerStatus
2020-06-29 09:02:12 +02:00
83fe657171 add one more condition to run ShadingProcessingDriveCommand 2020-06-24 13:26:02 +02:00
af727cd2f2 change shading info message
to warn message
2020-06-24 08:11:42 +02:00
ad1c541891 Merge branch 'testing' 2020-06-22 11:51:20 +02:00
c69b72c081 change version 2020-06-22 11:48:18 +02:00
7b83072b83 Merge branch 'testing' 2020-06-22 11:46:00 +02:00
7511e4254b fix bug in commandref unbalanced td 2020-06-22 11:43:18 +02:00
242de9523b Merge branch 'devel' 2020-06-22 09:43:06 +02:00
cd2adb49f3 add more commandref text
change version number, patch release
change commandref for rain waiting time, feature not yet implemented
	geändert:       FHEM/73_AutoShuttersControl.pm
2020-06-19 14:27:30 +02:00
cb7c3f8667 new mail 2020-06-18 08:13:48 +02:00
63f86165ba fix empty shuttername 2020-06-18 08:07:59 +02:00
d3e05719f0 add new commandref
geändert:       FHEM/73_AutoShuttersControl.pm
2020-06-18 07:59:54 +02:00
92a9175fe3 change constrols 2020-06-09 14:02:30 +02:00
c607e9b81a my 2020-06-09 13:57:17 +02:00
20584f6294 create controls 2020-06-09 13:22:54 +02:00
245a9b7357 create controls 2020-06-09 13:22:17 +02:00
7a60b04777 add setter for commandref, fix roomate fn if roommate come home and shading active 2020-06-09 13:21:16 +02:00
8d748b65ce change controls 2020-06-05 22:26:11 +02:00
c356217eaf change controls 2020-06-05 22:25:42 +02:00
d5d8d5a116 fix slat drive bug then set getSlatDriveCmdInverse 2020-06-05 22:25:17 +02:00
2d2c10ed9c change control file 2020-06-04 17:57:04 +02:00
9fafc505ae fix Undefined subroutine &main::AutoShuttersControl_ascAPIget 2020-06-04 17:56:27 +02:00
Marko Oldenburg
b79ab5efaf change control file 2020-06-04 10:51:54 +02:00
Marko Oldenburg
2bd44d3073 add more ascAPIget commands to commandref 2020-06-04 10:50:39 +02:00
Marko Oldenburg
60db9c4f5d test 2020-06-04 10:17:25 +02:00
Marko Oldenburg
b2a70e6917 more commandref 2020-06-04 10:11:08 +02:00
Marko Oldenburg
6d755015aa test hook und change commandref 2020-06-04 09:50:33 +02:00
Marko Oldenburg
d34d71277c test hook und change commandref 2020-06-04 09:36:29 +02:00
Marko Oldenburg
80831c167b test hook und change commandref 2020-06-04 09:32:07 +02:00
Marko Oldenburg
5ab7c09712 change controls 2020-06-04 08:22:14 +02:00
Marko Oldenburg
4e493e6a4b new controls 2020-06-04 07:26:33 +02:00
Marko Oldenburg
c1695ae811 fix shading drive out of closed Pos 2020-06-04 07:21:56 +02:00
Marko Oldenburg
1b90829744 change execute condition for ShadingProcessingDriveCommand 2020-06-03 22:12:34 +02:00
Marko Oldenburg
9b3ca6618a fix shading drive out of closed Pos 2020-06-03 21:59:55 +02:00
Marko Oldenburg
5ddf5adfad remove use Meta in 73_AutoShuttersControl 2020-06-03 21:26:36 +02:00
Marko Oldenburg
3b31474e18 add controls file for FHEM update 2020-06-03 18:36:40 +02:00
Marko Oldenburg
f3979f090f fix devStateIcon 2020-06-03 18:07:16 +02:00
Marko Oldenburg
c19f9728a0 Ready for package and object methode 2020-06-03 18:00:56 +02:00
Marko Oldenburg
4e0e9203c9 fix diverse Fehlermeldungen 2020-06-03 16:31:54 +02:00
Marko Oldenburg
578b96a4ff change package code in mutiple files 2020-06-03 12:59:04 +02:00
Marko Oldenburg
e5ce1f40e3 add more commandref entry for asc api 2020-06-03 10:22:48 +02:00
Marko Oldenburg
fd708c2685 add commandref attribut ASC_slatDriveCmdInverse 2020-06-02 14:47:59 +02:00
Marko Oldenburg
a5d1582d5a add ASC device attribut ASC_slatDriveCmdInverse 2020-06-02 14:44:50 +02:00
Marko Oldenburg
29e35be498 fixes: #17 2020-06-02 11:13:54 +02:00
Marko Oldenburg
0fa7dc308c fixes: #15 2020-06-02 10:36:48 +02:00
Marko Oldenburg
82a9d2c930 add new function getHomemode 2020-05-24 09:32:07 +02:00
Marko Oldenburg
ccbe471931 fix broken modul load 2020-05-23 09:00:39 +02:00
Marko Oldenburg
242e056069 fix bug then shading out but not drive and timestamp is to old 2020-05-22 15:58:49 +02:00
Marko Oldenburg
2dc5da70c2 fix bug then shading out but not drive and timestamp is to old 2020-05-22 15:58:16 +02:00
Marko Oldenburg
419bba1e74 change version number 2020-05-21 11:24:28 +02:00
Marko Oldenburg
b440b1b96e fixed #11 2020-05-21 11:22:30 +02:00
Marko Oldenburg
3b5cb7730f fixes: #12 drive shutters in closePos then is not day and triggerPosInactiv 2020-05-21 09:49:39 +02:00
Marko Oldenburg
ca56067e5c fixes: #12 drive shutters in closePos then is not day and triggerPosInactiv 2020-05-21 09:46:37 +02:00
Marko Oldenburg
6ab65372d2 change outTemp condition for shading out 2020-05-21 09:39:39 +02:00
Marko Oldenburg
2e7deafc55 change outTemp condition for shading out 2020-05-21 09:38:20 +02:00
Marko Oldenburg
ac818f6250 change outTemp Code in ProcessingShadingBrightness7 2020-05-21 09:17:28 +02:00
Marko Oldenburg
e87578a082 change outTemp Code in ProcessingShadingBrightness7 2020-05-21 09:10:58 +02:00
Marko Oldenburg
a61adbef0c fix shading in drive after blocking time 2020-05-21 08:12:13 +02:00
Marko Oldenburg
9d0a1b0141 fix shutters closed then windows closed and shutter position is privacydown position 2020-05-15 13:49:41 +02:00
Marko Oldenburg
15b186b4c7 fix shutters closed then windows closed and shutter position is privacydown position 2020-05-15 13:49:07 +02:00
Marko Oldenburg
2a2122f93a fix night detection 2020-05-15 11:02:23 +02:00
Marko Oldenburg
c1a4c5a470 fix night detection 2020-05-15 11:01:25 +02:00
Marko Oldenburg
20191f4565 fix bug then privacyDownPos and night drive with window open 2020-05-12 22:40:17 +02:00
Marko Oldenburg
806074325f fix bug then privacyDownPos and night drive with window open 2020-05-12 22:28:05 +02:00
Marko Oldenburg
1a2b8f52cd roleback to 0.6.x version 2020-05-11 18:57:22 +02:00
Marko Oldenburg
ce5fb58b34 expand commandref 2020-05-11 18:55:12 +02:00
Marko Oldenburg
9268276518 fix bug not a scalar reference 2020-05-09 14:50:51 +02:00
Marko Oldenburg
47066ea068 expand API documantation 2020-05-09 08:40:58 +02:00
Marko Oldenburg
7a0aad9ff7 Closes: #10, add API commandref, fix Rain unprotected bug 2020-05-01 16:23:09 +02:00
Marko Oldenburg
0498d0323b check roommate status then drive in shading pos 2020-04-21 23:50:04 +02:00
Marko Oldenburg
d98e5a903c add my Scalar in all loop declaration, more robust for NOTIFYDEV after reboot 2020-04-21 23:29:12 +02:00
Marko Oldenburg
005340a2fa add more info for shading information reading 2020-04-21 18:42:16 +02:00
Marko Oldenburg
9d77ac4811 fix Eventhandling 2020-04-20 15:17:33 +02:00
Marko Oldenburg
3e7becaf89 little fix 2020-04-20 14:59:46 +02:00
Marko Oldenburg
2a90962675 add more shading information in reading 2020-04-20 14:52:27 +02:00
Marko Oldenburg
fc81592a32 add more shading information at shutters 2020-04-19 17:38:43 +02:00
Marko Oldenburg
63ec20cde6 add more shading information at shutters 2020-04-19 16:58:10 +02:00
Marko Oldenburg
e4a2f82419 add first works shadind condition info 2020-04-19 15:16:21 +02:00
Marko Oldenburg
107a2b1c96 rolleback ASC_Shading_Mode default to off 2020-04-19 13:32:51 +02:00
Marko Oldenburg
ed5be615e0 remove shutter device tempsensor in AntiFreeze condition, use only ASC device tempsensor 2020-04-19 10:10:55 +02:00
Marko Oldenburg
9ed15f90fe add Privacy Positions for Slat Support 2020-04-18 18:16:06 +02:00
Marko Oldenburg
fbc7a39fe0 fix drive in shading then window open 2020-04-18 15:38:24 +02:00
Marko Oldenburg
0e8137eb09 fix ClosedPos bug then SleepPos not set 2020-04-17 22:49:22 +02:00
Marko Oldenburg
dc4982fa19 add off in Mode_Up Attribut for Shading Condition 2020-04-17 20:17:51 +02:00
Marko Oldenburg
770fd0d26f fix Perlcode use in Position Attributs 2020-04-17 16:28:16 +02:00
Marko Oldenburg
775219b034 add extra Slat Device and SlatCmd Code, add new Attribut ASC_SlatPosCmd_SlatDevice 2020-04-17 12:01:25 +02:00
Marko Oldenburg
1f99f0fbd7 add more Positions for Slat Support 2020-04-17 08:28:27 +02:00
Marko Oldenburg
f50f20f197 first version for slat support 2020-04-15 18:23:23 +02:00
Marko Oldenburg
65708ae9ec change default value für ASC_Pos_Cmd 2020-04-15 14:02:28 +02:00
Marko Oldenburg
c87353f204 improve shading processing Fn 2020-04-14 08:42:39 +02:00
Marko Oldenburg
6ad0baabe5 fix bug then ModeUp and ModeDown absent 2020-04-14 08:12:55 +02:00
Marko Oldenburg
3607269e72 rollback Notify Regex, fix Shading routine in reservied out reservied 2020-04-13 14:50:06 +02:00
Marko Oldenburg
c0104a3c53 fix drive up then roommate absent and ASC_Up absent 2020-04-12 11:21:18 +02:00
Marko Oldenburg
453794ecd5 add additional condition for shutters drive out of shading 2020-04-12 11:01:31 +02:00
Marko Oldenburg
18b6286cbc Fix little Bugs in Shading and Window open with shading state 2020-04-11 15:53:21 +02:00
Marko Oldenburg
6fa8fa8817 fix shading out drive then roommate asleep 2020-04-11 14:47:54 +02:00
Marko Oldenburg
164a85edaa fix ShadingProcessingDriceCommand check windows open condition 2020-04-11 10:28:22 +02:00
Marko Oldenburg
f61ceaf6f0 code style 2020-04-10 15:42:44 +02:00
Marko Oldenburg
df93a8b8c1 fix bug then shading pos drive in 2020-04-10 15:40:48 +02:00
Marko Oldenburg
78427bf1bc fix shading drive if current position under shading position 2020-04-09 08:16:13 +02:00
Marko Oldenburg
95349ce3db fix set command in Set Fn and bug in WindowRec shading mode absent fixes: 8 2020-04-05 19:20:20 +02:00
Marko Oldenburg
b1025d746d fix default value bug in getAutoAstroModeMorningHorizon AttrVal 2020-04-04 15:24:47 +02:00
Marko Oldenburg
b2e035b6a2 change version number 2020-04-04 11:46:20 +02:00
Marko Oldenburg
9b96323f3e fix _averageBrightness bug 2020-04-04 08:53:01 +02:00
Marko Oldenburg
a38a29a99d fix little typo and condition code 2020-04-03 09:53:14 +02:00
Marko Oldenburg
ab54aba823 change version 2020-04-02 00:09:50 +02:00
Marko Oldenburg
aad143c2cc remove return code in ShadingBrightness Fn 2020-04-01 15:15:40 +02:00
Marko Oldenburg
a871e70dec remove is not day detect in shadingbrightness fn 2020-04-01 08:40:33 +02:00
Marko Oldenburg
b60ddfd90b fix return code 2020-03-31 22:17:28 +02:00
Marko Oldenburg
9a5ef3654e change log output to level 4 for shadingbrightness fn 2020-03-31 20:53:03 +02:00
Marko Oldenburg
2338089eba change return 0 to return and fix little shading bug 2020-03-31 20:32:02 +02:00
Marko Oldenburg
219187bd7b add logging for shading 2020-03-31 11:47:32 +02:00
Marko Oldenburg
8a9db0fd8f fix ASC_Down roommate and drive down then coming home bug 2020-03-31 07:27:49 +02:00
Marko Oldenburg
d7adb36ca5 fix return bug in Fn _getOutTempSensor 2020-03-30 17:29:07 +02:00
Marko Oldenburg
62caa1d5c3 change all foreach statements to for 2020-03-30 12:11:21 +02:00
Marko Oldenburg
f311bcf9cb bugfix after code change 2020-03-30 08:13:42 +02:00
Marko Oldenburg
3e1fe3f329 code review and change code to PBP 2020-03-29 16:46:26 +02:00
Marko Oldenburg
9d050b7b28 fix change code in NotifyFn 2020-03-26 23:20:21 +01:00
Marko Oldenburg
878bf99a16 code change 2020-03-26 21:00:42 +01:00
Marko Oldenburg
3ef0ae9ccf change Code to parseParams Fn 2020-03-26 12:02:56 +01:00
Marko Oldenburg
42007fa86b change default value for rain and wind protection, add rain protection to commandref 2020-03-25 10:01:18 +01:00
Marko Oldenburg
831f8a37ff expand Debug Logging for ShadingDriveCommand Fn 2020-03-24 18:36:51 +01:00
Marko Oldenburg
cb8f3d693a fix little bug in Brightness Fn 2020-03-24 15:06:53 +01:00
Marko Oldenburg
f59c40ead6 fix little bug in Brightness Fn 2020-03-24 14:34:32 +01:00
Marko Oldenburg
9fcf615af8 change RegEx m# ... # to m{ ... }xms for better formating 2020-03-24 11:14:47 +01:00
Marko Oldenburg
208bac6ae0 remove all prototyps 2020-03-24 09:47:27 +01:00
Marko Oldenburg
0e9a212aa0 remove IsWeTomorrow Fn and change IsWe Fn to use tomorrow 2020-03-24 09:29:42 +01:00
Marko Oldenburg
b608d511ce fix _IsDay Fn 2020-03-23 19:24:45 +01:00
Marko Oldenburg
4bdb540368 add holidayWeekend Support for brightness 2020-03-23 12:02:17 +01:00
Marko Oldenburg
46eb9da8c8 code style 2020-03-22 16:13:58 +01:00
Marko Oldenburg
4454838eba fix PrivacyDownStatus in Brightness 2020-03-22 16:09:59 +01:00
Marko Oldenburg
0081b53d16 change commandref for ASC_Drive_Delay and ASC_Drive_DelayStart 2020-03-22 15:04:28 +01:00
Marko Oldenburg
412243e2bd add set brightness average max objects in array attribut 2020-03-21 14:16:12 +01:00
Marko Oldenburg
fa552d8a25 remove old Attribut changes, fix little typos 2020-03-21 13:03:56 +01:00
Marko Oldenburg
caddb87d57 add additional condition for holidyweekend drive Time 2020-03-19 09:46:56 +01:00
Marko Oldenburg
68f9f46fb5 fix SleepPos conditions in residents and roommates Fn 2020-03-08 08:29:19 +01:00
Marko Oldenburg
f8218646a7 bugfix SleepPosition #1 2020-02-21 09:54:12 +01:00
Marko Oldenburg
d421be61d1 fix AntiFreez bug 2020-02-07 09:11:04 +01:00
Marko Oldenburg
2ddda0c622 fix antifreezeFn 2020-02-03 09:01:41 +01:00
Marko Oldenburg
bca593a36c change commandref 2020-01-20 08:40:56 +01:00
Marko Oldenburg
72a35e94d2 change Meta release_status 2020-01-15 07:03:45 +01:00
Marko Oldenburg
44b4837664 change table summary 2020-01-14 13:17:36 +01:00
Marko Oldenburg
42e4fdcc44 change get ShuttersInformation, add SummaryFn 2020-01-14 10:52:17 +01:00
Marko Oldenburg
85d5ffefba fix ExternalTrigger Bug 2020-01-12 10:29:35 +01:00
Marko Oldenburg
f2548ee6fa change commandref 2020-01-12 09:49:01 +01:00
Marko Oldenburg
f718eeabf8 remove old Attributs 2020-01-12 09:23:29 +01:00
Marko Oldenburg
87d18928c0 little bugfix 2020-01-10 05:02:39 +01:00
Marko Oldenburg
eeffd9b16b change version 2020-01-06 15:43:24 +01:00
Marko Oldenburg
02c16ebc6c fix SelfDefense then drive day open 2020-01-06 15:37:25 +01:00
Marko Oldenburg
e361bc037e make beautiful code 2020-01-05 12:59:12 +01:00
Marko Oldenburg
97a9e2fce4 add adv icon 2020-01-05 07:54:12 +01:00
Marko Oldenburg
3396c515b9 fix IsDay Bug use PrivacyDown 2019-12-29 20:03:52 +01:00
Marko Oldenburg
a3333949ae change RegEx for devStateIcon roommate 2019-12-16 09:01:13 +01:00
Marko Oldenburg
3f90155119 fix devStateIcon for roommate come home 2019-12-11 16:31:34 +01:00
Marko Oldenburg
11029985ee add delete event-on* and set new devStateIcon 2019-12-11 12:23:02 +01:00
Marko Oldenburg
c27a8b46ba add devStateIcon Fn 2019-12-10 11:22:58 +01:00
Marko Oldenburg
b4927e169f fix selfDefense then coming home at privacy down brightness 2019-12-09 15:00:42 +01:00
Marko Oldenburg
eb61c5c7e0 fix selfDefense then coming home at night with brightnes 2019-12-09 14:18:24 +01:00
Marko Oldenburg
4d52cd52a4 fix Commandref, skip ExternalTrigger Drive from adv check 2019-12-06 09:41:55 +01:00
Marko Oldenburg
58544edf2a fix close drive after selfdefense drive bug 2019-11-28 13:24:16 +01:00
Marko Oldenburg
11782224c9 fix selfdefense bug then residents switch to home 2019-11-28 12:43:03 +01:00
Marko Oldenburg
60ae53a9cf Merge branch 'devel' 2019-11-27 11:26:29 +01:00
Marko Oldenburg
1776f8bd3b fix time format problem 2019-11-27 11:26:14 +01:00
Marko Oldenburg
3ae315d1e3 fix time format problem 2019-11-27 11:25:06 +01:00
Marko Oldenburg
f654d4f8a5 fix RegEx for Time format check 2019-11-27 10:28:05 +01:00
Marko Oldenburg
a7519695f6 fix little bug 2019-11-26 06:32:10 +01:00
Marko Oldenburg
34d87eef17 fix commandref table css options 2019-11-25 11:39:10 +01:00
Marko Oldenburg
3bfe619164 fix brightness morning drive in with roommate condition 2019-11-18 07:22:32 +01:00
Marko Oldenburg
7c37fe11b6 fix incompatibilities with older perl version 2019-11-16 14:26:59 +01:00
Marko Oldenburg
a11eb2487d fix Unbalanced li die zweite 2019-11-15 12:47:39 +01:00
Marko Oldenburg
ac3c2bb14b fix Unbalanced li 2019-11-15 12:42:58 +01:00
Marko Oldenburg
6bbb8e9ea6 stable version 0.8 2019-11-15 11:16:48 +01:00
Marko Oldenburg
27e20d2e07 add advent support from 1. Advent to 6th january 2019-11-11 19:16:47 +01:00
Marko Oldenburg
d83beb1a2a add set sunrise/sunset Status add boot time 2019-11-11 09:32:28 +01:00
Marko Oldenburg
e1c33c76f4 fix logic bug in brightness Fn 2019-11-09 09:08:29 +01:00
Marko Oldenburg
a55566a8a5 add Winrec Reading for Attribut ASC_WindowRec 2019-11-08 09:31:41 +01:00
Marko Oldenburg
ecf1935164 Merge branch 'master' into devel
little bugfix
2019-11-07 19:29:54 +01:00
Marko Oldenburg
aeec2d88f8 little bugfix 2019-11-07 19:28:01 +01:00
Marko Oldenburg
47e64de57d code style 2019-11-07 14:06:47 +01:00
Marko Oldenburg
2f41ead59d Merge-Konflikt 2019-11-07 13:51:50 +01:00
Marko Oldenburg
5deccc4f58 add true false Regex for WinRec Fn 2019-11-07 13:48:56 +01:00
Marko Oldenburg
52f17be042 fix PrivacyBrightnessDownVal bug 2019-11-05 16:40:54 +01:00
Marko Oldenburg
ebbb84494c add Commandref for ASC_ExternalTrigger 2019-11-05 14:00:40 +01:00
Marko Oldenburg
8bd2ad315c change Attribut ASC_ExternalTriggerDevice to ASC_ExternalTrigger 2019-11-05 13:44:40 +01:00
Marko Oldenburg
804bfbf80b bugfix windw open at privacy up 2019-11-05 13:22:03 +01:00
Marko Oldenburg
be8fa1135e change winrec Fn then PrivacyStatus gleich zwei 2019-11-05 10:49:36 +01:00
Marko Oldenburg
3dcce78568 fix global symbol error 2019-11-04 22:37:12 +01:00
Marko Oldenburg
2c2d420251 fix shading out drive after privacy down 2019-11-04 22:14:56 +01:00
Marko Oldenburg
3121e88fb2 fix little bug 2019-11-04 14:39:55 +01:00
Marko Oldenburg
9f488925c1 fix window close fn then Mode_Up off 2019-11-04 08:19:37 +01:00
Marko Oldenburg
81f610374a add ExternalTriggerDevice Fn 2019-11-04 08:09:46 +01:00
Marko Oldenburg
36f0f45fb4 change code in loop for fix carsten-bug 2019-11-02 09:16:32 +01:00
Marko Oldenburg
ce32256130 add logic for window open in provacy mode 2019-11-01 11:18:53 +01:00
Marko Oldenburg
2b5bc24fd2 add commandref for privacy drive 2019-11-01 07:39:00 +01:00
Marko Oldenburg
f11e8d88e1 fix privacy time calculation between privacy and last drive 2019-10-31 16:35:11 +01:00
Marko Oldenburg
e2d49c7c02 add privacy night close brightness with timer 2019-10-31 07:17:04 +01:00
Marko Oldenburg
39edc75094 fix privacy Up Conditions 2019-10-30 15:07:23 +01:00
Marko Oldenburg
4ae99c00f5 finish change brightnessUp with time for drive befor last up 2019-10-30 12:43:57 +01:00
Marko Oldenburg
6526ad8301 fix privacy drive then brightness 2019-10-29 17:27:31 +01:00
Marko Oldenburg
89087dde59 fix privacy val condition 2019-10-29 09:33:55 +01:00
Marko Oldenburg
c335249e63 fix privacy drives 2019-10-28 16:34:13 +01:00
Marko Oldenburg
14f714943b change ASC_AttrUpdateChanges Logik 2019-10-25 10:47:31 +02:00
Marko Oldenburg
c0260bf7e5 code Style 2019-10-25 10:44:35 +02:00
Marko Oldenburg
ab5966fc79 add Privacy Mode for Drive Up in the Morning 2019-10-25 10:44:08 +02:00
Marko Oldenburg
c5e08affc5 fix ASC_PrivacyDownValue_befor to ASC_PrivacyDownValue_before 2019-10-24 18:27:06 +02:00
Marko Oldenburg
63ba3a5997 fix Notify Regex for ASC_BlockingValue_beforDayOpen 2019-10-24 14:07:55 +02:00
Marko Oldenburg
a8493a6122 change Attribut ASC_PrivacyDownTime_beforNightClose to ASC_PrivacyDownValue_beforNightClose, fix shutters drive in the morning if residents state absent 2019-10-24 13:53:14 +02:00
Marko Oldenburg
443d661416 chage sunrise and sunset drive then residentsabsent and selfdefense on 2019-10-24 10:41:38 +02:00
Marko Oldenburg
d4e6a19106 change version 2019-10-07 07:05:15 +02:00
Marko Oldenburg
3b5e668544 add condition to attr ASC_autoShuttersControlEvening to window event 2019-10-07 07:02:33 +02:00
Marko Oldenburg
bd39083d67 add first code to delay no rain drive 2019-10-04 06:14:54 +02:00
Marko Oldenburg
df3006fe25 change ProcessingRoommate condition to ASC_Up/Down 2019-09-24 11:30:50 +02:00
Marko Oldenburg
43f9fc9099 add ASC_autoShuttersControl... condition in EventBrightness Fn then drive Morning or Evening 2019-09-24 10:17:50 +02:00
Marko Oldenburg
afc094de0b fix bug then ASC_Up and ASC_Down Roommate only 2019-09-23 08:11:00 +02:00
Marko Oldenburg
b49eae10e3 move code for better shutter idle detection 2019-09-22 09:07:24 +02:00
Marko Oldenburg
e589864a0a fix -residents come home- typo 2019-09-22 08:13:34 +02:00
Marko Oldenburg
7009423fa9 fix party mode then close window 2019-09-22 08:10:55 +02:00
Marko Oldenburg
7d47fae3a7 Merge branch 'master' into devel
new style
2019-09-20 20:45:44 +02:00
Marko Oldenburg
03ffe3e1fd codestyle 2019-09-20 20:45:20 +02:00
Marko Oldenburg
d845966849 codestyle 2019-09-20 20:43:44 +02:00
Marko Oldenburg
f143f06da4 remove developer version 2019-09-20 20:40:15 +02:00
Marko Oldenburg
d113f02250 fix partyMode and window open condition 2019-09-20 20:38:31 +02:00
Marko Oldenburg
410ae9ed90 code style 2019-09-20 20:36:47 +02:00
Marko Oldenburg
8035f9a5c6 fix partyMode and window open condition 2019-09-20 20:35:48 +02:00
Marko Oldenburg
07c3a5d634 change state 'home' to comin home then lastState absent or gone 2019-09-20 14:55:52 +02:00
Marko Oldenburg
1a379a3153 fix bug then ASC_Up or ASC_Down ist set roommate and roommate goes home from absent or gone 2019-09-20 14:23:38 +02:00
Marko Oldenburg
e76092fce4 add more conditions to delaydrive 2019-09-20 14:03:13 +02:00
Marko Oldenburg
ce425067b7 add new attributes to commandref 2019-09-20 13:52:00 +02:00
Marko Oldenburg
23b0333c88 bugfix shutter drive detection 2019-09-20 13:39:28 +02:00
Marko Oldenburg
9e570fc894 change code in ShuttersCommandSet 2019-09-20 12:55:01 +02:00
Marko Oldenburg
74073aea09 add code to detect shutter run, change code in ShuttersCommandSet 2019-09-20 12:53:52 +02:00
Marko Oldenburg
440ce81a70 change perlCodeCheck to use AnalyzePerlCommand Fn 2019-09-20 08:34:04 +02:00
Marko Oldenburg
deca4e3900 remove Perlcode from Attribut ClosedPos and OpenPos 2019-09-20 06:33:17 +02:00
Marko Oldenburg
964a6879d9 change renewSetSunriseSunsetTimer to renewAllTimer and add new setter renewTimer with select shutter 2019-09-19 14:16:04 +02:00
Marko Oldenburg
19ff67a6ce change attribut names and parts of code 2019-09-19 13:46:42 +02:00
Marko Oldenburg
7f78529215 add support for perl value in attributs 2019-09-18 14:55:17 +02:00
Marko Oldenburg
2e92283a65 commandref Anpassungen, Beschreibung der geänderten getter für das ascAPIget 2019-09-17 16:52:19 +02:00
Marko Oldenburg
8d1bc376d5 rewrite change Attributs 2019-09-17 16:24:48 +02:00
Marko Oldenburg
3d9b4b5ba9 change getOffset.. to getDelay.. 2019-09-17 14:07:26 +02:00
Marko Oldenburg
87de357005 change code for getOffset Fn 2019-09-17 14:03:36 +02:00
Marko Oldenburg
9629906c3c change developer tree to 0.6.100 for new version 0.8, change Attribut ASC_shutterDriveOffset #18 2019-09-17 13:42:55 +02:00
Marko Oldenburg
7e906691db change commandref 2019-09-17 11:37:58 +02:00
Marko Oldenburg
123ad8747b change timelimit for restart initial frequence 2019-09-17 09:55:18 +02:00
Marko Oldenburg
8d1358ff91 redesign code 2019-09-16 17:56:34 +02:00
Marko Oldenburg
0fff9e28a1 add condition to ref ARRAY 2019-09-16 17:54:57 +02:00
Marko Oldenburg
9ad485e747 code parts to remove Self_Defense_Exclude Attr 2019-09-16 17:15:02 +02:00
Marko Oldenburg
cdb35a98f7 change code to condition in ResidentsFn for absent 2019-09-16 13:57:08 +02:00
Marko Oldenburg
cc16dcf0c5 change Residents absent code for window open and place terrace 2019-09-16 13:47:40 +02:00
Marko Oldenburg
4c72e24ca7 change selfDefense Code in ResidentsFn 2019-09-16 10:12:28 +02:00
Marko Oldenburg
2b5368ef0f add SleepPos to Brightness Fn, change roommate Code for roommate only ASC_Down and ASC_Up 2019-09-16 08:49:58 +02:00
Marko Oldenburg
27c75dd3ed add sleep position for night close 2019-09-12 11:28:51 +02:00
Marko Oldenburg
222ad38d44 add commandref for new ASC_Up/Down value roommate 2019-09-08 10:17:10 +02:00
Marko Oldenburg
aa4092867d code format 2019-09-06 18:40:10 +02:00
Marko Oldenburg
31b9bacbe7 add fn to set new values for attributs 2019-09-06 18:36:48 +02:00
Marko Oldenburg
20e419de35 Merge branch 'devel' into patch-roommate
merge devel
2019-09-05 08:34:09 +02:00
Marko Oldenburg
a1be549c67 fix privacy drive after night drive 2019-09-05 08:33:19 +02:00
Marko Oldenburg
50a7b70f6a merge with devel 2019-09-02 14:37:08 +02:00
Marko Oldenburg
e3c63a0a93 add Average with three Datasets 2019-09-02 14:34:42 +02:00
Marko Oldenburg
0128f07505 add terrace condition in EventWindow Fn 2019-08-26 13:11:35 +02:00
Marko Oldenburg
a85b7fcb33 add mor debug output 2019-08-26 10:34:11 +02:00
Leon Gaultier
5504103597
Merge pull request #57 from vuffiraa72/devel
Encode utf8 before writing debug info; fixed typo Rolllo
2019-08-22 23:34:37 +02:00
vuffiraa72
2b7a388450 Merge remote-tracking branch 'fhem/devel' into devel 2019-08-22 22:13:20 +02:00
vuffiraa72
697ca99192 Encode utf8 before writing debug info; fixed typo Rolllo 2019-08-22 19:42:46 +02:00
Marko Oldenburg
1729e8eba1 add EnOcean TYP support 2019-08-22 17:09:50 +02:00
Marko Oldenburg
a158862210 remove winrec check then privacy drive down 2019-08-22 06:19:31 +02:00
Marko Oldenburg
75437ab202 fix selfDefense and Residents home coming then is night 2019-08-20 08:52:46 +02:00
Marko Oldenburg
3023b3fedf fix #50, fix Roommate absent bug 2019-08-19 10:50:34 +02:00
Marko Oldenburg
510a5e40d0 exchange ASC_Down and Up check then condition Roommate and asleep awoken 2019-08-15 09:29:15 +02:00
Marko Oldenburg
4437c3ef9f fix bug forum #966778 2019-08-14 10:06:05 +02:00
Marko Oldenburg
f60b64ddb6 add more condition for roommate and shading 2019-08-12 19:51:03 +02:00
Marko Oldenburg
682486414e fix brightness morning and evening drive 2019-08-10 13:05:33 +02:00
Leon Gaultier
6d7ecf5e7d
Merge pull request #52 from vuffiraa72/devel
UTF8 Problem und Initialisierungfehler
2019-08-09 22:04:48 +02:00
vuffiraa72
f85035dda5 Merge branch 'devel' of https://github.com/fhem/AutoShuttersControl.git into devel 2019-08-09 21:36:06 +02:00
vuffiraa72
cc0722d35c check if SunriseUnixTime is available before using 2019-08-09 21:19:02 +02:00
vuffiraa72
1f4156388d use utf8 encoded characters for substitution of German umlauts 2019-08-09 19:31:24 +02:00
Marko Oldenburg
d73d3225bb fix #51 2019-08-08 13:33:19 +02:00
Marko Oldenburg
77c6350b0b fix ShuttersCommandSet( , , ); 2019-08-05 11:33:21 +02:00
Marko Oldenburg
52849d54d3 fix little typo bugs and logical problems 2019-08-05 10:07:44 +02:00
Marko Oldenburg
1d78161bb6 add new Dev TYPE in %posSetCmds, remove old commandref text 2019-07-30 08:51:46 +02:00
Marko Oldenburg
711f42748b fix little typo 2019-07-29 13:53:18 +02:00
Marko Oldenburg
d3bdcc38bb fix bug in getShuttersPosCmdValueNegate 2019-07-29 13:24:49 +02:00
Marko Oldenburg
bea678f565 add new Attribut ASC_WindowRec_PosAfterDayClosed for Shutter Pos at day after closed window 2019-07-29 12:55:38 +02:00
Marko Oldenburg
d7d4b8b493 fix little commandref typo, expand ascAPIget Fn 2019-07-29 11:28:53 +02:00
Marko Oldenburg
f4abf21cb7 fix doubble $ and add condition for brightness morning drive 2019-07-20 15:48:53 +02:00
Marko Oldenburg
f4a45fce51 Merge branch 'devel' of https://github.com/fhem/AutoShuttersControl into devel
fix comref
2019-07-16 21:14:30 +02:00
Leon Gaultier
1571caf277
Merge pull request #45 from christoph-morrison/devel
Randomly inserted # deleted
2019-07-16 21:13:44 +02:00
Christoph Morrison
97e4ef8511 Randomly inserted # deleted 2019-07-16 20:56:31 +02:00
Marko Oldenburg
e57fc0ac1f fix closed strong tag 2019-07-10 17:06:04 +02:00
Marko Oldenburg
ac7d9b212a little bugfix 2019-07-08 09:06:07 +02:00
Leon Gaultier
4c5c24ff79
Merge pull request #44 from christoph-morrison/devel
Fix for missing closed tag for strong
2019-07-08 08:59:52 +02:00
Christoph Morrison
6359a67195 Fix for missing closed tag for strong (https://forum.fhem.de/index.php/topic,99980.msg956169.html#msg956169) 2019-07-08 08:45:48 +02:00
Christoph Morrison
ba1b317799
Merge pull request #1 from fhem/devel
Update
2019-07-08 08:43:21 +02:00
Marko Oldenburg
03d0094942 ready to version 0.6.20 2019-07-05 11:18:19 +02:00
Marko Oldenburg
6b7db998be change englisch commandref parts, fix little selfdefense bug 2019-07-04 09:48:17 +02:00
Marko Oldenburg
fac703e385 code style 2019-07-03 11:54:48 +02:00
Marko Oldenburg
81a8ef64ec fix trigger ASC_ShuttersLastDrive Event 2019-07-03 11:54:01 +02:00
Marko Oldenburg
b4ab616774 change 'set ASCDEVICE hardLockOut' logic 2019-07-02 09:25:18 +02:00
Marko Oldenburg
b76b03794c add getShadingLastStatusTimestamp 2019-07-01 19:36:54 +02:00
Marko Oldenburg
7d3a572825 add more condition for shadingManualDriveStatus 2019-07-01 19:32:49 +02:00
Marko Oldenburg
8596983126 fix sunrise drive with self defense and open window 2019-07-01 10:14:28 +02:00
Marko Oldenburg
89331090ce fix syntax error 2019-06-30 18:53:28 +02:00
Marko Oldenburg
94770e7939 more condition for shading manual 2019-06-30 09:18:50 +02:00
Marko Oldenburg
1f98f2ceb4 change little Debug output and manual time condition 2019-06-30 08:42:21 +02:00
Marko Oldenburg
1c190fb41a add condition for manual drive then shading 2019-06-29 19:39:44 +02:00
Marko Oldenburg
b1aacde894 code style 2019-06-28 22:12:44 +02:00
Marko Oldenburg
836283e2aa fix defined privacyDownStatus condition 2019-06-28 22:12:10 +02:00
Marko Oldenburg
9997f67025 fix undefined then roommate come home 2019-06-28 21:55:28 +02:00
Marko Oldenburg
88175a7699 add condition to shading out drive 2019-06-27 15:14:56 +02:00
Marko Oldenburg
cca397c338 add getQueryShuttersPos condition to ShadingDrive Fn 2019-06-27 11:18:19 +02:00
Marko Oldenburg
91f160fc6a fix little bug, lost IsDay condition for shading drive command 2019-06-27 10:48:06 +02:00
Marko Oldenburg
5ff52208f4 add rain and wind protection to delayDrive condition 2019-06-26 14:00:29 +02:00
Marko Oldenburg
9a6f1f5036 fix roommate fn then in shading 2019-06-26 13:49:10 +02:00
Marko Oldenburg
2d9478be05 fix shading routine 2019-06-26 12:08:02 +02:00
Marko Oldenburg
2ce59ed9a5 change shading logic 2019-06-26 11:20:09 +02:00
Marko Oldenburg
45b6130bd0 fix little shading bug 2019-06-26 07:24:38 +02:00
Marko Oldenburg
31bd4cea24 fix privacy mode bug, add privacy condition to wind and rain unprotection drive 2019-06-26 06:53:32 +02:00
Marko Oldenburg
05b46042de fix bugs 2019-06-25 15:28:27 +02:00
Marko Oldenburg
64910661a1 fix coming home and self defense 2019-06-25 15:13:35 +02:00
Marko Oldenburg
69810dcf70 fix Sunrise drive in shading position 2019-06-25 13:40:09 +02:00
Marko Oldenburg
e18d609e5f fix undefined in fhem.pl 2019-06-25 13:19:22 +02:00
Marko Oldenburg
6396cd25d5 change ASC_Self_Defense_AbsentDelay to 300 2019-06-25 12:32:25 +02:00
Marko Oldenburg
f9f84f07d4 add delay for absent self defense 2019-06-25 12:24:25 +02:00
Marko Oldenburg
11d3942916 change prio in RoommateLastStatus, add selfDefense for absent, fix bugs 2019-06-25 09:18:50 +02:00
Marko Oldenburg
aa0dc90a2e add shutter tempout complete 2019-06-24 12:57:52 +02:00
Marko Oldenburg
d139f8dd40 fix little Shading Bug change from aslee to home and device is inShading 2019-06-24 09:47:36 +02:00
Marko Oldenburg
d9858108ed fix syntax error 2019-06-23 18:35:07 +02:00
Marko Oldenburg
f3953e00b4 fix little shading bugs 2019-06-23 18:25:17 +02:00
Marko Oldenburg
987827a088 fix shutterplace terrace 2019-06-23 16:06:32 +02:00
Marko Oldenburg
0ca68a3713 fix hardLock Mode 2019-06-23 15:51:37 +02:00
Marko Oldenburg
ff69349147 delete IsDay from ShadingFn 2019-06-23 08:30:12 +02:00
Marko Oldenburg
beeef8ccf3 add seperate temp sensor per shutter, #35 2019-06-21 14:20:08 +02:00
Marko Oldenburg
465ea6134b fix #37 2019-06-21 09:58:41 +02:00
Marko Oldenburg
ed631686d9 change homemmode condition for shading in shadingDrive Fn 2019-06-21 09:19:49 +02:00
Marko Oldenburg
4011a56656 change DEV_VERSION Hash 2019-06-20 13:06:01 +02:00
Marko Oldenburg
83ec288728 change version for developer branch 2019-06-20 12:13:03 +02:00
Marko Oldenburg
9c7fc36737 change Meta Code for version 2019-06-19 21:34:27 +02:00
Marko Oldenburg
1589fd3650 change version 2019-06-19 16:56:17 +02:00
Marko Oldenburg
94ce9163ec change every package code 2019-06-18 15:26:41 +02:00
Marko Oldenburg
9f4eef1442 change version 2019-06-15 09:57:33 +02:00
Marko Oldenburg
b39f18c8bb add LICENSE 2019-06-14 14:04:56 +02:00
Marko Oldenburg
01be69baec fix commandref typo's 2019-06-14 14:02:05 +02:00
Marko Oldenburg
6b9459f267 fix little bug 2019-06-13 17:25:17 +02:00
Marko Oldenburg
72633c9fb1 add ShadingLastStatus to compare shading in and shading out 2019-06-13 15:41:03 +02:00
Marko Oldenburg
755984fd1d code style 2019-06-13 15:06:30 +02:00
Marko Oldenburg
68c15c9f8b change JSON Code 2019-06-11 08:05:54 +02:00
Marko Oldenburg
88cfc01271 try to use JSON::MaybeXS wrapper for chance of better performance + open code, thanks to Julian 2019-06-10 21:52:01 +02:00
Marko Oldenburg
f061794145 fix _getBrightnessSensor if no sensor device given 2019-06-10 18:42:31 +02:00
Marko Oldenburg
0582052748 expand Winrec Event RegEx for open_from_tilted 2019-06-10 17:55:53 +02:00
Leon Gaultier
2943624a60
Merge pull request #33 from christoph-morrison/devel
Minor adjustments in the EN documentation
2019-06-10 16:28:25 +02:00
Marko Oldenburg
6a8c0f03b1 change more window contact values 2019-06-10 16:06:17 +02:00
Marko Oldenburg
348058782f fix default Max Elevation Value 2019-06-10 15:36:02 +02:00
Christoph Morrison
86bcdb05d0 Just standardised some of the delimiters for attributes with options 2019-06-10 15:31:39 +02:00
Christoph Morrison
2eb113dd6d Fixed speling typo in documentation 2019-06-10 15:16:38 +02:00
Marko Oldenburg
f2d7559f1b fix little bug 2019-06-10 14:40:24 +02:00
Marko Oldenburg
3ededcb209 add Closed Open to RegEx Windowevent 2019-06-10 14:23:00 +02:00
Marko Oldenburg
0aa3b79a4b fix little typo bug in code 2019-06-10 14:03:03 +02:00
Marko Oldenburg
62ca4ead34 add ASC_Shading_MinMax_Elevation, fix bug then ASC_autoShuttersControlMarning/Evening set off 2019-06-10 13:41:46 +02:00
Marko Oldenburg
207342fc64 fix window status question 2019-06-09 13:45:27 +02:00
Marko Oldenburg
fa55f73d8d Merge branch 'devel' into patch-shadingAfterSunsetBrightness
fix negatix table tag out
2019-06-08 14:54:38 +02:00
Marko Oldenburg
62f46596c8 Merge branch 'master' into devel
fix negative tagcount for table
2019-06-08 14:53:30 +02:00
Marko Oldenburg
f7ef511489 fix negative tagcount for table 2019-06-08 14:52:53 +02:00
Marko Oldenburg
ca9c01226d change developer version 2019-06-08 11:19:36 +02:00
Marko Oldenburg
f3605737c5 Merge branch 'devel' into patch-shadingAfterSunsetBrightness
weiteführende Entwicklung
2019-06-08 10:56:03 +02:00
Marko Oldenburg
435bb4346a Merge branch 'master' into devel
test
2019-06-08 10:55:07 +02:00
Marko Oldenburg
797022cb82 Merge branch 'master' into patch-shadingAfterSunsetBrightness 2019-06-08 10:54:36 +02:00
Marko Oldenburg
c0e157164d add 2019-06-08 10:54:21 +02:00
Leon Gaultier
7aa58167f2
Merge pull request #31 from fhem/jpawlowski-patch-prereqs
Add Date::Parse to META.json
2019-06-07 19:58:26 +02:00
Julian Pawlowski
e4e32c6c9e
Add Date::Parse to META.json 2019-06-07 19:49:33 +02:00
Marko Oldenburg
056010fc35 new version 2019-06-06 08:08:00 +02:00
Marko Oldenburg
60c63d698d add text to english commandref 2019-06-06 08:03:29 +02:00
Marko Oldenburg
ae695b27e4 add README.md file 2019-06-04 22:11:29 +02:00
Marko Oldenburg
60c399c048 change english commandref 2019-06-04 13:42:03 +02:00
Marko Oldenburg
6b78b8ec1f add getter getIsDay for ascAPI 2019-06-04 10:53:28 +02:00
Marko Oldenburg
2f2aa442b9 Fixed bug when in the evening the blind is closed and the blind position is under the window open position 2019-06-04 06:37:38 +02:00
Marko Oldenburg
21052f1ca7 add english commandref, big thanks to Christoph Morrison 2019-06-03 11:54:27 +02:00
Marko Oldenburg
aaf4663175 fix commandref bugs, delete absolet entrys 2019-06-03 11:32:50 +02:00
Marko Oldenburg
2af032e4af delete temporary code for rename attributs, fix many commandref and code bugs (thanks to Christoph) 2019-06-03 07:44:35 +02:00
Marko Oldenburg
5336af574c change manual drive detection code 2019-06-03 06:24:53 +02:00
Marko Oldenburg
3a65b172c4 change Siro Values 2019-05-31 11:15:42 +02:00
Marko Oldenburg
13b8245941 fix commandref 2019-05-29 22:49:51 +02:00
Marko Oldenburg
9aa1e08589 fix negative tagcount for table 2019-05-29 22:35:33 +02:00
Marko Oldenburg
f51af5bf46 add shading out routine then coming home and shading mode is absent 2019-05-28 15:44:44 +02:00
Marko Oldenburg
67134f6e67 code style 2019-05-28 09:27:13 +02:00
Marko Oldenburg
0509e0fb4f fix bug then add or delete Timer attribut and create new Sunrise/Sunset Timer 2019-05-28 09:23:10 +02:00
Marko Oldenburg
7513c3470e fix bug then IsWe or IsWeTomorrow 2019-05-28 08:39:52 +02:00
Marko Oldenburg
368fb7faad change Debigmessages 2019-05-27 13:45:38 +02:00
Marko Oldenburg
3141b609ec add more shading options 2019-05-24 22:24:11 +02:00
Marko Oldenburg
a816200c98 resolve conflicts 2019-05-24 20:04:05 +02:00
Marko Oldenburg
776ac58815 split shadingProcessing function into two functions 2019-05-24 19:58:26 +02:00
Christoph Morrison
121226f6d2 fixed several typos, congruent usage of Rollladen instead of Roll(l)o 2019-05-24 19:56:38 +02:00
Christoph Morrison
8b980438fb Self defense - congruent AE style 2019-05-24 18:54:30 +02:00
Christoph Morrison
44c373f847 Fixed broken table tags, added tr for the table heading 2019-05-24 18:50:51 +02:00
Marko Oldenburg
bf9a64ed56 Fixed broken html tag, thanks to Christoph 2019-05-24 13:16:54 +02:00
Marko Oldenburg
23225421f7 fix little bug 2019-05-24 11:49:40 +02:00
Marko Oldenburg
fcb96d9878 Resolve conflicts from Patch merge 2019-05-24 11:36:06 +02:00
Marko Oldenburg
09c7194f0b patch Julian for more residents events 2019-05-24 11:31:07 +02:00
Marko Oldenburg
3de6fe1c08 merge patch from Christoph, expand Events RegEx for Window Events 2019-05-24 11:22:58 +02:00
Marko Oldenburg
35f0f01bbc expand shading out drives, fix commandref ascAPIget 2019-05-22 13:57:04 +02:00
Marko Oldenburg
73c0260550 change API Referenz 2019-05-20 14:36:49 +02:00
Marko Oldenburg
99277307d2 add API Reference to Commandref 2019-05-20 14:23:11 +02:00
Marko Oldenburg
041d5b85ba add ascAPIget Interface 2019-05-20 13:52:05 +02:00
Marko Oldenburg
ed4c78867d add drive in shading position then residents home and shading mode home 2019-05-20 09:47:28 +02:00
Marko Oldenburg
a581b7a5de new german commandref, thanks to FunkOdyssey 2019-05-17 22:18:13 +02:00
Marko Oldenburg
470cc5b0f6 change version 2019-05-17 21:40:38 +02:00
Herr.Vorragend
baed4de25a
Sync with 5928914e21 (diff-53959a19fa0ce9979980d2eaa219bc1b)
CommandRef update for 'add setter so enable/disable ASC control global or shutter'
2019-05-17 15:42:58 +02:00
Marko Oldenburg
5928914e21 add setter so enable/disable ASC control global or shutter 2019-05-17 14:20:57 +02:00
Marko Oldenburg
e68b156d3d fix bug then ventilate off and comfort on, fix brightness and weekend in EventBrightness Routine 2019-05-11 09:50:02 +02:00
Marko Oldenburg
8c7cf77b4c fix sunrise and sunset object values 2019-05-10 11:39:07 +02:00
Herr.Vorragend
537b85eec5
English part of the reference removed 2019-05-09 18:45:30 +02:00
Herr.Vorragend
f757d8d717
Syncing english and german contents
I've accidentally started with the english part of the reference which still includes german sentences.
There were several changes done in the past just in the english part of the reference, so that I don't know which one was the correct one.
Examples: 
Description of 'ASC_brightnessDriveUpDown', 'ASC_Drive_Offset' and 'ASC_WindProtection'

I hope that I found the correct ones.

---
FYI: Till now - only the english part is the primary part. I will swap the contents soon.
2019-05-09 18:37:44 +02:00
Herr.Vorragend
3729e5aecb
Some more updates.
still unfinished
2019-05-07 17:37:11 +02:00
Herr.Vorragend
83465c7ace
Streamline html markup und spelling updates 2019-05-07 16:45:39 +02:00
Marko Oldenburg
50f5bd9477 change version, code style 2019-05-07 11:34:53 +02:00
Marko Oldenburg
6f8175ca88 add debug for manual drive routine, change detect manual drive 2019-05-07 11:30:55 +02:00
Marko Oldenburg
9a09d86214 fix IsDay for brightness, fix EventProcessingBrightness Weekend Time 2019-05-07 05:58:59 +02:00
Marko Oldenburg
da6fd56674 remove Attribut ASC_autoControlShading and add reading / set command controlShading 2019-05-04 23:01:57 +02:00
Marko Oldenburg
02d8ab2745 fix shading with wind and rain protection 2019-05-04 18:46:09 +02:00
Marko Oldenburg
062502fdfc fix shading bug 2019-05-04 17:42:45 +02:00
Marko Oldenburg
73059d4409 change Version for stable 2019-05-04 09:26:36 +02:00
Marko Oldenburg
8efa2058cf make part of associatedWith 2019-05-03 13:36:39 +02:00
Marko Oldenburg
120fc78952 fix wrong drive time 2019-05-03 11:23:14 +02:00
Marko Oldenburg
9e72111b43 add more logic in sunrise calculation with ModeUp time 2019-05-03 11:03:28 +02:00
Marko Oldenburg
f0eecafb56 code style 2019-05-03 08:57:35 +02:00
Marko Oldenburg
54926ed6df add Wind and Rain Protection query for shading 2019-05-02 11:49:22 +02:00
Marko Oldenburg
6c3f5735fc fix ASC_autoShuttersControl... attributs and expand shading commandref part 2019-05-02 10:37:14 +02:00
Marko Oldenburg
d046620e36 change version 2019-05-01 15:15:41 +02:00
Marko Oldenburg
898e3b1463 code style 2019-05-01 11:45:46 +02:00
Marko Oldenburg
d2b3490e14 fix winrec open and drive to shading position then place is terrace 2019-05-01 10:11:53 +02:00
Marko Oldenburg
9ea78f22c3 change version and code style 2019-04-30 09:56:19 +02:00
Marko Oldenburg
ae7363d1f1 fix window closed after sunset and ModeUp absent, fix other bugs 2019-04-30 09:53:45 +02:00
Marko Oldenburg
6528876e23 change version 2019-04-29 13:24:01 +02:00
Marko Oldenburg
503545e620 add attribut ASC_RainProtection 2019-04-29 13:22:37 +02:00
Marko Oldenburg
cad34208ea fix numerix RegEx and value none for rain 2019-04-29 11:04:27 +02:00
Marko Oldenburg
e7fbc4550f change version 2019-04-28 22:15:01 +02:00
Marko Oldenburg
9ce5835d58 add attribut ASC_WindProtection 2019-04-28 22:13:27 +02:00
Marko Oldenburg
913cba5cd1 change version 2019-04-28 21:08:10 +02:00
Marko Oldenburg
f98af44b98 code style 2019-04-28 08:09:47 +02:00
Marko Oldenburg
2480f3a870 add support for associatedWith in shutters devices 2019-04-28 08:08:23 +02:00
Marko Oldenburg
ee20005806 fix Sunrise drive then We 2019-04-28 07:32:48 +02:00
Marko Oldenburg
957662cd2b fix partyMode drive shutters with partyMode off 2019-04-27 20:58:17 +02:00
Marko Oldenburg
9aea75ef1a ready for 0.6 2019-04-26 23:07:30 +02:00
Marko Oldenburg
54419fd7d3 delete aktiv code for Roommate event and IsDay 2019-04-26 11:15:16 +02:00
Marko Oldenburg
d4038a110f fix get residentsStatus bug 2019-04-25 23:07:18 +02:00
Marko Oldenburg
9d1d626fc8 code check 2019-04-25 21:49:11 +02:00
Marko Oldenburg
407cc28291 code style 2019-04-25 21:34:46 +02:00
Marko Oldenburg
cae15e958b commandref 2019-04-25 17:17:35 +02:00
Marko Oldenburg
35b3641af9 change many code, change complete Attribut rollout 2019-04-25 17:15:56 +02:00
Marko Oldenburg
442ee00b4b code style 2019-04-24 14:00:29 +02:00
Marko Oldenburg
5766667cad Code Style 2019-04-23 15:26:16 +02:00
Marko Oldenburg
9d90420fa9 change windowEvent window closed LastPosition 2019-04-23 15:16:54 +02:00
Marko Oldenburg
225548b47b change IsDay Fn 2019-04-23 14:53:39 +02:00
Marko Oldenburg
5b9e769648 bugfix in IsDayFn and add more Debug Messages 2019-04-23 12:33:01 +02:00
Marko Oldenburg
1e7c01739a change code 2019-04-20 21:53:05 +02:00
Marko Oldenburg
f91b97b162 change version 2019-04-20 21:40:41 +02:00
Marko Oldenburg
c4f04cc634 fix IsDay then brightness 2019-04-20 21:40:08 +02:00
Marko Oldenburg
047e9cdf6f fix bug in brightnessUpDown ASC Attr 2019-04-20 18:18:50 +02:00
Marko Oldenburg
657e4879d9 change commandref 2019-04-17 16:25:05 +02:00
Marko Oldenburg
d5944ddc66 change version 2019-04-12 13:59:15 +02:00
Marko Oldenburg
ad979345c8 change code for shutters drive 2019-04-12 13:58:26 +02:00
Marko Oldenburg
875af674a2 fix shadingMinMaxTemp comparison 2019-04-09 12:47:36 +02:00
Marko Oldenburg
93f1c62284 code style 2019-04-09 12:13:46 +02:00
Marko Oldenburg
44fb531517 fix many bugs in Sunrise timer calculation 2019-04-09 12:12:13 +02:00
Marko Oldenburg
a4b57312e9 ShuttersSunrise 2019-04-09 09:37:34 +02:00
Marko Oldenburg
0ea9631153 fix bug with hm components 2019-04-08 10:19:09 +02:00
Marko Oldenburg
de8f7dc242 change scalar 2019-04-05 08:07:26 +02:00
Marko Oldenburg
a38e108c2f del unsupported code 2019-04-04 19:11:23 +02:00
Marko Oldenburg
195d557142 change Offset Logic, fix NoOffset Value, change blocking drive then window open and shutter place terrace 2019-04-02 19:28:54 +02:00
Marko Oldenburg
f328da9e9a fix bug's in shading logik and sunrise calculating 2019-03-31 17:17:56 +02:00
Marko Oldenburg
3a4b49297b add blockAscDrivesAfterManual to commmandref 2019-03-27 13:16:35 +01:00
Marko Oldenburg
a17543eaa2 add blockAscDrivesAfterManual for complet blocking ASC drive 2019-03-27 11:22:06 +01:00
Marko Oldenburg
e865c8741f change package name and add support for META and Installer 2019-03-27 08:41:15 +01:00
Marko Oldenburg
5317e40bdf change intern IsWe to global fhem.pl IsWe Fn 2019-03-25 11:23:49 +01:00
Marko Oldenburg
1c979f1b24 fix little Typo 2019-03-25 10:25:30 +01:00
Marko Oldenburg
5ca6ec682b fix wrong Brightness Attributname 2019-03-24 16:41:48 +01:00
Marko Oldenburg
b30b2e8aa9 add shading info to shuttersInfo 2019-03-23 21:57:19 +01:00
Marko Oldenburg
1d47b80035 fix typo in getter 2019-03-23 13:15:44 +01:00
Marko Oldenburg
1450458fcb fix shading out logic error 2019-03-23 12:45:50 +01:00
Marko Oldenburg
3f15c32d7b change wind control logic 2019-03-23 12:06:21 +01:00
Marko Oldenburg
e8018b0c60 change ASC brightness Attribut, fix many Bugs 2019-03-20 21:44:00 +01:00
Marko Oldenburg
14cbae4b96 change commandref, change default value for ASC britgness 2019-03-12 23:50:39 +01:00
Marko Oldenburg
eac3fd7e42 rewrite EventProcessingWindoRec, change Attribut logic for BrightnessSensor in Shutter 2019-03-12 23:02:02 +01:00
Marko Oldenburg
7cf90baca4 write code for new Attributs rename routine 2019-03-07 17:58:30 +01:00
Marko Oldenburg
55305dd8e0 change default values for wind parameters 2019-03-07 12:46:42 +01:00
Marko Oldenburg
654b4e84a9 change Attribut names and Value syntax, add new Shutter device Attribut for wind 2019-03-07 10:52:23 +01:00
Marko Oldenburg
3bdf6c5963 Code und Syntax für komplexe Attributsangaben steht, Anpassungen für die Moduleigenen Attribute vorgenommen, Wind Attribute in den Rollläden müssen noch angepasst werden 2019-03-06 15:53:48 +01:00
Marko Oldenburg
99d904f3e6 change Commandref for old ASC Attributes 2019-03-04 14:54:51 +01:00
Marko Oldenburg
6e882701fd change all ASC Attributs for Devices in DEVICE:READING Value Combo 2019-03-04 14:02:54 +01:00
Marko Oldenburg
5a4750038f change all code to split mode 2019-03-04 10:57:39 +01:00
Marko Oldenburg
9c86df457e Merge branch 'master' into patch-splitdevreading 2019-03-04 10:41:02 +01:00
Marko Oldenburg
9447ebde97 fix little bugs 2019-03-04 10:40:31 +01:00
Marko Oldenburg
11c8cdaf6e merge last master changes 2019-03-04 10:25:57 +01:00
Marko Oldenburg
6c955f9a88 code clean to make faster 2019-03-04 10:10:53 +01:00
Marko Oldenburg
3910a46c5d change getMode logic 2019-03-04 09:42:27 +01:00
Marko Oldenburg
665866480b use split for device:reading 2019-03-04 08:40:58 +01:00
Marko Oldenburg
ceff46344d change version 2019-02-28 09:06:36 +01:00
Marko Oldenburg
0906df79b6 add support for wind data 2019-02-28 09:05:23 +01:00
Marko Oldenburg
6b1cc2eb69 fix typo in Event RegEx for Twilight Event 2019-02-27 21:30:35 +01:00
Marko Oldenburg
dbbc002cf6 fix merge conflict 2019-02-27 10:35:05 +01:00
Marko Oldenburg
2cf01e406c fix little winrec bug then state opened (max winrec sensors) 2019-02-27 10:22:32 +01:00
Marko Oldenburg
857d026e6d add first code parts for wind 2019-02-26 12:04:10 +01:00
Marko Oldenburg
73f081ca56 fix Codetypo in getFreezeStatus 2019-02-26 11:23:43 +01:00
Marko Oldenburg
5bbcb2d172 Version 0.4.0.7 with WinRecOpenBeforIsDay Patch 2019-02-26 09:18:44 +01:00
Marko Oldenburg
0e9e6653f6 fix little bug then not use brightness 2019-02-22 10:56:24 +01:00
Marko Oldenburg
0e176974e1 remove debug messages 2019-02-22 10:16:24 +01:00
Marko Oldenburg
eb0d8bffcf fix #2, fix bug window open befor day 2019-02-22 10:02:48 +01:00
Marko Oldenburg
3658b27805 remove code for version reload then modul reload 2019-02-21 08:24:30 +01:00
Marko Oldenburg
a5623f1bf0 fix typo in shuttersMode 2019-02-20 20:28:50 +01:00
Marko Oldenburg
fabd2e2fbb fix bug then create timer, timer set to 1970 2019-02-19 21:18:06 +01:00
Marko Oldenburg
86e9ac5040 fix shutters drive in brightness mode then modeUp off 2019-02-19 12:00:25 +01:00
Marko Oldenburg
0fa54e3ce6 change shading logging to verbose 4 2019-02-16 19:14:25 +01:00
Marko Oldenburg
16142e0b16 add support for Max contact sensor with state opened 2019-02-16 18:18:53 +01:00
Marko Oldenburg
28499386e3 fix run partyMode Routine then partyMode Reading Value equevalent partyMode set Command 2019-02-11 21:26:42 +01:00
Marko Oldenburg
34af80d48c fix drive down bug then driveDown absent and come window event 2019-02-08 08:13:45 +01:00
Marko Oldenburg
99b67139bb change IsAfterShuttersManualBlocking in WindowRec Routine 2019-01-28 18:20:19 +01:00
Marko Oldenburg
5bc747f9bf change default value for offsetStart 2019-01-27 14:36:52 +01:00
Marko Oldenburg
fb11528556 change handling then window closed, add eventhandling then change attribut ASC_PrivacyDownTime_beforNightClose 2019-01-27 14:19:51 +01:00
Marko Oldenburg
9ae826496f change Loglevel in Shadingprocessing 2019-01-23 19:32:48 +01:00
Marko Oldenburg
6f38293e34 fix merge conflicts 2019-01-23 19:04:28 +01:00
Marko Oldenburg
996a74993c add support for privacy drive befor sunset closed 2019-01-23 19:01:54 +01:00
Marko Oldenburg
9f8484263a bugfix shutters drive then terrace door is open, set Attribut ASC_ShuttersPlace to terrace 2019-01-23 10:00:47 +01:00
Marko Oldenburg
89303a33b9 add Attribut driveOffsetStart delay in seconds befor Offset Value added to it 2019-01-21 12:27:22 +01:00
Marko Oldenburg
c3c82436fc fix shhutter drive morning up then roommate sleep and window is closed and selfdefense is on 2019-01-17 09:47:53 +01:00
Marko Oldenburg
88272bca99 fix drive then brightness value and window open 2019-01-13 07:32:17 +01:00
Marko Oldenburg
44c2dca61e fix typo in commandref 2019-01-07 07:47:51 +01:00
Marko Oldenburg
a413ac87cd fix typo in commandref 2019-01-03 07:01:02 +01:00
Marko Oldenburg
890c658f2e better logic 2019-01-02 09:38:00 +01:00
Marko Oldenburg
b50a8cf464 Merge branch 'master' into devel 2019-01-01 18:56:20 +01:00
Marko Oldenburg
d39d9725cd check blockingTimeAfterManual 2019-01-01 18:54:08 +01:00
Marko Oldenburg
3ee81ecc7c add maxBrightness for morning open 2018-12-21 19:40:16 +01:00
Marko Oldenburg
460885c30a change loglevel to 3 2018-12-21 15:55:56 +01:00
Marko Oldenburg
d2d1bb1600 fix bugs 2018-12-21 08:45:30 +01:00
Marko Oldenburg
c39f0b6d78 after merge conflict 2018-12-07 20:01:57 +01:00
Marko Oldenburg
7c889d7885 change code for ASC_Shading_Mode 2018-12-07 19:57:48 +01:00
Marko Oldenburg
b6cca152f8 change ASC_Shading_Mode values 2018-12-07 19:53:05 +01:00
Marko Oldenburg
c7181f449f first devel version with shading support 2018-12-07 13:04:41 +01:00
Marko Oldenburg
0bf225404e Abfrage für blockiertes fahren der Rollläden nach manueller Fahrt sowie vor Sonnenauf und Sonnenuntergang Fahrten, Attribute für Helligkeitssensor umbenannt, Shading im Wort entfernt 2018-12-07 12:57:45 +01:00
Marko Oldenburg
c7ed9f24bb finish Shading Code for testing 2018-12-06 15:24:16 +01:00
Marko Oldenburg
8ab9c46b12 add many code for shading 2018-12-05 15:39:11 +01:00
Marko Oldenburg
b386fadd44 change code style 2018-12-05 09:11:45 +01:00
Marko Oldenburg
14312c8220 fix absent Event and ModeDown absent bug 2018-12-05 09:09:46 +01:00
Marko Oldenburg
365feecec5 add gone then ASC_Mode_... absent 2018-12-04 13:46:50 +01:00
Marko Oldenburg
24be89ebf2 change ReadingsVal to ReadingsNum for read position Reading, add setDriveReading for wiggle 2018-11-29 21:33:08 +01:00
Marko Oldenburg
7feef51543 change version and code style 2018-11-28 13:11:32 +01:00
Marko Oldenburg
372e11598c fix syntax bug 2018-11-28 13:07:52 +01:00
Marko Oldenburg
2405d59711 fix drive shutters then closed window and winopenpos = openpos 2018-11-28 12:14:06 +01:00
Marko Oldenburg
dcf9904afa merge master 2018-11-22 14:48:29 +01:00
Marko Oldenburg
c63b22f147 change hardBlocked code 2018-11-22 12:08:47 +01:00
Marko Oldenburg
37ef7f1e93 change hardLockOut mode code 2018-11-21 21:56:29 +01:00
Marko Oldenburg
b3c24fee5b change code for lockOut hard Fn 2018-11-21 09:52:02 +01:00
Marko Oldenburg
48c7fa62f4 Merge branch 'master' into Patch_lockOut 2018-11-21 08:56:01 +01:00
Marko Oldenburg
f5e97a75df bugfix line 623 2018-11-21 08:40:17 +01:00
Marko Oldenburg
ce711a7435 add window event lockOut Routine 2018-11-21 08:38:32 +01:00
Marko Oldenburg
8fa9dbb9de change version 2018-11-20 15:45:35 +01:00
Marko Oldenburg
9d9ac7614a change commandref 2018-11-20 15:43:07 +01:00
Marko Oldenburg
c4c15a0dbd add support for lockOut hard protection at Z-Wave 2018-11-20 15:31:23 +01:00
Marko Oldenburg
d8daeda6ed change version 2018-11-20 10:36:49 +01:00
Marko Oldenburg
ae04c0390b ASC Attribut support for value zero - no creation of the attributes during the first scan or no attention to a drive command 2018-11-20 10:35:10 +01:00
Marko Oldenburg
d67228ce38 change version 2018-11-19 22:06:23 +01:00
Marko Oldenburg
b3a67eb234 fix buf in wiggle Fn 2018-11-19 21:58:55 +01:00
Marko Oldenburg
253853086e fix bug then holidaywe for sunrise 2018-11-19 12:16:54 +01:00
Marko Oldenburg
b752eef262 after code layout 2018-11-19 09:10:28 +01:00
Marko Oldenburg
1acd3e35da formated 2018-11-19 09:06:50 +01:00
Marko Oldenburg
f56e29a3cc after master merge 2018-11-19 09:05:37 +01:00
Marko Oldenburg
23705c6f10 drive to LastPos then window closed and IsDay 2018-11-19 09:02:41 +01:00
Marko Oldenburg
82c02b8778 change logic in eventwindow sub 2018-11-18 16:49:09 +01:00
Marko Oldenburg
9d01c97dc3 fix drive up then sunset but Drive_Mode off 2018-11-18 11:56:11 +01:00
Marko Oldenburg
87cedd1b67 fix object call error 2018-11-18 08:13:58 +01:00
Marko Oldenburg
93ae7648fa change Attribut ASC_AntifreezePos 2018-11-17 22:57:09 +01:00
Marko Oldenburg
687684635d fix LastDrive Object value then close window 2018-11-17 18:23:10 +01:00
Marko Oldenburg
7b2e773b78 fix weekendHoliday time then use time for Drive_Up 2018-11-17 17:10:45 +01:00
Marko Oldenburg
1c321ed9d3 merge Packport from master branch 2018-11-16 10:54:00 +01:00
Marko Oldenburg
8fc9bca4c0 fix residents bug then last state awoken or asleep and shutters up 2018-11-16 10:44:54 +01:00
Marko Oldenburg
dcbaed4e63 Merge branch 'v0.2.1dev' 2018-11-16 09:28:35 +01:00
Marko Oldenburg
9be02a810b add more values for ASC_Antifreeze 2018-11-16 09:28:18 +01:00
Marko Oldenburg
be23e3b45b change commandref 2018-11-15 22:13:26 +01:00
Marko Oldenburg
d2151b5162 Merge branch 'master' into v0.2.1dev 2018-11-15 21:51:26 +01:00
Marko Oldenburg
8742638b38 change antifreez attribut and code 2018-11-15 21:51:02 +01:00
Marko Oldenburg
a4e4fb7643 new devel version 2018-11-15 15:05:42 +01:00
Marko Oldenburg
1420e03bda backport merge from master 2018-11-15 15:03:18 +01:00
Marko Oldenburg
871b2d7590 frostschutz umgebaut, zusätzliches Attribut AntiFreezePos, aussagekräftigere Fahrtgründe als Readingvalue, bessere Logik in Bezug auf Comfort 2018-11-15 15:01:34 +01:00
Marko Oldenburg
4e68f8b245 change Attribut name Pos_After_Comfort, add more Shading Code 2018-11-15 10:15:36 +01:00
Marko Oldenburg
e7cee41006 fix add twilight device automatically, change intern structure, delete old temporary Code 2018-11-15 00:44:41 +01:00
Marko Oldenburg
af757f9842 twilight event handling 2018-11-14 15:26:32 +01:00
Marko Oldenburg
5c11dfb800 after master merge 2018-11-14 05:45:46 +01:00
Marko Oldenburg
be1bc23b23 add more drive information for reading ASC_ShuttersLastDrive 2018-11-14 05:44:02 +01:00
Marko Oldenburg
2f283eb2a4 add mor drive informations in ASC_ShuttersLastDrive reading 2018-11-14 05:28:53 +01:00
Marko Oldenburg
a7fd743010 add expert Attribut 2018-11-14 04:21:52 +01:00
Marko Oldenburg
ae32cbd5b2 delete UNIRoll Hash entry 2018-11-14 03:56:47 +01:00
Marko Oldenburg
77b6ddb46c fix double NOTIFYDEV entry by multiple scahForShutters action 2018-11-14 03:54:30 +01:00
Marko Oldenburg
0f936d88e9 add first function's for shading 2018-11-14 03:41:38 +01:00
Marko Oldenburg
e24142ac78 merge with master 2018-11-13 09:14:26 +01:00
Marko Oldenburg
76c38ee079 Commandref Patch von Tom eingearbietet, erste Objektroutinen für die Beschattung erstellt 2018-11-12 12:56:18 +01:00
Marko Oldenburg
2c9b546a2f fix setPosSetCmd 2018-11-12 09:12:04 +01:00
Marko Oldenburg
2bd8e4660f layout 2018-11-12 09:09:30 +01:00
Marko Oldenburg
fb3c7f6400 style 2018-11-12 09:01:52 +01:00
Marko Oldenburg
098234449f fix ASC_twilightDevice 2018-11-12 08:58:08 +01:00
Marko Oldenburg
6e21b89302 fix setPosSetCmd Object 2018-11-11 17:54:10 +01:00
Marko Oldenburg
9ca6a64cf4 fix typo in commandref 2018-11-11 15:49:29 +01:00
Marko Oldenburg
e1ff3b7a40 add Attribut ASC_twilightDevice with auto scan 2018-11-11 12:31:20 +01:00
24 changed files with 21392 additions and 3355 deletions

File diff suppressed because it is too large Load Diff

8549
CHANGELOG.md Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

339
LICENSE Normal file
View File

@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

16
README.md Normal file
View File

@ -0,0 +1,16 @@
# FHEM::AutoShuttersControl
## Used branching model
* Master branch: Production version (copy of [fhem/fhem-mirror/blob/master/fhem/FHEM/73_AutoShuttersControl.pm](https://github.com/fhem/fhem-mirror/blob/master/fhem/FHEM/73_AutoShuttersControl.pm))
* Devel branch: Latest development version
## Community support
The FHEM Forum is available [here](https://forum.fhem.de/) for general support.
In case you have a specific question about this module, it is recommended to find the right sub-forum.
It can either be found from the module info card using the FHEM Installer (e.g. using command `search <MODULE_NAME>`) or it can be determined from the [MAINTAINER.txt](https://github.com/fhem/fhem-mirror/blob/master/fhem/MAINTAINER.txt) file.
## Bug reports and feature requests
Identified bugs and feature requests are tracked using [Github Issues](https://github.com/fhem/AutoShuttersControl/issues).
## Pull requests / How to participate into development
You are invited to send pull requests to the devel branch whenever you think you can contribute with some useful improvements to the module. The module maintainer will review you code and decide whether it is going to be part of the module in a future release.

View File

@ -0,0 +1,16 @@
UPD 2025-02-05_07:57:04 117935 FHEM/73_AutoShuttersControl.pm
UPD 2025-01-25_11:47:02 76570 lib/FHEM/Automation/ShuttersControl.pm
UPD 2024-10-12_09:12:30 2691 lib/FHEM/Automation/ShuttersControl/Dev.pm
UPD 2024-10-12_09:12:30 2675 lib/FHEM/Automation/ShuttersControl/Roommate.pm
UPD 2024-10-12_09:12:30 31828 lib/FHEM/Automation/ShuttersControl/Shutters.pm
UPD 2024-10-12_09:12:30 25541 lib/FHEM/Automation/ShuttersControl/Shading.pm
UPD 2024-10-12_09:12:30 112297 lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
UPD 2024-10-12_09:12:30 40681 lib/FHEM/Automation/ShuttersControl/Helper.pm
UPD 2024-10-12_09:12:30 2209 lib/FHEM/Automation/ShuttersControl/Window.pm
UPD 2024-10-12_09:12:30 11857 lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm
UPD 2024-10-12_09:12:30 7265 lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm
UPD 2024-10-12_09:12:30 52751 lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm
UPD 2024-10-12_09:12:30 2799 lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm
UPD 2024-10-12_09:12:30 3887 lib/FHEM/Automation/ShuttersControl/Window/Attr.pm
UPD 2024-10-12_09:12:30 2200 lib/FHEM/Automation/ShuttersControl/Window/Readings.pm
UPD 2024-10-12_09:12:30 7394 lib/FHEM/Automation/ShuttersControl/Rainprotection.pm

36
hooks/commit-msg Executable file
View File

@ -0,0 +1,36 @@
#!/bin/sh
#
# An example hook script to check the commit log message.
# Called by "git commit" with one argument, the name of the file
# that has the commit message. The hook should exit with non-zero
# status after issuing an appropriate message if it wants to stop the
# commit. The hook is allowed to edit the commit message file.
#
# To enable this hook, rename this file to "commit-msg".
# Uncomment the below to add a Signed-off-by line to the message.
# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
# hook is more suited to it.
#
# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
# This example catches duplicate Signed-off-by lines.
commit_msg=$(cat "${1:?Missing commit message file}")
test "" = "$(grep '^Signed-off-by: ' "$1" |
sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
echo >&2 Duplicate Signed-off-by lines.
exit 1
}
if ! echo "$commit_msg" | grep -Eq "^(build|chore|ci|docs|feat|feat!|fix|perf|refactor|revert|style|test)(\(.+\))?: .*$" ; then
echo "Invalid commit message"
exit 1
fi
echo "Commit message is valid!"

18
hooks/post-commit Executable file
View File

@ -0,0 +1,18 @@
#!/bin/bash
set -eu
# destination of the final changelog file
OUTPUT_FILE=CHANGELOG.md
# generate the changelog
git --no-pager log --no-merges --format="### %s%d%n>%aD%n%n>Author: %aN (%aE)%n%n>Commiter: %cN (%cE)%n%n%b%n%N%n" > $OUTPUT_FILE
# prevent recursion!
# since a 'commit --amend' will trigger the post-commit script again
# we have to check if the changelog file has changed or not
res=$(git status --porcelain | grep -c ".\$OUTPUT_FILE$")
if [ "$res" -gt 0 ]; then
git add $OUTPUT_FILE
git commit --amend
echo "Populated Changelog in $OUTPUT_FILE"
fi

53
hooks/pre-commit Executable file
View File

@ -0,0 +1,53 @@
#!/usr/bin/perl -w
use File::Basename;
use POSIX qw(strftime);
use strict;
my @filenames = ( 'FHEM/73_AutoShuttersControl.pm',
'lib/FHEM/Automation/ShuttersControl.pm',
'lib/FHEM/Automation/ShuttersControl/Dev.pm',
'lib/FHEM/Automation/ShuttersControl/Roommate.pm',
'lib/FHEM/Automation/ShuttersControl/Shutters.pm',
'lib/FHEM/Automation/ShuttersControl/Shading.pm',
'lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm',
'lib/FHEM/Automation/ShuttersControl/Helper.pm',
'lib/FHEM/Automation/ShuttersControl/Window.pm',
'lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm',
'lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm',
'lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm',
'lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm',
'lib/FHEM/Automation/ShuttersControl/Window/Attr.pm',
'lib/FHEM/Automation/ShuttersControl/Window/Readings.pm',
'lib/FHEM/Automation/ShuttersControl/Rainprotection.pm'
);
my $controlsfile = 'controls_AutoShuttersControl.txt';
open(FH, ">$controlsfile") || return("Can't open $controlsfile: $!");
for my $filename (@filenames) {
my @statOutput = stat($filename);
if (scalar @statOutput != 13) {
printf 'error: stat has unexpected return value for ' . $filename . "\n";
next;
}
my $mtime = $statOutput[9];
my $date = POSIX::strftime("%Y-%m-%d", localtime($mtime));
my $time = POSIX::strftime("%H:%M:%S", localtime($mtime));
my $filetime = $date."_".$time;
my $filesize = $statOutput[7];
printf FH 'UPD ' . $filetime . ' ' . $filesize . ' ' .$filename . "\n";
}
close(FH);
system("git add $controlsfile");
print 'Create controls File succesfully' . "\n";
exit 0;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,83 @@
###############################################################################
#
# Developed with VSCodium and richterger perl plugin
#
# (c) 2018-2025 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net)
# All rights reserved
#
# Special thanks goes to:
# - Bernd (Cluni) this module is based on the logic of his script "Rollladensteuerung für HM/ROLLO inkl. Abschattung und Komfortfunktionen in Perl" (https://forum.fhem.de/index.php/topic,73964.0.html)
# - Beta-User for many tests, many suggestions and good discussions
# - pc1246 write english commandref
# - FunkOdyssey commandref style
# - sledge fix many typo in commandref
# - many User that use with modul and report bugs
# - Christoph (christoph.kaiser.in) Patch that expand RegEx for Window Events
# - Julian (Loredo) expand Residents Events for new Residents functions
# - Christoph (Christoph Morrison) for fix Commandref, many suggestions and good discussions
#
#
# This script is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License,or
# any later version.
#
# The GNU General Public License can be found at
# http://www.gnu.org/copyleft/gpl.html.
# A copy is found in the textfile GPL.txt and important notices to the license
# from the author is found in LICENSE.txt distributed with these scripts.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# $Id$
#
###############################################################################
## Klasse ASC_Dev plus Subklassen ASC_Attr_Dev und ASC_Readings_Dev##
package FHEM::Automation::ShuttersControl::Dev;
use FHEM::Automation::ShuttersControl::Dev::Readings;
use FHEM::Automation::ShuttersControl::Dev::Attr;
use base
qw(FHEM::Automation::ShuttersControl::Dev::Readings FHEM::Automation::ShuttersControl::Dev::Attr);
use strict;
use warnings;
use utf8;
sub new {
my $class = shift;
my $self = { name => undef, };
bless $self, $class;
return $self;
}
sub setName {
my $self = shift;
my $name = shift;
$self->{name} = $name if ( defined($name) );
return $self->{name};
}
sub setDefault {
my $self = shift;
my $defaultarg = shift;
$self->{defaultarg} = $defaultarg if ( defined($defaultarg) );
return $self->{defaultarg};
}
sub getName {
my $self = shift;
return $self->{name};
}
1;

View File

@ -0,0 +1,403 @@
###############################################################################
#
# Developed with VSCodium and richterger perl plugin
#
# (c) 2018-2025 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net)
# All rights reserved
#
# Special thanks goes to:
# - Bernd (Cluni) this module is based on the logic of his script "Rollladensteuerung für HM/ROLLO inkl. Abschattung und Komfortfunktionen in Perl" (https://forum.fhem.de/index.php/topic,73964.0.html)
# - Beta-User for many tests, many suggestions and good discussions
# - pc1246 write english commandref
# - FunkOdyssey commandref style
# - sledge fix many typo in commandref
# - many User that use with modul and report bugs
# - Christoph (christoph.kaiser.in) Patch that expand RegEx for Window Events
# - Julian (Loredo) expand Residents Events for new Residents functions
# - Christoph (Christoph Morrison) for fix Commandref, many suggestions and good discussions
#
#
# This script is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License,or
# any later version.
#
# The GNU General Public License can be found at
# http://www.gnu.org/copyleft/gpl.html.
# A copy is found in the textfile GPL.txt and important notices to the license
# from the author is found in LICENSE.txt distributed with these scripts.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# $Id$
#
###############################################################################
## Subklasse Attr ##
package FHEM::Automation::ShuttersControl::Dev::Attr;
use strict;
use warnings;
use utf8;
sub getShuttersOffset {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_shuttersDriveDelay', -1 );
}
sub getBrightnessMinVal {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_brightness}->{triggermin}
if ( exists( $self->{ASC_brightness}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_brightness}->{LASTGETTIME} ) < 2 );
$FHEM::Automation::ShuttersControl::ascDev->getBrightnessMaxVal;
return $self->{ASC_brightness}->{triggermin};
}
sub getBrightnessMaxVal {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_brightness}->{triggermax}
if ( exists( $self->{ASC_brightness}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_brightness}->{LASTGETTIME} ) < 2 );
$self->{ASC_brightness}->{LASTGETTIME} = int( ::gettimeofday() );
my ( $triggermax, $triggermin ) =
FHEM::Automation::ShuttersControl::Helper::GetAttrValues( $name,
'ASC_brightnessDriveUpDown', '800:500' );
## erwartetes Ergebnis
# max:min
$self->{ASC_brightness}->{triggermin} = $triggermin;
$self->{ASC_brightness}->{triggermax} = $triggermax;
return $self->{ASC_brightness}->{triggermax};
}
sub _getTwilightDevice {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_twilightDevice', 'none' );
}
sub getAutoAstroModeEvening {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_autoAstroModeEvening', 'REAL' );
}
sub getAutoAstroModeEveningHorizon {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_autoAstroModeEveningHorizon', 0 );
}
sub getAutoAstroModeMorning {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_autoAstroModeMorning', 'REAL' );
}
sub getAutoAstroModeMorningHorizon {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_autoAstroModeMorningHorizon', 0 );
}
sub getAutoShuttersControlMorning {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_autoShuttersControlMorning', 'on' );
}
sub getAutoShuttersControlEvening {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_autoShuttersControlEvening', 'on' );
}
sub getAutoShuttersControlComfort {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_autoShuttersControlComfort', 'off' );
}
sub getFreezeTemp {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_freezeTemp', 3 );
}
sub getSlatDriveCmdInverse {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_slatDriveCmdInverse', 0 );
}
sub _getTempSensor {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_tempSensor}->{device}
if ( exists( $self->{ASC_tempSensor}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_tempSensor}->{LASTGETTIME} ) < 2 );
$self->{ASC_tempSensor}->{LASTGETTIME} = int( ::gettimeofday() );
my ( $device, $reading ) =
FHEM::Automation::ShuttersControl::Helper::GetAttrValues( $name,
'ASC_tempSensor', 'none' );
## erwartetes Ergebnis
# DEVICE:READING
$self->{ASC_tempSensor}->{device} = $device;
$self->{ASC_tempSensor}->{reading} =
( $reading ne 'none' ? $reading : 'temperature' );
return $self->{ASC_tempSensor}->{device};
}
sub getTempSensorReading {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_tempSensor}->{reading}
if ( exists( $self->{ASC_tempSensor}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_tempSensor}->{LASTGETTIME} ) < 2 );
$FHEM::Automation::ShuttersControl::ascDev->_getTempSensor;
return $self->{ASC_tempSensor}->{reading};
}
sub _getResidentsDev {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_residentsDev}->{device}
if ( exists( $self->{ASC_residentsDev}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_residentsDev}->{LASTGETTIME} ) <
2 );
$self->{ASC_residentsDev}->{LASTGETTIME} = int( ::gettimeofday() );
my ( $device, $reading ) =
FHEM::Automation::ShuttersControl::Helper::GetAttrValues( $name,
'ASC_residentsDev', 'none' );
$self->{ASC_residentsDev}->{device} = $device;
$self->{ASC_residentsDev}->{reading} =
( $reading ne 'none' ? $reading : 'state' );
return $self->{ASC_residentsDev}->{device};
}
sub getResidentsReading {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_residentsDev}->{reading}
if ( exists( $self->{ASC_residentsDev}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_residentsDev}->{LASTGETTIME} ) <
2 );
$FHEM::Automation::ShuttersControl::ascDev->_getResidentsDev;
return $self->{ASC_residentsDev}->{reading};
}
sub _getRainSensor {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_rainSensor}->{device}
if ( exists( $self->{ASC_rainSensor}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_rainSensor}->{LASTGETTIME} ) < 2 );
$self->{ASC_rainSensor}->{LASTGETTIME} = int( ::gettimeofday() );
my ( $device, $reading, $max, $hyst, $pos, $wait ) =
FHEM::Automation::ShuttersControl::Helper::GetAttrValues( $name,
'ASC_rainSensor', 'none' );
## erwartetes Ergebnis
# DEVICE:READING MAX:HYST
return $device if ( $device eq 'none' );
$self->{ASC_rainSensor}->{device} = $device;
$self->{ASC_rainSensor}->{reading} =
( $reading ne 'none' ? $reading : 'rain' );
$self->{ASC_rainSensor}->{triggermax} = (
( $max ne 'none' && $max =~ m{\A(-?\d+(\.\d+)?)\z}xms )
? $max
: 1000
);
$self->{ASC_rainSensor}->{triggerhyst} = (
$hyst ne 'none'
? $self->{ASC_rainSensor}->{triggermax} - $hyst
: ( $self->{ASC_rainSensor}->{triggermax} * 0 )
);
$self->{ASC_rainSensor}->{shuttersClosedPos} = (
$pos ne 'none'
? $pos
: $FHEM::Automation::ShuttersControl::shutters->getClosedPos
);
$self->{ASC_rainSensor}->{waitingTime} =
( $wait ne 'none' ? $wait : 0 );
return $self->{ASC_rainSensor}->{device};
}
sub getRainSensorReading {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_rainSensor}->{reading}
if ( exists( $self->{ASC_rainSensor}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_rainSensor}->{LASTGETTIME} ) < 2 );
$FHEM::Automation::ShuttersControl::ascDev->_getRainSensor;
return $self->{ASC_rainSensor}->{reading};
}
sub getRainTriggerMax {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_rainSensor}->{triggermax}
if ( exists( $self->{ASC_rainSensor}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_rainSensor}->{LASTGETTIME} ) < 2 );
$FHEM::Automation::ShuttersControl::ascDev->_getRainSensor;
return $self->{ASC_rainSensor}->{triggermax};
}
sub getRainTriggerMin {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_rainSensor}->{triggerhyst}
if ( exists( $self->{ASC_rainSensor}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_rainSensor}->{LASTGETTIME} ) < 2 );
$FHEM::Automation::ShuttersControl::ascDev->_getRainSensor;
return $self->{ASC_rainSensor}->{triggerhyst};
}
sub getRainSensorShuttersClosedPos {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_rainSensor}->{shuttersClosedPos}
if ( exists( $self->{ASC_rainSensor}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_rainSensor}->{LASTGETTIME} ) < 2 );
$FHEM::Automation::ShuttersControl::ascDev->_getRainSensor;
return $self->{ASC_rainSensor}->{shuttersClosedPos};
}
sub getRainWaitingTime {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_rainSensor}->{waitingTime}
if ( exists( $self->{ASC_rainSensor}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_rainSensor}->{LASTGETTIME} ) < 2 );
$FHEM::Automation::ShuttersControl::ascDev->_getRainSensor;
return $self->{ASC_rainSensor}->{waitingTime};
}
sub _getWindSensor {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_windSensor}->{device}
if ( exists( $self->{ASC_windSensor}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_windSensor}->{LASTGETTIME} ) < 2 );
$self->{ASC_windSensor}->{LASTGETTIME} = int( ::gettimeofday() );
my ( $device, $reading ) =
FHEM::Automation::ShuttersControl::Helper::GetAttrValues( $name,
'ASC_windSensor', 'none' );
return $device if ( $device eq 'none' );
$self->{ASC_windSensor}->{device} = $device;
$self->{ASC_windSensor}->{reading} =
( $reading ne 'none' ? $reading : 'wind' );
return $self->{ASC_windSensor}->{device};
}
sub getWindSensorReading {
my $self = shift;
my $name = $self->{name};
return $self->{ASC_windSensor}->{reading}
if ( exists( $self->{ASC_windSensor}->{LASTGETTIME} )
&& ( ::gettimeofday() - $self->{ASC_windSensor}->{LASTGETTIME} ) < 2 );
$FHEM::Automation::ShuttersControl::ascDev->_getWindSensor;
return (
defined( $self->{ASC_windSensor}->{reading} )
? $self->{ASC_windSensor}->{reading}
: 'wind'
);
}
sub getBlockAscDrivesAfterManual {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_blockAscDrivesAfterManual', 0 );
}
sub getAdvStartDate {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_advStartDate', 'FirstAdvent' );
}
sub getAdvEndDate {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_advEndDate', 'EpiphanyDay' );
}
1;

View File

@ -0,0 +1,284 @@
###############################################################################
#
# Developed with VSCodium and richterger perl plugin
#
# (c) 2018-2025 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net)
# All rights reserved
#
# Special thanks goes to:
# - Bernd (Cluni) this module is based on the logic of his script "Rollladensteuerung für HM/ROLLO inkl. Abschattung und Komfortfunktionen in Perl" (https://forum.fhem.de/index.php/topic,73964.0.html)
# - Beta-User for many tests, many suggestions and good discussions
# - pc1246 write english commandref
# - FunkOdyssey commandref style
# - sledge fix many typo in commandref
# - many User that use with modul and report bugs
# - Christoph (christoph.kaiser.in) Patch that expand RegEx for Window Events
# - Julian (Loredo) expand Residents Events for new Residents functions
# - Christoph (Christoph Morrison) for fix Commandref, many suggestions and good discussions
#
#
# This script is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License,or
# any later version.
#
# The GNU General Public License can be found at
# http://www.gnu.org/copyleft/gpl.html.
# A copy is found in the textfile GPL.txt and important notices to the license
# from the author is found in LICENSE.txt distributed with these scripts.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# $Id$
#
###############################################################################
## Subklasse Readings ##
package FHEM::Automation::ShuttersControl::Dev::Readings;
use strict;
use warnings;
use utf8;
use GPUtils qw(GP_Import);
## Import der FHEM Funktionen
BEGIN {
GP_Import(qw(defs));
}
sub setDelayCmdReading {
my $self = shift;
my $name = $self->{name};
my $hash = $defs{$name};
::readingsSingleUpdate(
$hash,
$FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. '_lastDelayPosValue',
$FHEM::Automation::ShuttersControl::shutters->getDelayCmd,
1
);
return;
}
sub setStateReading {
my $self = shift;
my $value = shift;
my $name = $self->{name};
my $hash = $defs{$name};
::readingsSingleUpdate(
$hash, 'state',
(
defined($value)
? $value
: $FHEM::Automation::ShuttersControl::shutters->getLastDrive
),
1
);
return;
}
sub setPosReading {
my $self = shift;
my $name = $self->{name};
my $hash = $defs{$name};
::readingsSingleUpdate(
$hash,
$FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. '_PosValue',
$FHEM::Automation::ShuttersControl::shutters->getStatus,
1
);
return;
}
sub setLastPosReading {
my $self = shift;
my $name = $self->{name};
my $hash = $defs{$name};
::readingsSingleUpdate(
$hash,
$FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. '_lastPosValue',
$FHEM::Automation::ShuttersControl::shutters->getLastPos,
1
);
return;
}
sub getPartyMode {
my $self = shift;
my $name = $self->{name};
return ::ReadingsVal( $name, 'partyMode', 'off' );
}
sub getHardLockOut {
my $self = shift;
my $name = $self->{name};
return ::ReadingsVal( $name, 'hardLockOut', 'none' );
}
sub getSunriseTimeWeHoliday {
my $self = shift;
my $name = $self->{name};
return ::ReadingsVal( $name, 'sunriseTimeWeHoliday', 'none' );
}
sub getMonitoredDevs {
my $self = shift;
my $name = $self->{name};
$self->{monitoredDevs} = ::ReadingsVal( $name, '.monitoredDevs', 'none' );
return $self->{monitoredDevs};
}
sub getOutTemp {
my $self = shift;
return ::ReadingsVal(
$FHEM::Automation::ShuttersControl::ascDev->_getTempSensor,
$FHEM::Automation::ShuttersControl::ascDev->getTempSensorReading,
-100 );
}
sub getResidentsStatus {
my $self = shift;
my $val =
::ReadingsVal(
$FHEM::Automation::ShuttersControl::ascDev->_getResidentsDev,
$FHEM::Automation::ShuttersControl::ascDev->getResidentsReading,
'none' );
if ( $val =~ m{^(?:(.+)_)?(.+)$}xms ) {
return ( $1, $2 ) if (wantarray);
return $1 && $1 eq 'pet' ? 'absent' : $2;
}
elsif (
::ReadingsVal(
$FHEM::Automation::ShuttersControl::ascDev->_getResidentsDev,
'homealoneType', '-' ) eq 'PET'
)
{
return ( 'pet', 'absent' ) if (wantarray);
return 'absent';
}
else {
return ( undef, $val ) if (wantarray);
return $val;
}
}
sub getResidentsLastStatus {
my $self = shift;
my $val =
::ReadingsVal(
$FHEM::Automation::ShuttersControl::ascDev->_getResidentsDev,
'lastState', 'none' );
if ( $val =~ m{^(?:(.+)_)?(.+)$}xms ) {
return ( $1, $2 ) if (wantarray);
return $1 && $1 eq 'pet' ? 'absent' : $2;
}
elsif (
::ReadingsVal(
$FHEM::Automation::ShuttersControl::ascDev->_getResidentsDev,
'lastHomealoneType', '-' ) eq 'PET'
)
{
return ( 'pet', 'absent' ) if (wantarray);
return 'absent';
}
else {
return ( undef, $val ) if (wantarray);
return $val;
}
}
sub getAutoShuttersControlShading {
my $self = shift;
my $name = $self->{name};
return ::ReadingsVal( $name, 'controlShading', 'none' );
}
sub getSelfDefense {
my $self = shift;
my $name = $self->{name};
return ::ReadingsVal( $name, 'selfDefense', 'none' );
}
sub getAzimuth {
my $self = shift;
my $azimuth;
$azimuth = ::ReadingsVal(
$FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice,
'azimuth', -1 )
if (
$defs{ $FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice }
->{TYPE} eq 'Twilight' );
$azimuth = ::ReadingsVal(
$FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice,
'SunAz', -1 )
if (
$defs{ $FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice }
->{TYPE} eq 'Astro' );
return $azimuth;
}
sub getElevation {
my $self = shift;
my $elevation;
$elevation = ::ReadingsVal(
$FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice,
'elevation', -1 )
if (
$defs{ $FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice }
->{TYPE} eq 'Twilight' );
$elevation = ::ReadingsVal(
$FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice,
'SunAlt', -1 )
if (
$defs{ $FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice }
->{TYPE} eq 'Astro' );
return $elevation;
}
sub getASCenable {
my $self = shift;
my $name = $self->{name};
return ::ReadingsVal( $name, 'ascEnable', 'none' );
}
1;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,206 @@
###############################################################################
#
# Developed with VSCodium and richterger perl plugin
#
# (c) 2018-2025 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net)
# All rights reserved
#
# Special thanks goes to:
# - Bernd (Cluni) this module is based on the logic of his script "Rollladensteuerung für HM/ROLLO inkl. Abschattung und Komfortfunktionen in Perl" (https://forum.fhem.de/index.php/topic,73964.0.html)
# - Beta-User for many tests, many suggestions and good discussions
# - pc1246 write english commandref
# - FunkOdyssey commandref style
# - sledge fix many typo in commandref
# - many User that use with modul and report bugs
# - Christoph (christoph.kaiser.in) Patch that expand RegEx for Window Events
# - Julian (Loredo) expand Residents Events for new Residents functions
# - Christoph (Christoph Morrison) for fix Commandref, many suggestions and good discussions
#
#
# This script is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License,or
# any later version.
#
# The GNU General Public License can be found at
# http://www.gnu.org/copyleft/gpl.html.
# A copy is found in the textfile GPL.txt and important notices to the license
# from the author is found in LICENSE.txt distributed with these scripts.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# $Id$
#
###############################################################################
## unserer packagename
package FHEM::Automation::ShuttersControl::Rainprotection;
use strict;
use warnings;
use utf8;
use FHEM::Automation::ShuttersControl::Helper qw (:ALL);
require Exporter;
use base qw(Exporter);
# our @ISA = qw(Exporter);
our @EXPORT_OK = qw(
RainProcessing
);
our %EXPORT_TAGS = (
ALL => [
qw(
RainProcessing
)
],
);
sub RainProcessing {
my ( $hash, $val, $triggerMax, $triggerMin ) = @_;
my $rainClosedPos = $FHEM::Automation::ShuttersControl::ascDev
->getRainSensorShuttersClosedPos;
for my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) {
$FHEM::Automation::ShuttersControl::shutters->setShuttersDev(
$shuttersDev);
next
if (
$FHEM::Automation::ShuttersControl::shutters->getRainProtection eq
'off' );
if (
$val > $triggerMax
&& $FHEM::Automation::ShuttersControl::shutters->getStatus !=
$rainClosedPos
&& $FHEM::Automation::ShuttersControl::shutters
->getRainProtectionStatus eq 'unprotected'
|| ( $FHEM::Automation::ShuttersControl::shutters
->getRainProtectionStatus eq 'unprotected'
&& $FHEM::Automation::ShuttersControl::shutters
->getRainUnprotectionDelayObj ne 'none' )
)
{
_RainProtected();
}
elsif ( ( $val == 0 || $val < $triggerMin )
&& $FHEM::Automation::ShuttersControl::shutters->getStatus ==
$rainClosedPos
&& IsAfterShuttersManualBlocking($shuttersDev)
&& $FHEM::Automation::ShuttersControl::shutters
->getRainProtectionStatus eq 'protected' )
{
my %funcHash = ( shuttersdevice => $shuttersDev, );
$FHEM::Automation::ShuttersControl::shutters
->setRainUnprotectionDelayObj( \%funcHash );
::InternalTimer(
::gettimeofday() +
$FHEM::Automation::ShuttersControl::ascDev
->getRainWaitingTime,
\&_RainUnprotected, \%funcHash
);
$FHEM::Automation::ShuttersControl::shutters
->setRainProtectionStatus('unprotected');
}
else {
if ( $FHEM::Automation::ShuttersControl::shutters->getStatus !=
$rainClosedPos
&& ( $val == 0 || $val < $triggerMin ) )
{
$FHEM::Automation::ShuttersControl::shutters
->setRainProtectionStatus('unprotected');
}
elsif ( $val > $triggerMax ) {
$FHEM::Automation::ShuttersControl::shutters
->setRainProtectionStatus('protected');
}
}
}
return;
}
### es muss noch beobachtet werden ob die Auswahl des Rollos welches bearbeitet werden soll bestehen bleibt oder mit in die neuen Funktionen übergeben werden muss
sub _RainProtected {
::RemoveInternalTimer( $FHEM::Automation::ShuttersControl::shutters
->getRainUnprotectionDelayObj )
if ( $FHEM::Automation::ShuttersControl::shutters
->getRainUnprotectionDelayObj ne 'none' );
$FHEM::Automation::ShuttersControl::shutters->setRainUnprotectionDelayObj(
'none');
$FHEM::Automation::ShuttersControl::shutters->setLastDrive(
'rain protected');
$FHEM::Automation::ShuttersControl::shutters->setDriveCmd(
$FHEM::Automation::ShuttersControl::ascDev
->getRainSensorShuttersClosedPos );
$FHEM::Automation::ShuttersControl::shutters->setRainProtectionStatus(
'protected');
return;
}
sub _RainUnprotected {
my $h = shift;
my $targetPos = $FHEM::Automation::ShuttersControl::shutters->getLastPos;
my $shuttersDev = $h->{shuttersdevice};
$FHEM::Automation::ShuttersControl::shutters->setShuttersDev($shuttersDev);
$FHEM::Automation::ShuttersControl::shutters->setLastDrive(
'rain un-protected');
if ( $FHEM::Automation::ShuttersControl::shutters
->getRainUnprotectionDelayObj ne 'none' )
{
::RemoveInternalTimer( $FHEM::Automation::ShuttersControl::shutters
->getRainUnprotectionDelayObj );
$FHEM::Automation::ShuttersControl::shutters
->setRainUnprotectionDelayObj('none');
}
if ( $FHEM::Automation::ShuttersControl::shutters->getIsDay
&& !$FHEM::Automation::ShuttersControl::shutters->getIfInShading
&& $FHEM::Automation::ShuttersControl::shutters->getLastPos ==
$FHEM::Automation::ShuttersControl::shutters->getShadingPos )
{
$targetPos = $FHEM::Automation::ShuttersControl::shutters->getOpenPos;
}
else {
$targetPos = $FHEM::Automation::ShuttersControl::shutters->getLastPos;
}
if ( !$FHEM::Automation::ShuttersControl::shutters->getIsDay
&& $FHEM::Automation::ShuttersControl::shutters->getShuttersPlace ne
'awning' )
{
$targetPos = (
$FHEM::Automation::ShuttersControl::shutters->getPrivacyDownStatus
== 2
? $FHEM::Automation::ShuttersControl::shutters->getPrivacyDownPos
: $FHEM::Automation::ShuttersControl::shutters->getClosedPos
);
}
$FHEM::Automation::ShuttersControl::shutters->setRainProtectionStatus(
'unprotected');
$FHEM::Automation::ShuttersControl::shutters->setDriveCmd($targetPos)
if ( IsAfterShuttersTimeBlocking($shuttersDev) );
return;
}
1;

View File

@ -0,0 +1,84 @@
###############################################################################
#
# Developed with VSCodium and richterger perl plugin
#
# (c) 2018-2025 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net)
# All rights reserved
#
# Special thanks goes to:
# - Bernd (Cluni) this module is based on the logic of his script "Rollladensteuerung für HM/ROLLO inkl. Abschattung und Komfortfunktionen in Perl" (https://forum.fhem.de/index.php/topic,73964.0.html)
# - Beta-User for many tests, many suggestions and good discussions
# - pc1246 write english commandref
# - FunkOdyssey commandref style
# - sledge fix many typo in commandref
# - many User that use with modul and report bugs
# - Christoph (christoph.kaiser.in) Patch that expand RegEx for Window Events
# - Julian (Loredo) expand Residents Events for new Residents functions
# - Christoph (Christoph Morrison) for fix Commandref, many suggestions and good discussions
#
#
# This script is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License,or
# any later version.
#
# The GNU General Public License can be found at
# http://www.gnu.org/copyleft/gpl.html.
# A copy is found in the textfile GPL.txt and important notices to the license
# from the author is found in LICENSE.txt distributed with these scripts.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# $Id$
#
###############################################################################
## Klasse ASC_Roommate ##
package FHEM::Automation::ShuttersControl::Roommate;
use strict;
use warnings;
use utf8;
require Exporter;
use base qw(Exporter);
# our @ISA = qw(Exporter);
our @EXPORT_OK = qw(
getRoommateStatus
getRoommateLastStatus
);
our %EXPORT_TAGS = (
ALL => [
qw(
getRoommateStatus
getRoommateLastStatus
)
],
);
sub getRoommateStatus {
my $self = shift;
my $roommate = $self->{roommate};
return ::ReadingsVal( $roommate,
$FHEM::Automation::ShuttersControl::shutters->getRoommatesReading,
'none' );
}
sub getRoommateLastStatus {
my $self = shift;
my $roommate = $self->{roommate};
my $default = $self->{defaultarg};
$default = 'none' if ( !defined($default) );
return ::ReadingsVal( $roommate, 'lastState', $default );
}
1;

View File

@ -0,0 +1,672 @@
###############################################################################
#
# Developed with VSCodium and richterger perl plugin
#
# (c) 2018-2025 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net)
# All rights reserved
#
# Special thanks goes to:
# - Bernd (Cluni) this module is based on the logic of his script "Rollladensteuerung für HM/ROLLO inkl. Abschattung und Komfortfunktionen in Perl" (https://forum.fhem.de/index.php/topic,73964.0.html)
# - Beta-User for many tests, many suggestions and good discussions
# - pc1246 write english commandref
# - FunkOdyssey commandref style
# - sledge fix many typo in commandref
# - many User that use with modul and report bugs
# - Christoph (christoph.kaiser.in) Patch that expand RegEx for Window Events
# - Julian (Loredo) expand Residents Events for new Residents functions
# - Christoph (Christoph Morrison) for fix Commandref, many suggestions and good discussions
#
#
# This script is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License,or
# any later version.
#
# The GNU General Public License can be found at
# http://www.gnu.org/copyleft/gpl.html.
# A copy is found in the textfile GPL.txt and important notices to the license
# from the author is found in LICENSE.txt distributed with these scripts.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# $Id$
#
###############################################################################
## unserer packagename
package FHEM::Automation::ShuttersControl::Shading;
use strict;
use warnings;
use POSIX qw(strftime);
use utf8;
use FHEM::Automation::ShuttersControl::Helper qw (IsInTime);
require Exporter;
use base qw(Exporter);
# our @ISA = qw(Exporter);
our @EXPORT_OK = qw(
CheckASC_ConditionsForShadingFn
ShadingProcessing
ShadingProcessingDriveCommand
);
our %EXPORT_TAGS = (
ALL => [
qw(
CheckASC_ConditionsForShadingFn
ShadingProcessing
ShadingProcessingDriveCommand
)
],
);
sub CheckASC_ConditionsForShadingFn {
my $hash = shift;
my $value = shift;
my $error;
$error .=
' no valid data from the ASC temperature sensor, is ASC_tempSensor attribut set?'
if ( $FHEM::Automation::ShuttersControl::ascDev->getOutTemp == -100 );
$error .= ' no twilight device found'
if ( $FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice eq
'none' );
my $count = 1;
for my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) {
my %funcHash = (
hash => $hash,
shuttersdevice => $shuttersDev,
value => $value,
attrEvent => 0,
);
::InternalTimer(
::gettimeofday() + $count,
'FHEM::Automation::ShuttersControl::Shading::_CheckShuttersConditionsForShadingFn',
\%funcHash
);
$count++;
}
return (
defined($error)
? $error
: 'none'
);
}
sub _CheckShuttersConditionsForShadingFn {
my $funcHash = shift;
my $hash = $funcHash->{hash};
my $shuttersDev = $funcHash->{shuttersdevice};
my $value = $funcHash->{value};
$FHEM::Automation::ShuttersControl::shutters->setShuttersDev($shuttersDev);
my $shuttersDevHash = $::defs{$shuttersDev};
my $message = '';
my $errorMessage;
my $warnMessage;
my $infoMessage;
if ( $value eq 'off' ) {
$FHEM::Automation::ShuttersControl::shutters->setShadingStatus('out');
$infoMessage .= ' shading was deactivated '
. ( $funcHash->{attrEvent} ? 'in the device' : 'globally' );
$errorMessage .= '';
ShadingProcessingDriveCommand( $hash, $shuttersDev );
}
else {
$infoMessage .= (
$FHEM::Automation::ShuttersControl::shutters->getShadingMode ne
'off'
&& $FHEM::Automation::ShuttersControl::ascDev
->getAutoShuttersControlShading eq 'on'
&& $FHEM::Automation::ShuttersControl::shutters->getOutTemp ==
-100
? ' shading active, global temp sensor is set, but shutters temperature sensor is not set'
: ''
);
$warnMessage .= (
$FHEM::Automation::ShuttersControl::shutters->getShadingMode eq
'off'
&& $FHEM::Automation::ShuttersControl::ascDev
->getAutoShuttersControlShading eq 'on'
? ' global shading active but ASC_Shading_Mode attribut is not set or off'
: ''
);
$errorMessage .= (
$FHEM::Automation::ShuttersControl::shutters->getShadingMode ne
'off'
&& $FHEM::Automation::ShuttersControl::ascDev
->getAutoShuttersControlShading ne 'on'
&& $FHEM::Automation::ShuttersControl::ascDev
->getAutoShuttersControlShading ne 'off'
? ' ASC_Shading_Mode attribut is set but global shading has errors, look at ASC device '
. '<a href="'
. '/fhem?detail='
. ::ReadingsVal( $shuttersDev, 'associatedWith', 'ASC device' )
. $::FW_CSRF . '">'
. ::ReadingsVal( $shuttersDev, 'associatedWith', 'ASC device' )
. '</a>'
: ''
);
$errorMessage .= (
$FHEM::Automation::ShuttersControl::shutters->getBrightness == -1
&& $FHEM::Automation::ShuttersControl::shutters->getShadingMode
ne 'off'
? ' no brightness sensor found, please set ASC_BrightnessSensor attribut'
: ''
);
}
$message .= ' ERROR: ' . $errorMessage
if ( defined($errorMessage)
&& $errorMessage ne '' );
$message .= ' WARN: ' . $warnMessage
if ( defined($warnMessage)
&& $warnMessage ne ''
&& $errorMessage eq '' );
$message .= ' INFO: ' . $infoMessage
if ( defined($infoMessage)
&& $infoMessage ne ''
&& $errorMessage eq '' );
::readingsBeginUpdate($shuttersDevHash);
::readingsBulkUpdateIfChanged( $shuttersDevHash, 'ASC_ShadingMessage',
'<html>' . $message . ' </html>' );
::readingsEndUpdate( $shuttersDevHash, 1 );
return;
}
sub ShadingProcessing {
### angleMinus ist $FHEM::Automation::ShuttersControl::shutters->getShadingAzimuthLeft
### anglePlus ist $FHEM::Automation::ShuttersControl::shutters->getShadingAzimuthRight
### winPos ist die Fensterposition $FHEM::Automation::ShuttersControl::shutters->getDirection
my ( $hash, $shuttersDev, $azimuth, $elevation, $outTemp,
$azimuthLeft, $azimuthRight )
= @_;
my $name = $hash->{NAME};
$FHEM::Automation::ShuttersControl::shutters->setShuttersDev($shuttersDev);
my $brightness =
$FHEM::Automation::ShuttersControl::shutters->getBrightnessAverage;
$FHEM::Automation::ShuttersControl::shutters
->setShadingBetweenTheTimeSuspend(
(
IsInTime(
$FHEM::Automation::ShuttersControl::shutters
->getShadingBetweenTheTime
)
? 0
: 1
)
);
FHEM::Automation::ShuttersControl::ASC_Debug(
'ShadingProcessing: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Übergebende Werte - Azimuth:'
. $azimuth
. ', Elevation: '
. $elevation
. ', Brightness: '
. $brightness
. ', OutTemp: '
. $outTemp
. ', Azimut Beschattung: '
. $azimuthLeft
. ', Azimut Endschattung: '
. $azimuthRight
. ', Ist es nach der Zeitblockadezeit: '
. (
FHEM::Automation::ShuttersControl::Helper::IsAfterShuttersTimeBlocking(
$shuttersDev) ? 'JA' : 'NEIN'
)
. ', Das Rollo ist in der Beschattung und wurde manuell gefahren: '
. (
$FHEM::Automation::ShuttersControl::shutters
->getShadingManualDriveStatus ? 'JA' : 'NEIN'
)
. ', Ist es nach der Hälfte der Beschattungswartezeit: '
. (
(
int( ::gettimeofday() ) -
$FHEM::Automation::ShuttersControl::shutters
->getShadingStatusTimestamp
) < (
$FHEM::Automation::ShuttersControl::shutters
->getShadingWaitingPeriod / 2
) ? 'NEIN' : 'JA'
)
);
::Log3( $name, 4,
"AutoShuttersControl ($name) - Shading Processing, Rollladen: "
. $shuttersDev
. " Azimuth: "
. $azimuth
. " Elevation: "
. $elevation
. " Brightness: "
. $brightness
. " OutTemp: "
. $outTemp );
return
if (
$azimuth == -1
|| $elevation == -1
|| $brightness == -1
|| $outTemp == -100
|| (
int( ::gettimeofday() ) -
$FHEM::Automation::ShuttersControl::shutters
->getShadingStatusTimestamp ) < (
$FHEM::Automation::ShuttersControl::shutters
->getShadingWaitingPeriod / 2
)
|| $FHEM::Automation::ShuttersControl::shutters
->getExternalTriggerStatus
|| $FHEM::Automation::ShuttersControl::shutters->getShadingMode eq 'off'
|| $FHEM::Automation::ShuttersControl::ascDev
->getAutoShuttersControlShading eq 'off'
|| $FHEM::Automation::ShuttersControl::shutters
->getExternalTriggerStatus
);
::Log3( $name, 4,
"AutoShuttersControl ($name) - Shading Processing, Rollladen: "
. $shuttersDev
. " Nach dem return" );
my $getShadingPos =
$FHEM::Automation::ShuttersControl::shutters->getShadingPos;
my $getStatus = $FHEM::Automation::ShuttersControl::shutters->getStatus;
my $oldShadingStatus =
$FHEM::Automation::ShuttersControl::shutters->getShadingStatus;
my $shuttersDevHash = $::defs{$shuttersDev};
my $getModeUp = $FHEM::Automation::ShuttersControl::shutters->getModeUp;
my $homemode = $FHEM::Automation::ShuttersControl::shutters->getHomemode;
FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessing: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Alle Werte für die weitere Verarbeitung sind korrekt vorhanden und es wird nun mit der Beschattungsverarbeitung begonnen'
);
if (
(
$outTemp < $FHEM::Automation::ShuttersControl::shutters
->getShadingMinOutsideTemperature - 4
|| $azimuth < $azimuthLeft
|| $azimuth > $azimuthRight
|| ( !$FHEM::Automation::ShuttersControl::shutters->getIsDay
&& $FHEM::Automation::ShuttersControl::shutters
->getSunriseUnixTime - ( int( ::gettimeofday() ) ) > 7200 )
)
&& $FHEM::Automation::ShuttersControl::shutters->getShadingStatus ne
'out'
)
{
$FHEM::Automation::ShuttersControl::shutters->setShadingStatus('out');
FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessing: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Es ist Nacht oder die Aussentemperatur unterhalb der Shading Temperatur. Die Beschattung wird Zwangsbeendet'
);
::Log3( $name, 4,
"AutoShuttersControl ($name) - Shading Processing - Der Sonnenstand ist ausserhalb der Winkelangaben oder die Aussentemperatur unterhalb der Shading Temperatur "
);
}
elsif ($azimuth < $azimuthLeft
|| $azimuth > $azimuthRight
|| $elevation <
$FHEM::Automation::ShuttersControl::shutters->getShadingMinElevation
|| $elevation >
$FHEM::Automation::ShuttersControl::shutters->getShadingMaxElevation
|| $brightness < $FHEM::Automation::ShuttersControl::shutters
->getShadingStateChangeCloudy
|| $outTemp < $FHEM::Automation::ShuttersControl::shutters
->getShadingMinOutsideTemperature - 1 )
{
$FHEM::Automation::ShuttersControl::shutters->setShadingStatus(
'out reserved')
if ( $FHEM::Automation::ShuttersControl::shutters->getShadingStatus eq
'in'
|| $FHEM::Automation::ShuttersControl::shutters->getShadingStatus
eq 'in reserved' );
if (
(
$FHEM::Automation::ShuttersControl::shutters->getShadingStatus
eq 'out reserved'
and (
int( ::gettimeofday() ) -
$FHEM::Automation::ShuttersControl::shutters
->getShadingStatusTimestamp )
) > $FHEM::Automation::ShuttersControl::shutters
->getShadingWaitingPeriod
)
{
$FHEM::Automation::ShuttersControl::shutters->setShadingStatus(
'out');
}
::Log3( $name, 4,
"AutoShuttersControl ($name) - Shading Processing, Rollladen: "
. $shuttersDev
. " In der Out Abfrage, Shadingwert: "
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatus
. ", Zeitstempel: "
. $FHEM::Automation::ShuttersControl::shutters
->getShadingStatusTimestamp );
FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessing: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Einer der Beschattungsbedingungen wird nicht mehr erfüllt und somit wird der Beschattungsstatus um eine Stufe reduziert. Alter Status: '
. $oldShadingStatus
. ' Neuer Status: '
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatus
);
}
elsif ($azimuth > $azimuthLeft
&& $azimuth < $azimuthRight
&& $elevation >
$FHEM::Automation::ShuttersControl::shutters->getShadingMinElevation
&& $elevation <
$FHEM::Automation::ShuttersControl::shutters->getShadingMaxElevation
&& $brightness >
$FHEM::Automation::ShuttersControl::shutters->getShadingStateChangeSunny
&& $outTemp > $FHEM::Automation::ShuttersControl::shutters
->getShadingMinOutsideTemperature )
{
if ( $FHEM::Automation::ShuttersControl::shutters->getShadingStatus eq
'out'
|| $FHEM::Automation::ShuttersControl::shutters->getShadingStatus
eq 'out reserved' )
{
$FHEM::Automation::ShuttersControl::shutters->setShadingStatus(
'in reserved');
}
if (
$FHEM::Automation::ShuttersControl::shutters->getShadingStatus eq
'in reserved'
and (
int( ::gettimeofday() ) -
$FHEM::Automation::ShuttersControl::shutters
->getShadingStatusTimestamp ) > (
$FHEM::Automation::ShuttersControl::shutters
->getShadingWaitingPeriod / 2
)
)
{
$FHEM::Automation::ShuttersControl::shutters->setShadingStatus(
'in');
}
::Log3( $name, 4,
"AutoShuttersControl ($name) - Shading Processing, Rollladen: "
. $shuttersDev
. " In der In Abfrage, Shadingwert: "
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatus
. ", Zeitstempel: "
. $FHEM::Automation::ShuttersControl::shutters
->getShadingStatusTimestamp );
FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessing: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Alle Beschattungsbedingungen wurden erfüllt und somit wird der Beschattungsstatus um eine Stufe angehoben. Alter Status: '
. $oldShadingStatus
. ' Neuer Status: '
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatus
);
}
ShadingProcessingDriveCommand( $hash, $shuttersDev )
if (
FHEM::Automation::ShuttersControl::Helper::IsAfterShuttersTimeBlocking(
$shuttersDev)
&& !$FHEM::Automation::ShuttersControl::shutters
->getShadingManualDriveStatus
&& $FHEM::Automation::ShuttersControl::shutters->getRoommatesStatus ne
'gotosleep'
&& $FHEM::Automation::ShuttersControl::shutters->getRoommatesStatus ne
'asleep'
&& (
(
$FHEM::Automation::ShuttersControl::shutters->getShadingStatus
eq 'out'
&& $FHEM::Automation::ShuttersControl::shutters
->getShadingLastStatus eq 'in'
)
|| ( $FHEM::Automation::ShuttersControl::shutters->getShadingStatus
eq 'in'
&& $FHEM::Automation::ShuttersControl::shutters
->getShadingLastStatus eq 'out' )
)
&& ( $FHEM::Automation::ShuttersControl::shutters->getShadingMode eq
'always'
|| $FHEM::Automation::ShuttersControl::shutters->getShadingMode eq
$homemode )
&& (
$getModeUp eq 'always'
|| $getModeUp eq $homemode
|| $getModeUp eq 'off'
|| $getModeUp eq 'absent'
|| $getModeUp eq 'gone'
|| ( $getModeUp eq 'home'
&& $homemode ne 'asleep' )
)
&& (
(
(
int( ::gettimeofday() ) -
$FHEM::Automation::ShuttersControl::shutters
->getShadingStatusTimestamp
) < 2
&& $FHEM::Automation::ShuttersControl::shutters->getStatus !=
$FHEM::Automation::ShuttersControl::shutters->getClosedPos
)
|| (
!$FHEM::Automation::ShuttersControl::shutters
->getQueryShuttersPos(
$FHEM::Automation::ShuttersControl::shutters->getShadingPos
)
&& $FHEM::Automation::ShuttersControl::shutters->getIfInShading
)
|| ( !$FHEM::Automation::ShuttersControl::shutters->getIfInShading
&& $FHEM::Automation::ShuttersControl::shutters->getStatus ==
$FHEM::Automation::ShuttersControl::shutters->getShadingPos )
|| ( !$FHEM::Automation::ShuttersControl::shutters
->getShadingBetweenTheTimeSuspend
&& $FHEM::Automation::ShuttersControl::shutters->getStatus !=
$FHEM::Automation::ShuttersControl::shutters->getShadingPos )
)
);
::readingsBeginUpdate($shuttersDevHash);
::readingsBulkUpdate(
$shuttersDevHash,
'ASC_ShadingMessage',
'INFO: current shading status is \''
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatus
. '\''
. ' - next check in '
. (
(
(
$FHEM::Automation::ShuttersControl::shutters
->getShadingLastStatus eq 'out reserved'
|| $FHEM::Automation::ShuttersControl::shutters
->getShadingLastStatus eq 'out'
)
? $FHEM::Automation::ShuttersControl::shutters
->getShadingWaitingPeriod
: $FHEM::Automation::ShuttersControl::shutters
->getShadingWaitingPeriod / 2
)
) / 60
. 'm'
);
::readingsEndUpdate( $shuttersDevHash, 1 );
return;
}
sub ShadingProcessingDriveCommand {
my $hash = shift;
my $shuttersDev = shift;
my $marker = shift // 0;
my $name = $hash->{NAME};
$FHEM::Automation::ShuttersControl::shutters->setShuttersDev($shuttersDev);
my $getShadingPos =
$FHEM::Automation::ShuttersControl::shutters->getShadingPos;
my $getStatus = $FHEM::Automation::ShuttersControl::shutters->getStatus;
$FHEM::Automation::ShuttersControl::shutters->setShadingStatus(
$FHEM::Automation::ShuttersControl::shutters->getShadingStatus );
if (
IsInTime(
$FHEM::Automation::ShuttersControl::shutters
->getShadingBetweenTheTime
)
&& $FHEM::Automation::ShuttersControl::shutters->getShadingStatus eq
'in'
&& $getShadingPos != $getStatus
&& (
$getStatus !=
$FHEM::Automation::ShuttersControl::shutters->getClosedPos
|| ( $getStatus ==
$FHEM::Automation::ShuttersControl::shutters->getClosedPos
&& $marker )
)
&& (
$getStatus !=
$FHEM::Automation::ShuttersControl::shutters->getSleepPos
|| ( $getStatus ==
$FHEM::Automation::ShuttersControl::shutters->getSleepPos
&& $marker )
)
&& (
FHEM::Automation::ShuttersControl::CheckIfShuttersWindowRecOpen(
$shuttersDev) != 2
|| $FHEM::Automation::ShuttersControl::shutters->getShuttersPlace
ne 'terrace'
)
)
{
$FHEM::Automation::ShuttersControl::shutters->setLastDrive(
'shading in');
FHEM::Automation::ShuttersControl::ShuttersCommandSet( $hash,
$shuttersDev, $getShadingPos );
FHEM::Automation::ShuttersControl::ASC_Debug(
'ShadingProcessingDriveCommand: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Der aktuelle Beschattungsstatus ist: '
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatus
. ' und somit wird nun in die Position: '
. $getShadingPos
. ' zum Beschatten gefahren' );
$FHEM::Automation::ShuttersControl::shutters->setShadingLastPos(
$getShadingPos);
}
elsif (
$FHEM::Automation::ShuttersControl::shutters->getShadingStatus eq 'out'
&& $getShadingPos == $getStatus )
{
$FHEM::Automation::ShuttersControl::shutters->setLastDrive(
'shading out');
FHEM::Automation::ShuttersControl::ShuttersCommandSet(
$hash,
$shuttersDev,
(
(
$getShadingPos ==
$FHEM::Automation::ShuttersControl::shutters->getLastPos
|| $getShadingPos ==
$FHEM::Automation::ShuttersControl::shutters
->getShadingLastPos
)
? $FHEM::Automation::ShuttersControl::shutters->getOpenPos
: (
$FHEM::Automation::ShuttersControl::shutters
->getQueryShuttersPos(
$FHEM::Automation::ShuttersControl::shutters->getLastPos
)
? (
$FHEM::Automation::ShuttersControl::shutters
->getLastPos ==
$FHEM::Automation::ShuttersControl::shutters
->getSleepPos
? $FHEM::Automation::ShuttersControl::shutters
->getOpenPos
: $FHEM::Automation::ShuttersControl::shutters
->getLastPos
)
: $FHEM::Automation::ShuttersControl::shutters->getOpenPos
)
)
)
if ( $FHEM::Automation::ShuttersControl::shutters->getIsDay
|| $FHEM::Automation::ShuttersControl::shutters->getShuttersPlace
eq 'awning' );
FHEM::Automation::ShuttersControl::ASC_Debug(
'ShadingProcessingDriveCommand: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Der aktuelle Beschattungsstatus ist: '
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatus
. ' und somit wird nun in die Position: '
. $getShadingPos
. ' zum beenden der Beschattung gefahren' );
}
::Log3( $name, 4,
"AutoShuttersControl ($name) - Shading Processing - In der Routine zum fahren der Rollläden, Shading Wert: "
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatus );
FHEM::Automation::ShuttersControl::ASC_Debug(
'ShadingProcessingDriveCommand: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Der aktuelle Beschattungsstatus ist: '
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatus
. ', Beschattungsstatus Zeitstempel: '
. strftime(
"%Y.%m.%d %T",
localtime(
$FHEM::Automation::ShuttersControl::shutters
->getShadingStatusTimestamp
)
)
);
return;
}
1;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,83 @@
###############################################################################
#
# Developed with VSCodium and richterger perl plugin
#
# (c) 2018-2025 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net)
# All rights reserved
#
# Special thanks goes to:
# - Bernd (Cluni) this module is based on the logic of his script "Rollladensteuerung für HM/ROLLO inkl. Abschattung und Komfortfunktionen in Perl" (https://forum.fhem.de/index.php/topic,73964.0.html)
# - Beta-User for many tests, many suggestions and good discussions
# - pc1246 write english commandref
# - FunkOdyssey commandref style
# - sledge fix many typo in commandref
# - many User that use with modul and report bugs
# - Christoph (christoph.kaiser.in) Patch that expand RegEx for Window Events
# - Julian (Loredo) expand Residents Events for new Residents functions
# - Christoph (Christoph Morrison) for fix Commandref, many suggestions and good discussions
#
#
# This script is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License,or
# any later version.
#
# The GNU General Public License can be found at
# http://www.gnu.org/copyleft/gpl.html.
# A copy is found in the textfile GPL.txt and important notices to the license
# from the author is found in LICENSE.txt distributed with these scripts.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# $Id$
#
###############################################################################
## Subklasse Readings von ASC_Shutters ##
package FHEM::Automation::ShuttersControl::Shutters::Readings;
use strict;
use warnings;
use utf8;
sub getBrightness {
my $self = shift;
return ::ReadingsNum(
$FHEM::Automation::ShuttersControl::shutters->_getBrightnessSensor,
$FHEM::Automation::ShuttersControl::shutters->getBrightnessReading,
-1 );
}
sub getWindStatus {
my $self = shift;
return ::ReadingsVal(
$FHEM::Automation::ShuttersControl::ascDev->_getWindSensor,
$FHEM::Automation::ShuttersControl::ascDev->getWindSensorReading, -1 );
}
sub getStatus {
my $self = shift;
return ::ReadingsNum( $self->{shuttersDev},
$FHEM::Automation::ShuttersControl::shutters->getPosCmd, 0 );
}
sub getDelayCmd {
my $self = shift;
return $self->{ $self->{shuttersDev} }{delayCmd};
}
sub getASCenable {
my $self = shift;
return ::ReadingsVal( $self->{shuttersDev}, 'ASC_Enable', 'on' );
}
1;

View File

@ -0,0 +1,53 @@
###############################################################################
#
# Developed with VSCodium and richterger perl plugin
#
# (c) 2018-2025 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net)
# All rights reserved
#
# Special thanks goes to:
# - Bernd (Cluni) this module is based on the logic of his script "Rollladensteuerung für HM/ROLLO inkl. Abschattung und Komfortfunktionen in Perl" (https://forum.fhem.de/index.php/topic,73964.0.html)
# - Beta-User for many tests, many suggestions and good discussions
# - pc1246 write english commandref
# - FunkOdyssey commandref style
# - sledge fix many typo in commandref
# - many User that use with modul and report bugs
# - Christoph (christoph.kaiser.in) Patch that expand RegEx for Window Events
# - Julian (Loredo) expand Residents Events for new Residents functions
# - Christoph (Christoph Morrison) for fix Commandref, many suggestions and good discussions
#
#
# This script is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License,or
# any later version.
#
# The GNU General Public License can be found at
# http://www.gnu.org/copyleft/gpl.html.
# A copy is found in the textfile GPL.txt and important notices to the license
# from the author is found in LICENSE.txt distributed with these scripts.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# $Id$
#
###############################################################################
## Klasse Fenster (Window) und die Subklassen Attr und Readings ##
package FHEM::Automation::ShuttersControl::Window;
use strict;
use warnings;
use utf8;
use FHEM::Automation::ShuttersControl::Window::Attr;
use FHEM::Automation::ShuttersControl::Window::Readings;
use base
qw(FHEM::Automation::ShuttersControl::Window::Attr FHEM::Automation::ShuttersControl::Window::Readings);
1;

View File

@ -0,0 +1,118 @@
###############################################################################
#
# Developed with VSCodium and richterger perl plugin
#
# (c) 2018-2025 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net)
# All rights reserved
#
# Special thanks goes to:
# - Bernd (Cluni) this module is based on the logic of his script "Rollladensteuerung für HM/ROLLO inkl. Abschattung und Komfortfunktionen in Perl" (https://forum.fhem.de/index.php/topic,73964.0.html)
# - Beta-User for many tests, many suggestions and good discussions
# - pc1246 write english commandref
# - FunkOdyssey commandref style
# - sledge fix many typo in commandref
# - many User that use with modul and report bugs
# - Christoph (christoph.kaiser.in) Patch that expand RegEx for Window Events
# - Julian (Loredo) expand Residents Events for new Residents functions
# - Christoph (Christoph Morrison) for fix Commandref, many suggestions and good discussions
#
#
# This script is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License,or
# any later version.
#
# The GNU General Public License can be found at
# http://www.gnu.org/copyleft/gpl.html.
# A copy is found in the textfile GPL.txt and important notices to the license
# from the author is found in LICENSE.txt distributed with these scripts.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# $Id$
#
###############################################################################
## Subklasse Attr von Klasse ASC_Window ##
package FHEM::Automation::ShuttersControl::Window::Attr;
use strict;
use warnings;
use utf8;
sub setSubTyp {
my $self = shift;
my $attrVal = shift;
_setAttributs( $self->{shuttersDev}, 'ASC_WindowRec_subType', $attrVal );
return;
}
sub getSubTyp {
my $self = shift;
return ::AttrVal( $self->{shuttersDev}, 'ASC_WindowRec_subType',
'twostate' );
}
sub setWinDev {
my $self = shift;
my $attrVal = shift;
_setAttributs( $self->{shuttersDev}, 'ASC_WindowRec', $attrVal );
return;
}
sub _getWinDev {
my $self = shift;
return $self->{ $self->{shuttersDev} }->{ASC_WindowRec}->{device}
if (
exists(
$self->{ $self->{shuttersDev} }->{ASC_WindowRec}->{LASTGETTIME}
)
&& ( ::gettimeofday() -
$self->{ $self->{shuttersDev} }->{ASC_WindowRec}->{LASTGETTIME} ) <
2
);
$self->{ $self->{shuttersDev} }->{ASC_WindowRec}->{LASTGETTIME} =
int( ::gettimeofday() );
my ( $device, $reading ) =
FHEM::Automation::ShuttersControl::Helper::GetAttrValues(
$self->{shuttersDev}, 'ASC_WindowRec', 'none' );
### erwartetes Ergebnis
# DEVICE:READING VALUEACTIVE:VALUEINACTIVE POSACTIVE:POSINACTIVE
$self->{ $self->{shuttersDev} }->{ASC_WindowRec}->{device} =
$device;
$self->{ $self->{shuttersDev} }->{ASC_WindowRec}->{reading} =
( $reading ne 'none' ? $reading : 'state' );
return $self->{ $self->{shuttersDev} }->{ASC_WindowRec}->{device};
}
sub getWinDevReading {
my $self = shift;
return $self->{ $self->{shuttersDev} }->{ASC_WindowRec}->{reading}
if (
exists(
$self->{ $self->{shuttersDev} }->{ASC_WindowRec}->{LASTGETTIME}
)
&& ( ::gettimeofday() -
$self->{ $self->{shuttersDev} }->{ASC_WindowRec}->{LASTGETTIME} ) <
2
);
$FHEM::Automation::ShuttersControl::shutters->_getWinDev;
return $self->{ $self->{shuttersDev} }->{ASC_WindowRec}->{reading};
}
1;

View File

@ -0,0 +1,56 @@
###############################################################################
#
# Developed with VSCodium and richterger perl plugin
#
# (c) 2018-2025 Copyright: Marko Oldenburg (fhemdevelopment at cooltux dot net)
# All rights reserved
#
# Special thanks goes to:
# - Bernd (Cluni) this module is based on the logic of his script "Rollladensteuerung für HM/ROLLO inkl. Abschattung und Komfortfunktionen in Perl" (https://forum.fhem.de/index.php/topic,73964.0.html)
# - Beta-User for many tests, many suggestions and good discussions
# - pc1246 write english commandref
# - FunkOdyssey commandref style
# - sledge fix many typo in commandref
# - many User that use with modul and report bugs
# - Christoph (christoph.kaiser.in) Patch that expand RegEx for Window Events
# - Julian (Loredo) expand Residents Events for new Residents functions
# - Christoph (Christoph Morrison) for fix Commandref, many suggestions and good discussions
#
#
# This script is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License,or
# any later version.
#
# The GNU General Public License can be found at
# http://www.gnu.org/copyleft/gpl.html.
# A copy is found in the textfile GPL.txt and important notices to the license
# from the author is found in LICENSE.txt distributed with these scripts.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# $Id$
#
###############################################################################
## Subklasse Readings von Klasse ASC_Window ##
package FHEM::Automation::ShuttersControl::Window::Readings;
use strict;
use warnings;
use utf8;
sub getWinStatus {
my $self = shift;
return ::ReadingsVal(
$FHEM::Automation::ShuttersControl::shutters->_getWinDev,
$FHEM::Automation::ShuttersControl::shutters->getWinDevReading,
'closed' );
}
1;