PHPackages                             dam2k/tadoapi - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. dam2k/tadoapi

ActiveLibrary

dam2k/tadoapi
=============

TadoApi is an unofficial TADO (tm) SDK implementation for PHP

1.1.6(1y ago)025MITPHP

Since Mar 9Pushed 1y ago2 watchersCompare

[ Source](https://github.com/dam2k/tadoapi)[ Packagist](https://packagist.org/packages/dam2k/tadoapi)[ RSS](/packages/dam2k-tadoapi/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

tadoapi
=======

[](#tadoapi)

TadoApi is an unofficial TADO (tm) SDK implementation for PHP. I implemented this as a metrics exporter, but you could change your thermostat or AC temperature, for example, writing your overlay and setting data with setZoneOverlay() method:

```
$tado->setZoneOverlay("", "8", '{"type":"MANUAL","setting":{"type":"AIR_CONDITIONING","power":"ON","mode":"COOL","temperature":{"celsius":25},"fanLevel":"LEVEL2","verticalSwing":"OFF"}}');

```

It's working for me, may be this is also ok for you. Like any other open source software, the author cannot assume any warranty.

Installation
============

[](#installation)

```
composer require dam2k/tadoapi

```

Public Methods
==============

[](#public-methods)

The implemented and exported public methods are given below. They are self explicative.

For me getHomeMetrics() is the most useful, because it aggregates some of the informations useful if you need a metric exporter. It will fetch all your zones details and states along with all your devices:

Temperatures, humidity, battery, firmware versions, serial numbers, models, etc in a single json.

```
public function getMe(): \stdClass
public function getHome(string $homeId = ""): \stdClass
public function getWeather(string $homeId = ""): \stdClass
public function getDevices(string $homeId = ""): array
public function getInstallations(string $homeId = ""): array
public function getUsers(string $homeId = ""): array
public function getMobiles(string $homeId = ""): array
public function getMobileSettings(string $homeId = "", string $deviceId): \stdClass
public function getZones(string $homeId = ""): array
public function getZoneStates(string $homeId = ""): \stdClass
public function getZoneState(string $homeId = "", string $zoneId): \stdClass
public function getZoneCapabilities(string $homeId = "", string $zoneId): \stdClass
public function getZoneEarlyStart(string $homeId = "", string $zoneId): \stdClass
public function getZoneOverlay(string $homeId = "", string $zoneId): \stdClass
public function getZoneScheduleActiveTimetable(string $homeId = "", string $zoneId): \stdClass
public function getZoneScheduleAway(string $homeId = "", string $zoneId): \stdClass
public function identifyDevice(string $homeId = "", string $deviceId): \stdClass
public function getTemperatureOffset(string $homeId = "", string $deviceId): \stdClass
public function getHomeState(string $homeId = ""): \stdClass
public function isAnyoneAtHome(string $homeId = ""): bool
public function getHomeMetrics(string $homeId = ""): \stdClass
public function setZoneOverlay(string $homeId = "", string $zoneId, string $data): \stdClass

```

Example of usage
================

[](#example-of-usage)

```
use dAm2K\TadoApi;
require "vendor/autoload.php";

$tadoconf = [
	// this is the uuid they require: https://support.tado.com/en/articles/8565472-how-do-i-authenticate-to-access-the-rest-api
	'tado.clientId' => '1bb50063-6b0c-4d11-bd99-387f4a91cc46',
	'tado.homeid' => '36389', // your home's ID.
	'statefile' => '/tmp/dam2ktado_aeSh8aem.txt' // we put device code, access and refresh tokens here. On expiration, new tokens are saved here
];

$tado = new TadoApi($tadoconf);

$o = $tado->getHomeMetrics();
print_r(json_encode($o));

```

No official support
===================

[](#no-official-support)

TADO (tm) does not support its public api in no way. I get the api methods from a tado knowledgebase public post. Also, thank to this post:  and

Device code grant flow
======================

[](#device-code-grant-flow)

NOTE: TADO requested all its unofficial REST API users to change the authentication method for security reasons. This library implements the new device code grant flow with automatic refresh token and access token handling. By design of how the auth scheme works, the first time, you need to authenticate with your tado credentials using your browser. At this time this API will put the required url on STDERR, I'll work on a log implementation on my spare time.

For more informations, please check their official post:

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance44

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

435d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/bf8175121c6000812daff3ef1a8a0dec12086ef24e62343b3bc6eee834fbaefe?d=identicon)[dam2k](/maintainers/dam2k)

---

Top Contributors

[![dam2k](https://avatars.githubusercontent.com/u/1271237?v=4)](https://github.com/dam2k "dam2k (24 commits)")

### Embed Badge

![Health badge](/badges/dam2k-tadoapi/health.svg)

```
[![Health](https://phpackages.com/badges/dam2k-tadoapi/health.svg)](https://phpackages.com/packages/dam2k-tadoapi)
```

###  Alternatives

[neuron-core/neuron-ai

The PHP Agentic Framework.

1.8k245.3k21](/packages/neuron-core-neuron-ai)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
