From 2e7a23a1c90024247a49471792dca41e87ce5844 Mon Sep 17 00:00:00 2001 From: domschlo <> Date: Fri, 3 Apr 2015 16:09:22 +0000 Subject: [PATCH] module: 38_JawboneUp: Patch by My-FHEM: additional readings for awakenings, light, time_to_sleep,bedtime, deep ,awake git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@8364 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/38_JawboneUp.pm | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/FHEM/38_JawboneUp.pm b/FHEM/38_JawboneUp.pm index ca63d4fb6..1f33693f5 100644 --- a/FHEM/38_JawboneUp.pm +++ b/FHEM/38_JawboneUp.pm @@ -68,7 +68,7 @@ jawboneUp_Define($$) my $user = $a[2]; my $password = $a[3]; - $hash->{"module_version"} = "0.1.2"; + $hash->{"module_version"} = "0.1.3"; $hash->{user}=$user; $hash->{password}=$password; @@ -173,7 +173,12 @@ sub jawboneUp_DoBackground($) my $at=$score->{"move"}{"active_time"}; my $li=$score->{"move"}{"longest_idle"}; - my $aw=$score->{"sleep"}{"awake"}; + my $aw=$score->{"sleep"}{"awake"}; + my $ak=$score->{"sleep"}{"awakenings"}; + my $lt=$score->{"sleep"}{"light"}; + my $ts=$score->{"sleep"}{"time_to_sleep"}; + my $bt=$score->{"sleep"}{"goals"}{"bedtime"}[0]; + my $dp=$score->{"sleep"}{"goals"}{"deep"}[0]; my $as=$score->{"sleep"}{"goals"}{"total"}[0]; # Second expensive call for band events @@ -214,7 +219,7 @@ sub jawboneUp_DoBackground($) } } - return "OK|$na|$st|$ca|$di|$bc|$bd|$at|$li|$aw|$as|$sl|$sw"; + return "OK|$na|$st|$ca|$di|$bc|$bd|$at|$li|$aw|$as|$sl|$sw|$ak|$lt|$ts|$bt|$dp"; } #Error: API doesn't return any information about errors... my $na=$hash->{NAME}; @@ -262,7 +267,7 @@ sub jawboneUp_DoneBackground($) $hash->{STATE} = "Connect-failure, retries: ".$hash->{"API_Failures"}; } } else { - if (@a < 13) { + if (@a < 18) { print ("Internal error at DoneBackground (0x003).\n"); $hash->{STATE} = "Disconnected - disabled"; $attr{$hash->{NAME}}{"disable"} = 1; @@ -286,6 +291,13 @@ sub jawboneUp_DoneBackground($) updReading($hash,"sleep_mode",$a[11]); updReading($hash,"stopwatch_mode",$a[12]); + + updReading($hash,"awakenings",$a[13]); + updReading($hash,"light",$a[14]); + updReading($hash,"time_to_sleep",$a[15]); + updReading($hash,"bedtime",$a[16]); + updReading($hash,"deep",$a[17]); + readingsEndUpdate($hash, 1); $hash->{LAST_POLL} = FmtDateTime( gettimeofday() );