change state of watering_computer
This commit is contained in:
parent
82c8667e2c
commit
ea2bb58574
@ -279,7 +279,7 @@ sub GardenaSmartBridge_InternalTimerGetDeviceData($) {
|
||||
|
||||
sub GardenaSmartBridge_Write($@) {
|
||||
|
||||
my ($hash,$payload,$deviceId,$model) = @_;
|
||||
my ($hash,$payload,$deviceId,$abilities) = @_;
|
||||
my $name = $hash->{NAME};
|
||||
|
||||
my $session_id = $hash->{helper}{session_id};
|
||||
@ -296,13 +296,13 @@ sub GardenaSmartBridge_Write($@) {
|
||||
$uri .= '/locations/?user_id=' . $hash->{helper}{user_id} if( not defined($hash->{helper}{locations_id}) );
|
||||
readingsSingleUpdate($hash,'state','fetch locationId',1) if( not defined($hash->{helper}{locations_id}) );
|
||||
$uri .= '/sessions' if( not defined($hash->{helper}{session_id}));
|
||||
$uri .= '/devices' if( not defined($model) and defined($hash->{helper}{locations_id}) );
|
||||
$uri .= '/devices' if( not defined($abilities) and defined($hash->{helper}{locations_id}) );
|
||||
}
|
||||
|
||||
$uri .= '/sessions' if( not defined($hash->{helper}{session_id}));
|
||||
|
||||
if( defined($hash->{helper}{locations_id}) ) {
|
||||
$uri .= '/devices/' . $deviceId . '/abilities/' . $model . '/command' if( defined($model) and defined($payload) );
|
||||
$uri .= '/devices/' . $deviceId . '/abilities/' . $abilities . '/command' if( defined($abilities) and defined($payload) );
|
||||
$uri .= '?locationId=' . $hash->{helper}{locations_id};
|
||||
}
|
||||
|
||||
|
@ -187,8 +187,10 @@ sub GardenaSmartDevice_Set($@) {
|
||||
my ($arg, @params) = @args;
|
||||
|
||||
my $payload;
|
||||
my $abilities;
|
||||
|
||||
|
||||
### mower
|
||||
if( lc $cmd eq 'parkuntilfurthernotice' ) {
|
||||
|
||||
$payload = '"name":"park_until_further_notice"';
|
||||
@ -206,6 +208,7 @@ sub GardenaSmartDevice_Set($@) {
|
||||
my $duration = join( " ", @args );
|
||||
$payload = '"name":"start_override_timer","parameters":{"duration":' . $duration . '}';
|
||||
|
||||
### watering_computer
|
||||
} elsif( lc $cmd eq 'manualoverride' ) {
|
||||
|
||||
my $duration = join( " ", @args );
|
||||
@ -215,12 +218,22 @@ sub GardenaSmartDevice_Set($@) {
|
||||
|
||||
$payload = '"name":"cancel_override"';
|
||||
|
||||
### Sensors
|
||||
} elsif( lc $cmd eq 'refresh' ) {
|
||||
|
||||
my $sensname = join( " ", @args );
|
||||
$payload = '"name":"measure_ambient_temperature"' if( $sensname eq 'Temperature' );
|
||||
$payload = '"name":"measure_light"' if( $sensname eq 'Light' );
|
||||
$payload = '"name":"measure_humidity"' if( $sensname eq 'Humidity' );
|
||||
if( lc $sensname eq 'temperature' ) {
|
||||
$payload = '"name":"measure_ambient_temperature"';
|
||||
$abilities = 'ambient_temperature';
|
||||
|
||||
} elsif( lc $sensname eq 'light' ) {
|
||||
$payload = '"name":"measure_light"';
|
||||
$abilities = 'light';
|
||||
|
||||
} elsif( lc $sensname eq 'humidity' ) {
|
||||
$payload = '"name":"measure_humidity"';
|
||||
$abilities = 'humidity';
|
||||
}
|
||||
|
||||
} elsif( lc $cmd eq '' ) {
|
||||
|
||||
@ -242,13 +255,17 @@ sub GardenaSmartDevice_Set($@) {
|
||||
my $list = '';
|
||||
$list .= 'parkUntilFurtherNotice:noArg parkUntilNextTimer:noArg startResumeSchedule:noArg startOverrideTimer:slider,0,60,1440' if( AttrVal($name,'model','unknown') eq 'mower' );
|
||||
$list .= 'manualOverride:slider,0,10,240 cancelOverride:noArg' if( AttrVal($name,'model','unknown') eq 'watering_computer' );
|
||||
$list .= 'refresh:Temperature,Light,Humidity' if( AttrVal($name,'model','unknown') eq 'sensor' );
|
||||
$list .= 'refresh:temperature,light,humidity' if( AttrVal($name,'model','unknown') eq 'sensor' );
|
||||
|
||||
return "Unknown argument $cmd, choose one of $list";
|
||||
}
|
||||
|
||||
IOWrite($hash,$payload,$hash->{DEVICEID},AttrVal($name,'model','unknown'));
|
||||
Log3 $name, 4, "GardenaSmartBridge ($name) - IOWrite: $payload $hash->{DEVICEID} " . AttrVal($name,'model','unknown') . " IODevHash=$hash->{IODev}";
|
||||
$abilities = 'mower' if( AttrVal($name,'model','unknown') eq 'mower' );
|
||||
$abilities = 'outlet' if( AttrVal($name,'model','unknown') eq 'watering_computer' );
|
||||
|
||||
|
||||
IOWrite($hash,$payload,$hash->{DEVICEID},$abilities);
|
||||
Log3 $name, 4, "GardenaSmartBridge ($name) - IOWrite: $payload $hash->{DEVICEID} $abilities IODevHash=$hash->{IODev}";
|
||||
|
||||
return undef;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user