add first code for pressure pump

This commit is contained in:
Marko Oldenburg 2019-05-01 18:00:24 +02:00
parent 766e50bbb6
commit fcac1b39de
2 changed files with 39 additions and 8 deletions

View File

@ -386,10 +386,10 @@ sub Write($@) {
}
);
Log3 $name, 4,
"GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: secret!, DATA: secret!, METHOD: $method";
# Log3 $name, 3,
# "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: $header, DATA: $payload, METHOD: $method";
# Log3($name, 4,
# "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: secret!, DATA: secret!, METHOD: $method");
Log3($name, 3,
"GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: $header, DATA: $payload, METHOD: $method");
}
sub ErrorHandling($$$) {
@ -986,6 +986,21 @@ sub createHttpValueStrings($@) {
. '/properties/watering_timer_'
. $valve_id;
}
elsif ( defined($abilities)
and defined($payload)
and $abilities eq 'manual_watering' )
{
my $valve_id;
$method = 'PUT';
$uri .=
'/devices/'
. $deviceId
. '/abilities/'
. $abilities
. '/properties/manual_watering_timer';
}
elsif ( defined($abilities)
and defined($payload)

View File

@ -75,7 +75,7 @@ sub GardenaSmartDevice_Initialize($) {
$hash->{AttrFn} = "FHEM::GardenaSmartDevice::Attr";
$hash->{AttrList} =
"readingValueLanguage:de,en "
. "model:watering_computer,sensor,mower,ic24,power "
. "model:watering_computer,sensor,mower,ic24,power,electronic_pressure_pump "
. "IODev "
. $readingFnAttributes;
@ -243,8 +243,16 @@ sub Set($@) {
SetPredefinedStartPoints( $hash, @args );
return $err if ( defined($err) );
### watering_computer
}
### electronic_pressure_pump
elsif ( lc $cmd eq 'pumptimer' ) {
my $duration = join( " ", @args );
$payload = '"name":"pump_manual_watering_timer","parameters":{"duration":'
. $duration . '}';
}
### watering_computer
elsif ( lc $cmd eq 'manualoverride' ) {
my $duration = join( " ", @args );
@ -281,9 +289,8 @@ sub Set($@) {
. $duration
. ',"valve_id":'
. $valve_id . '}}';
### Sensors
}
### Sensors
elsif ( lc $cmd eq 'refresh' ) {
my $sensname = join( " ", @args );
@ -309,13 +316,20 @@ sub Set($@) {
$list .=
'parkUntilFurtherNotice:noArg parkUntilNextTimer:noArg startResumeSchedule:noArg startOverrideTimer:slider,0,60,1440 startpoint'
if ( AttrVal( $name, 'model', 'unknown' ) eq 'mower' );
$list .= 'manualOverride:slider,0,1,59 cancelOverride:noArg'
if ( AttrVal( $name, 'model', 'unknown' ) eq 'watering_computer' );
$list .= 'pumpTimer:slider,0,1,59'
if ( AttrVal( $name, 'model', 'unknown' ) eq 'electronic_pressure_pump' );
$list .=
'manualDurationValve1:slider,1,1,59 manualDurationValve2:slider,1,1,59 manualDurationValve3:slider,1,1,59 manualDurationValve4:slider,1,1,59 manualDurationValve5:slider,1,1,59 manualDurationValve6:slider,1,1,59'
if ( AttrVal( $name, 'model', 'unknown' ) eq 'ic24' );
$list .= 'refresh:temperature,light,humidity'
if ( AttrVal( $name, 'model', 'unknown' ) eq 'sensor' );
$list .= 'on:noArg off:noArg on-for-timer:slider,0,1,60'
if ( AttrVal( $name, 'model', 'unknown' ) eq 'power' );
@ -331,6 +345,8 @@ sub Set($@) {
if ( AttrVal( $name, 'model', 'unknown' ) eq 'ic24' );
$abilities = 'power'
if ( AttrVal( $name, 'model', 'unknown' ) eq 'power' );
$abilities = 'manual_watering'
if ( AttrVal( $name, 'model', 'unknown' ) eq 'electronic_pressure_pump' );
$hash->{helper}{deviceAction} = $payload;
readingsSingleUpdate( $hash, "state", "send command to gardena cloud", 1 );