robertogallea / restado
此软件包最新版本(1.2.1)没有提供许可证信息。
Tado REST API 客户端
1.2.1
2023-01-09 08:57 UTC
Requires
- league/oauth2-client: ^2.2
README
用于管理 Tado 系统的 PHP 和 Laravel 库
此软件包提供了一个简单接口,用于访问公共 Tado 调节器系统 API。它封装了用于用户身份验证和从本地设备检索信息的 Web 方法。
该软件包还集成在 Laravel 中。
由于 API 当前未官方文档化,如果您知道此库中缺少的方法,请告知我!
1. 安装
-
使用 composer 安装此软件包
composer require robertogallea/restado
-
将服务提供者添加到
config/app.php
中的providers
Laravel 5.5 使用包自动发现,因此不需要您手动添加 ServiceProvider
Robertogallea\Restado\RestadoServiceProvider::class,
-
将别名添加到
config/app.php
中的aliases
'Restado' => Robertogallea\Restado\Facades\Restado::class,
-
将以下变量添加到您的 .env 文件中
TADO_CLIENT_ID=<TADO_APP_ID> // defaults to public-api-preview TADO_SECRET=<TADO_APP_SECRET_KEY> // defaults to 4HJGRffVR8xb3XdEUQpjgZ1VplJi6Xgw TADO_USER=<TADO_USER> TADO_PASS=<TADO_PASSWORD> TADO_HOME_ID=<TADO_HOME_ID>
2. 更新
-
要更新此软件包,请更新 composer 软件包
composer update robertogallea/restado
3. 配置
- 要使用 Restado,无需进一步配置。但是,如果您想调整配置,请使用以下命令发布相关配置文件:
php artisan vendor:publish --provider="Robertogallea\Restado\RestadoServiceProvider" --tag=config
4. 用法
要使用此软件包,您应使用 Restado 门面方法。
-
获取会话的有效令牌
$access_token = Restado::authorize();
-
使用方法获取相关信息,例如
$me = Restado::me($access_token);
每个方法都返回一个包含从服务器数据的对象。目前 API 未官方文档化,我找到的唯一参考在此页面上:http://blog.scphillips.com/posts/2017/01/the-tado-api-v2/
5. 支持的方法
目前支持以下方法
授权
- authorize();
- me($access_token);
家庭和设备数据
- getHome($access_token);
- setHome($access_token, $settings);
- getHomeWeather($access_token);
- getHomeDevices($access_token);
- getHomeInstallations($access_token);
- getHomeUsers($access_token);
- setDazzle($access_token, $zone_id, $setting);
移动设备
- getHomeMobileDevices($access_token);
- deleteHomeMobileDevice(token, $mobile_device_id);
- getHomeMobileDeviceSettings($access_token, $mobile_device_id);
- setHomeMobileDeviceSettings($access_token, $mobile_device_id, $settings);
- identifyDevice($access_token, $device_id);
- getAppUsersRelativePositions($access_token);
家庭区域
- getHomeZones($access_token);
- getHomeZoneState($access_token, $zone_id);
- getHomeZoneStates($access_token, $home_id);
- getHomeZoneDayReport($access_token, $zone_id, $date);
- getHomeZoneCapabilities($access_token, $zone_id);
- getHomeZoneEarlyStart($access_token, $zone_id);
- setHomeZoneEarlyStart($access_token, $zone_id, $settings);
- getHomeZoneOverlay($access_token, $zone_id);
- setHomeZoneOverlay($access_token, $zone_id, $settings);
- deleteHomeZoneOverlay($access_token, $zone_id);
- getHomeZoneScheduleActiveTimetable($access_token, $zone_id);
- setHomeZoneScheduleActiveTimetable($access_token, $zone_id, $settings);
- getHomeZoneScheduleAway($access_token, $zone_id);
- setHomeZoneScheduleAway($access_token, $zone_id, $settings);
- getHomeZoneScheduleTimetableBlocks($access_token, $zone_id, $timetable_id, $pattern=null);
- setHomeZoneScheduleTimetableBlocks($access_token, $zone_id, $timetable_id, $pattern, $settings);
温度偏移
- getTemperatureOffset($access_token, $device_id);
- setTemperatureOffset($access_token, $device_id, $settings);
开窗检测
- setOpenWindowDetection($access_token, $zone_id, $settings);
存在检测
- isAnyoneAtHome($access_token);
- getPresenceLock($access_token);
- setPresenceLock($access_token, $settings);
能源 IQ 及节省报告
- deleteEnergyIQMeterReading($access_token, $reading_id);
- 添加能量电表读数(addEnergyIQMeterReading($access_token, $settings);)
- 更新能量电费率(updateEnergyIQTariff($access_token, $settings);)
- 获取能量电表读数(getEnergyIQMeterReadings($access_token);)
- 获取能量电费率(getEnergyIQTariff($access_token);)
- 获取能量信息(getEnergyIQ($access_token);)
- 获取能量节省报告(getEnergySavingsReport($access_token, $year, $month, $country_code);)
要通过getEnergySavingsReport请求能量节省报告,您需要传递一个符合ISO 3166-1 alpha-3的三字母国家代码。
6. 问题、疑问和Pull Requests
您可以在问题区域报告问题和提问。请以ISSUE:
开始您的报告,以QUESTION:
开始您的提问。
如果您有问题,请先查看已关闭的问题。
要提交Pull Request,请先fork此仓库,创建一个新的分支,并在其中提交您的新/更新代码。然后从您的新的分支打开Pull Request。有关更多信息,请参考此指南。