add first code for pressure pump
This commit is contained in:
parent
766e50bbb6
commit
fcac1b39de
@ -386,10 +386,10 @@ sub Write($@) {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
Log3 $name, 4,
|
# Log3($name, 4,
|
||||||
"GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: secret!, DATA: secret!, METHOD: $method";
|
# "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: secret!, DATA: secret!, METHOD: $method");
|
||||||
# Log3 $name, 3,
|
Log3($name, 3,
|
||||||
# "GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: $header, DATA: $payload, METHOD: $method";
|
"GardenaSmartBridge ($name) - Send with URL: $hash->{URL}$uri, HEADER: $header, DATA: $payload, METHOD: $method");
|
||||||
}
|
}
|
||||||
|
|
||||||
sub ErrorHandling($$$) {
|
sub ErrorHandling($$$) {
|
||||||
@ -986,6 +986,21 @@ sub createHttpValueStrings($@) {
|
|||||||
. '/properties/watering_timer_'
|
. '/properties/watering_timer_'
|
||||||
. $valve_id;
|
. $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)
|
elsif ( defined($abilities)
|
||||||
and defined($payload)
|
and defined($payload)
|
||||||
|
@ -75,7 +75,7 @@ sub GardenaSmartDevice_Initialize($) {
|
|||||||
$hash->{AttrFn} = "FHEM::GardenaSmartDevice::Attr";
|
$hash->{AttrFn} = "FHEM::GardenaSmartDevice::Attr";
|
||||||
$hash->{AttrList} =
|
$hash->{AttrList} =
|
||||||
"readingValueLanguage:de,en "
|
"readingValueLanguage:de,en "
|
||||||
. "model:watering_computer,sensor,mower,ic24,power "
|
. "model:watering_computer,sensor,mower,ic24,power,electronic_pressure_pump "
|
||||||
. "IODev "
|
. "IODev "
|
||||||
. $readingFnAttributes;
|
. $readingFnAttributes;
|
||||||
|
|
||||||
@ -243,8 +243,16 @@ sub Set($@) {
|
|||||||
SetPredefinedStartPoints( $hash, @args );
|
SetPredefinedStartPoints( $hash, @args );
|
||||||
return $err if ( defined($err) );
|
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' ) {
|
elsif ( lc $cmd eq 'manualoverride' ) {
|
||||||
|
|
||||||
my $duration = join( " ", @args );
|
my $duration = join( " ", @args );
|
||||||
@ -281,9 +289,8 @@ sub Set($@) {
|
|||||||
. $duration
|
. $duration
|
||||||
. ',"valve_id":'
|
. ',"valve_id":'
|
||||||
. $valve_id . '}}';
|
. $valve_id . '}}';
|
||||||
|
|
||||||
### Sensors
|
|
||||||
}
|
}
|
||||||
|
### Sensors
|
||||||
elsif ( lc $cmd eq 'refresh' ) {
|
elsif ( lc $cmd eq 'refresh' ) {
|
||||||
|
|
||||||
my $sensname = join( " ", @args );
|
my $sensname = join( " ", @args );
|
||||||
@ -309,13 +316,20 @@ sub Set($@) {
|
|||||||
$list .=
|
$list .=
|
||||||
'parkUntilFurtherNotice:noArg parkUntilNextTimer:noArg startResumeSchedule:noArg startOverrideTimer:slider,0,60,1440 startpoint'
|
'parkUntilFurtherNotice:noArg parkUntilNextTimer:noArg startResumeSchedule:noArg startOverrideTimer:slider,0,60,1440 startpoint'
|
||||||
if ( AttrVal( $name, 'model', 'unknown' ) eq 'mower' );
|
if ( AttrVal( $name, 'model', 'unknown' ) eq 'mower' );
|
||||||
|
|
||||||
$list .= 'manualOverride:slider,0,1,59 cancelOverride:noArg'
|
$list .= 'manualOverride:slider,0,1,59 cancelOverride:noArg'
|
||||||
if ( AttrVal( $name, 'model', 'unknown' ) eq 'watering_computer' );
|
if ( AttrVal( $name, 'model', 'unknown' ) eq 'watering_computer' );
|
||||||
|
|
||||||
|
$list .= 'pumpTimer:slider,0,1,59'
|
||||||
|
if ( AttrVal( $name, 'model', 'unknown' ) eq 'electronic_pressure_pump' );
|
||||||
|
|
||||||
$list .=
|
$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'
|
'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' );
|
if ( AttrVal( $name, 'model', 'unknown' ) eq 'ic24' );
|
||||||
|
|
||||||
$list .= 'refresh:temperature,light,humidity'
|
$list .= 'refresh:temperature,light,humidity'
|
||||||
if ( AttrVal( $name, 'model', 'unknown' ) eq 'sensor' );
|
if ( AttrVal( $name, 'model', 'unknown' ) eq 'sensor' );
|
||||||
|
|
||||||
$list .= 'on:noArg off:noArg on-for-timer:slider,0,1,60'
|
$list .= 'on:noArg off:noArg on-for-timer:slider,0,1,60'
|
||||||
if ( AttrVal( $name, 'model', 'unknown' ) eq 'power' );
|
if ( AttrVal( $name, 'model', 'unknown' ) eq 'power' );
|
||||||
|
|
||||||
@ -331,6 +345,8 @@ sub Set($@) {
|
|||||||
if ( AttrVal( $name, 'model', 'unknown' ) eq 'ic24' );
|
if ( AttrVal( $name, 'model', 'unknown' ) eq 'ic24' );
|
||||||
$abilities = 'power'
|
$abilities = 'power'
|
||||||
if ( AttrVal( $name, 'model', 'unknown' ) eq 'power' );
|
if ( AttrVal( $name, 'model', 'unknown' ) eq 'power' );
|
||||||
|
$abilities = 'manual_watering'
|
||||||
|
if ( AttrVal( $name, 'model', 'unknown' ) eq 'electronic_pressure_pump' );
|
||||||
|
|
||||||
$hash->{helper}{deviceAction} = $payload;
|
$hash->{helper}{deviceAction} = $payload;
|
||||||
readingsSingleUpdate( $hash, "state", "send command to gardena cloud", 1 );
|
readingsSingleUpdate( $hash, "state", "send command to gardena cloud", 1 );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user