diff --git a/app/Routes.php b/app/Routes.php index a872904..299f2fb 100644 --- a/app/Routes.php +++ b/app/Routes.php @@ -66,6 +66,7 @@ $router->post('/cron/automations', 'CronApi@automations'); $router->any('/api/HA/auth', 'Oauth@default'); $router->any('/api/HA/token', 'Oauth@token'); $router->any('/api/HA', 'GoogleHomeApi@response'); +$router->any('/api/HA/', 'GoogleHomeApi@response'); //Endpoints API diff --git a/app/controllers/oauthController.php b/app/controllers/oauthController.php index 1af81b6..2a1d61d 100644 --- a/app/controllers/oauthController.php +++ b/app/controllers/oauthController.php @@ -26,7 +26,6 @@ if ( $get = [ "state"=>$state, "code"=>$token, - "access_token"=>$token, "state"=>$state, ]; } else { diff --git a/app/models/GoogleHome.php b/app/models/GoogleHome.php index 5f96f31..eba60dc 100644 --- a/app/models/GoogleHome.php +++ b/app/models/GoogleHome.php @@ -1,4 +1,5 @@ false, - 'roomHint' => $roomData['name'] + 'roomHint' => $roomData['name'], + "otherDeviceIds" => [ + ["deviceId" => "SH#".(string) $deviceData['device_id']] + ] ]; if ($tempDevice['attributes'] == null) unset($tempDevice['attributes']); diff --git a/app/models/types/GoogleHomeDeviceTypes.php b/app/models/types/GoogleHomeDeviceTypes.php index 293ba20..1e42d11 100644 --- a/app/models/types/GoogleHomeDeviceTypes.php +++ b/app/models/types/GoogleHomeDeviceTypes.php @@ -1,5 +1,6 @@ false, ], 'temp_cont' => [ - 'availableThermostatModes' => 'off,heat', + 'availableThermostatModes' => ['off', 'heat'], 'thermostatTemperatureUnit' => 'C', ], 'vol_cont' => [ @@ -117,7 +118,7 @@ class GoogleHomeDeviceTypes { 'levelStepSize' => 2, 'commandOnlyVolume' => false, ], - 'media_cont'=> [ + 'media_cont' => [ 'transportControlSupportedCommands' => [ "NEXT", "PREVIOUS", @@ -127,7 +128,7 @@ class GoogleHomeDeviceTypes { "CAPTION_CONTROL" ], ], - 'media_status'=> [ + 'media_status' => [ 'supportActivityState' => true, 'supportPlaybackState' => true, ], @@ -159,27 +160,32 @@ class GoogleHomeDeviceTypes { ], ]; - static function getAction($deviceType){ + static function getAction($deviceType) + { if (!isset(self::$actionWordBook[$deviceType])) return; return self::$actionWordBook[$deviceType]; } - static function getTraid($subDeviceType){ + static function getTraid($subDeviceType) + { if (!isset(self::$traidWordBook[$subDeviceType])) return; return self::$traidWordBook[$subDeviceType]; } - static function getType($subDeviceCommand){ + static function getType($subDeviceCommand) + { if (!isset(self::$commandWordBook[$subDeviceCommand])) return; return self::$commandWordBook[$subDeviceCommand]; } - static function getAttribute($subDeviceType){ + static function getAttribute($subDeviceType) + { if (!isset(self::$attributeWordBook[$subDeviceType])) return; return self::$attributeWordBook[$subDeviceType]; } - static function getQueryJson($deviceType, $type){ + static function getQueryJson($deviceType, $type) + { return self::$wordBook[$type]; } } diff --git a/app/views/Oauth.php b/app/views/Oauth.php index 2850697..89e7396 100644 --- a/app/views/Oauth.php +++ b/app/views/Oauth.php @@ -9,9 +9,9 @@ class Oauth //Log $logManager = new LogManager(__DIR__ . '/../../logs/auth/' . date("Y-m-d") . '.log'); $logManager->setLevel(LOGLEVEL); - $logManager->write("[OAUTH] GET " . json_encode($_GET), LogRecordTypes::INFO); - $logManager->write("[OAUTH] DATA " . file_get_contents('php://input'), LogRecordTypes::INFO); - $logManager->write("[OAUTH] URL " . $_SERVER['REQUEST_URI'], LogRecordTypes::INFO); + $logManager->write("[OAUTH] GET " . json_encode($_GET), LogRecordTypes::WARNING); + $logManager->write("[OAUTH] DATA " . file_get_contents('php://input'), LogRecordTypes::WARNING); + $logManager->write("[OAUTH] URL " . $_SERVER['REQUEST_URI'], LogRecordTypes::WARNING); $userManager = new UserManager(); $langMng = new LanguageManager('en'); @@ -49,10 +49,10 @@ class Oauth //Log $logManager = new LogManager(__DIR__ . '/../../logs/auth/' . date("Y-m-d") . '.log'); $logManager->setLevel(LOGLEVEL); - $logManager->write("[OAUTH] GET " . json_encode($_GET), LogRecordTypes::INFO); - $logManager->write("[OAUTH] POST " . json_encode($_POST), LogRecordTypes::INFO); - $logManager->write("[OAUTH] DATA " . file_get_contents('php://input'), LogRecordTypes::INFO); - $logManager->write("[OAUTH] URL " . $_SERVER['REQUEST_URI'], LogRecordTypes::INFO); + $logManager->write("[OAUTH] GET " . json_encode($_GET), LogRecordTypes::WARNING); + $logManager->write("[OAUTH] POST " . json_encode($_POST), LogRecordTypes::WARNING); + $logManager->write("[OAUTH] DATA " . file_get_contents('php://input'), LogRecordTypes::WARNING); + $logManager->write("[OAUTH] URL " . $_SERVER['REQUEST_URI'], LogRecordTypes::WARNING); // $template = new Template('oauth'); // $template->prepare('baseDir', BASEDIR); @@ -63,12 +63,13 @@ class Oauth $token = $_POST["code"]; $get = [ "access_token" => $token, - "token_type" => "bearer", + "token_type" => "Bearer", "refresh_token" => $token, "scope" => 'user', + //"expires_in" => 63113851, ]; - $logManager->write("[OAUTH] Response " . json_encode($get), LogRecordTypes::INFO); + $logManager->write("[OAUTH] Response " . json_encode($get), LogRecordTypes::WARNING); echo json_encode($get); die(); }