add seperate temp sensor per shutter, #35
This commit is contained in:
@@ -209,6 +209,7 @@ my %userAttrList = (
|
|||||||
'ASC_PrivacyDownTime_beforNightClose' => '-',
|
'ASC_PrivacyDownTime_beforNightClose' => '-',
|
||||||
'ASC_PrivacyDown_Pos' => '-',
|
'ASC_PrivacyDown_Pos' => '-',
|
||||||
'ASC_WindowRec' => '-',
|
'ASC_WindowRec' => '-',
|
||||||
|
'ASC_TempSensor' => '-',
|
||||||
'ASC_Ventilate_Window_Open:on,off' => '-',
|
'ASC_Ventilate_Window_Open:on,off' => '-',
|
||||||
'ASC_LockOut:soft,hard,off' => '-',
|
'ASC_LockOut:soft,hard,off' => '-',
|
||||||
'ASC_LockOut_Cmd:inhibit,blocked,protection' => '-',
|
'ASC_LockOut_Cmd:inhibit,blocked,protection' => '-',
|
||||||
@@ -3957,6 +3958,12 @@ sub getRoommatesLastStatus {
|
|||||||
return $revStatePrio{$minPrio};
|
return $revStatePrio{$minPrio};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub getOutTemp {
|
||||||
|
my $self = shift;
|
||||||
|
|
||||||
|
return ReadingsVal( $shutters->_getTempSensor, $shutters->getTempSensorReading, -100 );
|
||||||
|
}
|
||||||
|
|
||||||
### Begin Beschattung Objekt mit Daten befüllen
|
### Begin Beschattung Objekt mit Daten befüllen
|
||||||
sub setShadingStatus {
|
sub setShadingStatus {
|
||||||
my ( $self, $value ) = @_;
|
my ( $self, $value ) = @_;
|
||||||
@@ -4136,6 +4143,58 @@ sub getShadingMode {
|
|||||||
return AttrVal( $self->{shuttersDev}, 'ASC_Shading_Mode', 'off' );
|
return AttrVal( $self->{shuttersDev}, 'ASC_Shading_Mode', 'off' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub _getTempSensor {
|
||||||
|
my $self = shift;
|
||||||
|
|
||||||
|
return $self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{device}
|
||||||
|
if (
|
||||||
|
exists(
|
||||||
|
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}
|
||||||
|
->{LASTGETTIME}
|
||||||
|
)
|
||||||
|
and ( gettimeofday() -
|
||||||
|
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}
|
||||||
|
->{LASTGETTIME} ) < 2
|
||||||
|
);
|
||||||
|
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{LASTGETTIME} =
|
||||||
|
int( gettimeofday() );
|
||||||
|
my ( $device, $reading ) =
|
||||||
|
FHEM::AutoShuttersControl::GetAttrValues( $self->{shuttersDev},
|
||||||
|
'ASC_TempSensor', 'none' );
|
||||||
|
|
||||||
|
### erwartetes Ergebnis
|
||||||
|
# DEVICE:READING
|
||||||
|
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{device} = $device;
|
||||||
|
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{reading} =
|
||||||
|
( $reading ne 'none' ? $reading : 'temperature' );
|
||||||
|
|
||||||
|
return $self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{device};
|
||||||
|
}
|
||||||
|
|
||||||
|
sub getTempSensorReading {
|
||||||
|
my $self = shift;
|
||||||
|
|
||||||
|
return $self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{reading}
|
||||||
|
if (
|
||||||
|
exists(
|
||||||
|
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}
|
||||||
|
->{LASTGETTIME}
|
||||||
|
)
|
||||||
|
and ( gettimeofday() -
|
||||||
|
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}
|
||||||
|
->{LASTGETTIME} ) < 2
|
||||||
|
);
|
||||||
|
$shutters->_getTempSensor;
|
||||||
|
|
||||||
|
return (
|
||||||
|
defined(
|
||||||
|
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{reading}
|
||||||
|
)
|
||||||
|
? $self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{reading}
|
||||||
|
: 'temperature'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
sub _getBrightnessSensor {
|
sub _getBrightnessSensor {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
@@ -4869,7 +4928,7 @@ sub getMonitoredDevs {
|
|||||||
sub getOutTemp {
|
sub getOutTemp {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
return ReadingsVal( $ascDev->_getTempSensor, $ascDev->getTempReading,
|
return ReadingsVal( $ascDev->_getTempSensor, $ascDev->getTempSensorReading,
|
||||||
-100 );
|
-100 );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5106,7 +5165,7 @@ sub _getTempSensor {
|
|||||||
return $self->{ASC_tempSensor}->{device};
|
return $self->{ASC_tempSensor}->{device};
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getTempReading {
|
sub getTempSensorReading {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $name = $self->{name};
|
my $name = $self->{name};
|
||||||
|
|
||||||
@@ -5884,6 +5943,10 @@ sub getblockAscDrivesAfterManual {
|
|||||||
<td>PrivacyDownStatus</td>
|
<td>PrivacyDownStatus</td>
|
||||||
<td>Is the shutter currently in privacyDown mode</td>
|
<td>Is the shutter currently in privacyDown mode</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>outTemp</td>
|
||||||
|
<td>Current temperature of a configured temperature device, return -100 is no device configured</td>
|
||||||
|
</tr>
|
||||||
<table/>
|
<table/>
|
||||||
</p>
|
</p>
|
||||||
<u>Data points of the <abbr>ASC</abbr> device</u>
|
<u>Data points of the <abbr>ASC</abbr> device</u>
|
||||||
@@ -5897,7 +5960,7 @@ sub getblockAscDrivesAfterManual {
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>outTemp</td>
|
<td>outTemp</td>
|
||||||
<td>Current temperature of a configured temperature device</td>
|
<td>Current temperature of a configured temperature device, return -100 is no device configured</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>ResidentsStatus</td>
|
<td>ResidentsStatus</td>
|
||||||
@@ -6164,6 +6227,7 @@ sub getblockAscDrivesAfterManual {
|
|||||||
<tr><td>ASCenable</td><td>Abfrage ob für den Rollladen die ASC Steuerung aktiv ist.</td></tr>
|
<tr><td>ASCenable</td><td>Abfrage ob für den Rollladen die ASC Steuerung aktiv ist.</td></tr>
|
||||||
<tr><td>IsDay</td><td>Abfrage ob das Rollo im Tag oder Nachtmodus ist. Also nach Sunset oder nach Sunrise</td></tr>
|
<tr><td>IsDay</td><td>Abfrage ob das Rollo im Tag oder Nachtmodus ist. Also nach Sunset oder nach Sunrise</td></tr>
|
||||||
<tr><td>PrivacyDownStatus</td><td>Abfrage ob das Rollo aktuell im PrivacyDown Status steht</td></tr>
|
<tr><td>PrivacyDownStatus</td><td>Abfrage ob das Rollo aktuell im PrivacyDown Status steht</td></tr>
|
||||||
|
<tr><td>OutTemp</td><td>aktuelle Außentemperatur sofern ein Sensor definiert ist, wenn nicht kommt -100 als Wert zurück</td></tr>
|
||||||
<table/>
|
<table/>
|
||||||
</p>
|
</p>
|
||||||
<u>Übersicht für das ASC Device</u>
|
<u>Übersicht für das ASC Device</u>
|
||||||
@@ -6172,7 +6236,7 @@ sub getblockAscDrivesAfterManual {
|
|||||||
</ul>
|
</ul>
|
||||||
<table border="1">
|
<table border="1">
|
||||||
<tr><th>Getter</th><th>Erläuterung</th></tr>
|
<tr><th>Getter</th><th>Erläuterung</th></tr>
|
||||||
<tr><td>outTemp </td><td>aktuelle Außentemperatur sofern Sensor definiert</td></tr>
|
<tr><td>outTemp </td><td>aktuelle Außentemperatur sofern ein Sensor definiert ist, wenn nicht kommt -100 als Wert zurück</td></tr>
|
||||||
<tr><td>ResidentsStatus</td><td>aktueller Status des Residents Devices</td></tr>
|
<tr><td>ResidentsStatus</td><td>aktueller Status des Residents Devices</td></tr>
|
||||||
<tr><td>ResidentsLastStatus</td><td>letzter Status des Residents Devices</td></tr>
|
<tr><td>ResidentsLastStatus</td><td>letzter Status des Residents Devices</td></tr>
|
||||||
<tr><td>Azimuth</td><td>Azimut Wert</td></tr>
|
<tr><td>Azimuth</td><td>Azimut Wert</td></tr>
|
||||||
@@ -6203,7 +6267,7 @@ sub getblockAscDrivesAfterManual {
|
|||||||
"release_status": "under develop",
|
"release_status": "under develop",
|
||||||
"license": "GPL_2",
|
"license": "GPL_2",
|
||||||
"version": "v0.6.19",
|
"version": "v0.6.19",
|
||||||
"x_developmentversion": "v0.6.19.6",
|
"x_developmentversion": "v0.6.19.7",
|
||||||
"author": [
|
"author": [
|
||||||
"Marko Oldenburg <leongaultier@gmail.com>"
|
"Marko Oldenburg <leongaultier@gmail.com>"
|
||||||
],
|
],
|
||||||
|
Reference in New Issue
Block a user