tenth / my-total-comfort
Interact with Honeywell Total Comfort Control thermostats and devices.
Requires
- php: >=5.6
- ext-json: *
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- php-coveralls/php-coveralls: ^2.2
- phpcompatibility/php-compatibility: *
- phpunit/phpunit: >=5.0
- skayo/phpdoc-md: ~0.2.0
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2024-11-05 18:11:25 UTC
README
This is a PHP library for working with Honeywell's Total Connect Comfort interface (TCC). It authenticates using user credentials and can provide data available through the web interface and more.
Compatible with PHP >=5.6
Install with Composer:
composer require tenth/my-total-comfort composer install --no-dev
(There are notable dev dependencies that you really should only install if you want to auto-generate documentation.)
Cloning and Documenting
Please clone and contribute, or report bugs should you find them.
This repository has a script (makedocs.php) intended to automatically generate and publish documentation changes based on doc blocks. You can find that documentation in the Wiki.
As far as the repository is concerned, the documentation directory is a submodule. To clone everything all in one shot, add the --recursive
switch to your clone command:
git clone --recursive https://github.com/TenthPres/MyTotalComfort.git
There's currently an issue when generating documentation in PHP 7.4 that makes the formatting very poor. Other versions seem to work fine, and the package itself also works fine in 7.4.
Disclaimers
The contributors to this project are not affiliated with Honeywell.
Examples
Log In
This Example is required before any of the other examples below will work.
require_once 'vendor/autoload.php'; $tcc = new \Tenth\MyTotalComfort("email@example.com", "password");
List Conditions
Current Temperature and Set Points for all Zones in a Location.
require_once 'vendor/autoload.php'; $tcc = new \Tenth\MyTotalComfort("email@example.com", "password"); $locationId = 1234567; echo "<table>"; echo "<tr> <td>id</td> <td>name</td> <td>heatSet</td> <td>dispTemp</td> <td>coolSet</td> </tr>"; foreach ($tcc->getZonesByLocation($locationId) as $zi => $zone) { echo "<tr> <td>{$zone->id}</td> <td><a href='https://www.mytotalconnectcomfort.com/portal/Device/Control/{$zone->id}'>{$zone->name}</a></td> <td>{$zone->heatSetpoint}</td> <td>{$zone->dispTemperature}</td> <td>{$zone->coolSetpoint}</td> </tr>"; } echo "</table>";
Change Set Points
require_once 'vendor/autoload.php'; $tcc = new \Tenth\MyTotalComfort("email@example.com", "password"); $zoneId = 1234567; $z = $tcc->getZone($zoneId); $z->heatSetpoint = 70; $z->coolSetpoint = 74;