From 5e50679bd038e7d754f3c4d41a587d87dc7029a9 Mon Sep 17 00:00:00 2001 From: Dave Cross Date: Sun, 22 Jan 2017 18:23:13 +0000 Subject: [PATCH] Changed base URI. Fiddled with methods. --- gettemp | 7 ++++++- lib/Hive.pm | 28 ++++++++++++++++++++++++---- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/gettemp b/gettemp index 0827795..5fae5f1 100755 --- a/gettemp +++ b/gettemp @@ -17,6 +17,11 @@ my $hive = Hive->new({ password => $pass, }); -foreach (qw[get_temperature get_target_temperature hubs devices]) { +say $hive->get_temperature; +say $hive->get_target_temperature; +say $hive->dump_temperature; +say $hive->dump_target_temperature; + +foreach (qw[hubs devices]) { say Dumper $hive->$_; } diff --git a/lib/Hive.pm b/lib/Hive.pm index 7de982b..6a22b27 100644 --- a/lib/Hive.pm +++ b/lib/Hive.pm @@ -41,13 +41,14 @@ sub _build_ua { LWP::UserAgent->new( cookie_jar => HTTP::Cookies->new, + agent => 'bg-hive-api/1.0.5', ); } has base_url => ( is => 'ro', isa => 'HiveURI', - default => 'https://api.hivehome.com/v5/', + default => 'https://api-prod.bgchprod.info/api', coerce => 1, ); @@ -105,16 +106,33 @@ sub BUILD { $self->{devices} = $self->get_and_decode('/widgets/climate'); } +sub dump_temperature { + my $self = shift; + + my $resp = $self->get('/widgets/temperature'); + return $resp->content; +} + sub get_temperature { my $self = shift; - return $self->get_and_decode('/widgets/temperature'); + my $dat = $self->get_and_decode('/widgets/temperature'); + return "Inside: $dat->{inside}{now}$dat->{temperatureUnit}\n" . + "Outside: $dat->{outside}{now}$dat->{temperatureUnit}"; +} + +sub dump_target_temperature { + my $self = shift; + + my $resp = $self->get('/widgets/climate/targetTemperature'); + return $resp->content; } sub get_target_temperature { my $self = shift; - return $self->get_and_decode('/widgets/climate/targetTemperature'); + my $dat = $self->get_and_decode('/widgets/climate/targetTemperature'); + return $dat->{temperature} . $dat->{formatting}{temperatureUnit}; } sub get { @@ -123,7 +141,9 @@ sub get { my $url = $self->user_url . shift; my $req = GET $url; - $self->ua->request($req); + my $resp = $self->ua->request($req); + return $resp if $resp->is_success; + die $resp->status_line; } sub get_and_decode {