Telldus Smart-Home-Integration, kostenlos und Open Source

TellStick and Telldus Live: 433 MHz plugs, lights and sensors.
Die Dokumentation dieser Integration wird von ihrem Autor geschrieben und ist bisher nur auf Englisch verfügbar.
Brings the 433 MHz devices and sensors of your TellStick into Gladys: on/off plugs and receivers (Nexa, Proove, Chacon...), dimmers, and the temperature and humidity sensors the TellStick hears. Through Telldus Live (the cloud, with API keys of your own) or the local API of a TellStick ZNet or Net v2. Unofficial integration, not affiliated with Telldus. It was never tested with a real device: please report what works and what does not.
Connection
Telldus Live: sign in on https://api.telldus.com/keys, generate a
private token, and copy the four values (public key, private key, token,
token secret) into the configuration. Every request is signed (OAuth 1) with
them; they are kept by Gladys in its database, never shown again, sent only
to Telldus Live, never written in the logs, the status or /data. Telldus
Live is read every 60 s at the most often.
Local API (TellStick ZNet / Net v2): pick "Local API", enter the address
of the TellStick (an address of your network: never a broadcast, multicast,
0.0.0.0 or loopback address), save, click Request local access, open
the address shown in a browser of your network, accept "Gladys Assistant",
then click Finish local access: the token is saved in the configuration
of Gladys (never in /data). When the TellStick allows it, the token is
renewed a week before it expires. The local API is plain HTTP: use it on a
trusted network only. It can be read every 10 s.
Device ids are not the same in Telldus Live and in the local API: switching mode gives new devices in Gladys.
Devices and sensors
Discovery offers the devices of the last list read (no extra request):
- an on/off receiver: a switch once declared safe;
- a dimmer: a light (on/off and brightness 0-100 %) once declared safe;
- a sensor: temperature (°C; Fahrenheit converted) and humidity (%).
Groups, bells, shutters, thermostats and the other sensor values (rain, wind, UV, power) are not handled in this version.
433 MHz receivers answer nothing. The state shown is the last command Telldus sent (from Gladys, the Telldus app, a schedule, or a remote the TellStick heard): an assumed state, never confirmed. A command answered by Telldus is "sent", not "done".
A sensor value is published when it is newer than the last one published
(source date kept in /data) and less than 2 hours old against the date of
the answer of Telldus; a value with no date, in the future, empty or text
is never published (never as 0).
Devices declared safe
A plug may feed a heater, a pump or a garage door, and a "turn everything
off/on" of a voice assistant or a scene reaches every switch and light. So a
device is shown read only (unknown type) until you list its Telldus id in
Devices declared safe (for example 1234567, 1234568). The Test the
connection button lists the ids. The ids are those of the current
connection mode: Telldus Live and the local API number devices differently. After changing the list, scan and update
the device in the Discovery tab. A feature created before the list changed
is kept; turning on through it is then refused.
Turning on, or a brightness above 0, is refused (nothing sent) when: /data
is not read yet; the configuration is not read or not usable; the device
belongs to the other connection mode; it is not declared safe (checked again
just before the send); Telldus refused the credentials; a pause after a 429
is in progress; the device is not in the last list or that list is more than
15 minutes old; the device does not take that command; a turn off of the same
device came after the click. Without an answer from Telldus within 3 s, a
command that left is "sent, without confirmation".
Turning off
Turning off (or a brightness of 0) does not wait for the safe list, a pause,
the device list, a read in progress (it is cut) or /data. It is sent at
once, sent again after 3 s and 10 s (a 433 MHz receiver may miss one
transmission), and a send that fails is tried again every 10 s, 6 tries and
2 minutes at most (then the status names the device). A turn on of the same
device accepted by Telldus, or a read that left at least 3 s after the last
send and shows the device on again (the Telldus app or a remote), stops the
resends; a resend due while a newer turn on is on its way waits for its
answer. A send Telldus answers with an error (401/403, 4xx, error, 429) is
"refused by Telldus" and tried again in 10 s; a 429 also pauses the reads.
The 2 minutes are counted on a monotonic clock (a clock change of the
system never drops a stop). Pending stops are kept in
/data and go on after a restart (never older than 2 minutes).
Turning off is not sent only when: the configuration is not read or not usable yet (it is kept and leaves as soon as it is, within its 2 minutes); the device belongs to the other connection mode; Telldus refused these very credentials since the integration started (a mark kept from before a restart does not hold a stop).
Errors and limits
- 401/403 on the device list: the credentials are refused. Nothing is
sent with them again on its own (the refusal and a 6-bit mark, salted,
are kept in
/data); new credentials, a new local access or a success of the Test the connection button lift it. After a restart, new credentials entered while the integration was stopped share the mark of the refused ones once in 64: reads then wait, but the test button always tries and its success clears the mark, and turning off is still sent. A 401/403 on the sensors only, or on a command, is not a refusal: the sensors are then read less often (up to once an hour). - 429 or 5xx on a read: reads paused (1 minute, doubled at each one in a
row, up to 6 hours, longer if Telldus asks with Retry-After), kept in
/data. A 5xx on a command of one device never holds the others. - Answers are bounded (512 KB, 10 s). The Test the connection button never reads sooner than 60 s (Live) or 10 s (local) after the last read; a restart never reads before the interval after the last read.
/dataunreadable: reads wait for it (read again every 10 s), nothing is overwritten; turning off still leaves.
Konfigurationseinstellungen
Diese Einstellungen fragt Telldus in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| Getting started | section | Nein | Reads the 433 MHz devices and the temperature and humidity sensors of your TellStick, through Telldus Live (cloud, your own API keys) or the local API of a TellStick ZNet / Net v2. 433 MHz receivers answer nothing: their state is assumed. A device is commanded only once you declare it safe. Unofficial, not affiliated with Telldus; never tested with a real device. |
| Connection | select | Nein | |
| Telldus Live | section | Nein | Sign in on api.telldus.com/keys and generate a private token: it gives the four values below (public key, private key, token, token secret). |
| Public key | secret | Nein | Kept by Gladys in its database, never shown again, sent only to Telldus Live. |
| Private key | secret | Nein | Kept by Gladys in its database, never shown again, sent only to Telldus Live. |
| Token | secret | Nein | Kept by Gladys in its database, never shown again, sent only to Telldus Live. |
| Token secret | secret | Nein | Kept by Gladys in its database, never shown again, sent only to Telldus Live. |
| Local API | section | Nein | Enter the address of the TellStick, save, click "Request local access", accept in the browser, then click "Finish local access": the token is saved here. Use it on a trusted network only (the local API is plain HTTP). |
| TellStick address | string | Nein | |
| Local token | secret | Nein | Kept by Gladys in its database, never shown again, sent only to your TellStick. |
| Devices | section | Nein | A plug may feed a heater or a pump, and "turn everything off/on" reaches every switch and light: a device is commanded only once its Telldus id is listed here (the "Test the connection" button lists the ids of the current connection mode: Live and local ids differ). Turning off does not need the list. Then scan and update the device in the Discovery tab. |
| Devices declared safe (Telldus ids) | string | Nein | |
| Read interval (s) | number | Nein | How often Telldus is read: 60 s at least for Telldus Live, 10 s for the local API. |
So installierst du Telldus in Gladys
- Öffne in Gladys Integrationen: Telldus erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/lm1lc3n7/gladys-telldus:0.1.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/LM1LC3N7/gladys-telldus.
Telldus benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.
Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.
Über externe Integrationen
Telldus ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von LM1LC3N7 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.
- Alle Integrationen durchsuchen, native und aus der Community
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation