From d5d8d5a116cac02792888bd74bd00cfb575d9e12 Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Fri, 5 Jun 2020 22:25:17 +0200 Subject: [PATCH] fix slat drive bug then set getSlatDriveCmdInverse --- FHEM/73_AutoShuttersControl.pm | 101 ++++++++++++++++++++++++- lib/FHEM/Automation/ShuttersControl.pm | 18 +++-- 2 files changed, 107 insertions(+), 12 deletions(-) diff --git a/FHEM/73_AutoShuttersControl.pm b/FHEM/73_AutoShuttersControl.pm index 0c97066..a49f5c9 100644 --- a/FHEM/73_AutoShuttersControl.pm +++ b/FHEM/73_AutoShuttersControl.pm @@ -985,7 +985,7 @@ sub Initialize { Beschreibung der AutoShuttersControl API
Mit dem Aufruf der API Funktion und Übergabe der entsprechenden Parameter ist es möglich auf interne Daten zu zu greifen.

- Übersicht für das Rollladen-Device + Übersicht für das Rollladen-Device Getter @@ -1129,7 +1129,7 @@ sub Initialize { OutTempaktuelle Außentemperatur sofern ein Sensor definiert ist, wenn nicht kommt -100 als Wert zurück

- Übersicht für das Rollladen-Device mit Parameterübergabe + Übersicht für das Rollladen-Device mit Parameterübergabe Getter @@ -1138,7 +1138,100 @@ sub Initialize { QueryShuttersPosRückgabewert 1 bedeutet das die aktuelle Position des Rollos unterhalb der Valueposition ist. 0 oder nichts bedeutet oberhalb der Valueposition.

- Übersicht für das ASC Device + Übersicht für das Rollladen-Device Setter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SetterErläuterung
AntiFreezePossetzt die Position für Antifreeze
AntiFreezesetzt den Wert für Antifreeze - off/soft/hard/am/pm
ShuttersPlacesetzt den Standort des Rollos - window/terrace
SlatPosCmdsetzt Command für das fahren der Lamellen
PrivacyUpTimesetzt die Zeit für die morgendliche privacy Fahrt
PrivacyDownTimeetzt die Zeit für die abendliche privacy Fahrt
PrivacyDownPossetzt die Position für eine abendliche privacy Fahrt
PrivacyUpPossetzt die Position für eine morgendliche privacy Fahrt
SelfDefenseModesetzt den Modus für SelfDefense
SelfDefenseAbsentDelaysetzt den Verzögerungswert für SelfDefense
WiggleValuesetzen der Werte für Wiggle
Advsetzt die Unterstützung für Weihnachten - on/off
ShadingPossetzt den Wert der Beschattungsposition
ShadingModesetzt den Modus der Beschattung - absent/always/off/home
ShadingMinOutsideTemperaturesetzt den mininmal Temperaturwert zur Beschattung
ShadingWaitingPeriodsetzt den Wert der Beschattungswartezeit
Delaysetzt den Zufallswert zur verzögerten Fahrt
DelayStartsetzen den festen Wert zur verzögerten Fahrt
BlockingTimeAfterManualsetzt den Wert in Sekunden zur Blockade nach einer manuellen Fahrt
BlockingTimeBeforNightClosesetzt den Wert in Sekunden zur Blockade vor der Nachtfahrt
BlockingTimeBeforDayOpensetzt den Wert in Sekunden zur Blockade vor der Tagfahrt
PosCmdsetzt den Readingnamen zur Positionserkennung des Rollos
OpenPossetzt den Wert für die offen Position
VentilatePos
VentilatePosAfterDayClosed
ClosedPos
SleepPos
VentilateOpen
ComfortOpenPos
PartyMode
Roommates
RoommatesReading
+

+ Übersicht für das ASC Device Getter @@ -1195,7 +1288,7 @@ sub Initialize { ], "release_status": "testing", "license": "GPL_2", - "version": "v0.9.21", + "version": "v0.9.22", "author": [ "Marko Oldenburg " ], diff --git a/lib/FHEM/Automation/ShuttersControl.pm b/lib/FHEM/Automation/ShuttersControl.pm index b933813..bb83664 100644 --- a/lib/FHEM/Automation/ShuttersControl.pm +++ b/lib/FHEM/Automation/ShuttersControl.pm @@ -4625,7 +4625,11 @@ sub _SetCmdFn { } } - if ( $ascDev->getSlatDriveCmdInverse ) { + if ( $ascDev->getSlatDriveCmdInverse + && $slatPos > -1 + && $shutters->getSlatPosCmd ne 'none' + ) + { CommandSet( undef, ( @@ -4636,9 +4640,7 @@ sub _SetCmdFn { . ' ' . $shutters->getSlatPosCmd . ' ' . $slatPos - ) - if ( $slatPos > -1 - && $shutters->getSlatPosCmd ne 'none' ); + ); InternalTimer( gettimeofday() + 3, @@ -4651,9 +4653,7 @@ sub _SetCmdFn { . $driveCommand ); }, $shuttersDev - ) - if ( $slatPos > -1 - && $shutters->getSlatPosCmd ne 'none' ); + ); } else { CommandSet( undef, @@ -4679,7 +4679,9 @@ sub _SetCmdFn { ); }, $shuttersDev - ); + ) + if ( $slatPos > -1 + && $shutters->getSlatPosCmd ne 'none' ); } $shutters->setSelfDefenseAbsent( 0, 0 )