robertogallea/restado

此软件包最新版本(1.2.1)没有提供许可证信息。

Tado REST API 客户端

1.2.1 2023-01-09 08:57 UTC

This package is auto-updated.

Last update: 2024-09-09 12:26:10 UTC


README

用于管理 Tado 系统的 PHP 和 Laravel 库

Latest Version on Packagist Software License Build Status Total Downloads

此软件包提供了一个简单接口,用于访问公共 Tado 调节器系统 API。它封装了用于用户身份验证和从本地设备检索信息的 Web 方法。

该软件包还集成在 Laravel 中。

由于 API 当前未官方文档化,如果您知道此库中缺少的方法,请告知我!

  1. 安装
  2. 更新
  3. 配置
  4. 用法
  5. 支持的方法
  6. 问题、问题和拉取请求

1. 安装

  1. 使用 composer 安装此软件包

    composer require robertogallea/restado
    
  2. 将服务提供者添加到 config/app.php 中的 providers

    Laravel 5.5 使用包自动发现,因此不需要您手动添加 ServiceProvider

    Robertogallea\Restado\RestadoServiceProvider::class,
  3. 将别名添加到 config/app.php 中的 aliases

    'Restado' => Robertogallea\Restado\Facades\Restado::class,    
  4. 将以下变量添加到您的 .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. 更新

  1. 要更新此软件包,请更新 composer 软件包

    composer update robertogallea/restado

3. 配置

  1. 要使用 Restado,无需进一步配置。但是,如果您想调整配置,请使用以下命令发布相关配置文件:
php artisan vendor:publish --provider="Robertogallea\Restado\RestadoServiceProvider" --tag=config

4. 用法

要使用此软件包,您应使用 Restado 门面方法。

  1. 获取会话的有效令牌

    $access_token = Restado::authorize();
  2. 使用方法获取相关信息,例如

    $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。有关更多信息,请参考此指南