External integration to control TINECO vacuum cleaners like the S7 Strech
The integration exists on HA - GitHub - wheeller123/Tineco-Integration: Home Assistant custom integration for Tineco vacuum cleaners · GitHub
Data Structure (Decoded Payload)
The vacuum cleaner’s status return contains a JSON object with abbreviated keys:
wm (Working Mode) :
1 = Standby
2 = Charging
3 = In Operation
8 = Self-cleaning
9 = OTA Update
13 = Drying / Flashdry
e2 / e3 (Water tank alert bitmasks) :
- Dirty water tank full: checked by
e2 & 256 (or e3 & 4096).
- Clean water tank empty: checked by
e2 & 64 (or e3 & 8192).
battery : Remaining battery percentage.
vs : Online status.
ms / vl : Silent mode (ms: 0 or 1) and volume level (vl: 1 low, 2 medium, 3 high).
- Additional controls : Suction power (120W, 150W), spray flow, brush lighting.
You guys are machines… 
Now every evening you need to plan 1 hour to go through the integration list and see the new features
Voilà, it’s ready. On the store within the hour or, if you’re in a hurry, manually: Build and publish image · gboulvin/Gladys-Tineco@ad8eee7 · GitHub
And the little message that goes with it:
The integration connects your Tineco account devices (Floor One S3, S5, S7, S7 Flashdry, S7 Stretch, iFloor… everything shown in the Tineco app) to Gladys via the Tineco cloud, just like the official app.
What it reports
- Status (standard Gladys vacuum) and detailed activity: cleaning, self-cleaning, drying, charging, updating, idle, offline
- Battery and charging in progress
- Clean water tank (empty) and dirty water tank (full)
- Voice volume, voice announcements, and brush lighting (on equipped models), controllable from Gladys
- Cloud / unreachable badge when the device is off or not on Wi-Fi
Scenes
- Triggers: cleaning started, cleaning finished (with duration), self-cleaning finished (the ideal time to be notified to empty the dirty water bin
), tank alert
- Actions: read a device (outputs usable as conditions: battery, activity, tanks…), adjust volume, turn off voice announcements, turn on/off the brush light
Dashboard widgets
- Tineco device: battery gauge, activity, tanks, 24-hour battery history, and “Refresh” button
- Tineco overview: one line per device, in orange if a tank requires your attention
Installation
- Install the Tineco integration from the integrations catalog.
- Enter the email, password, and country of your Tineco account.
- On first connection, Tineco sends you a verification code by email: enter it in “Verification Code” and save (only once).
- Create your devices from the Discovery tab.
The integration is available in French, English, German, and Spanish.
To know
Tineco does not publish an API: the integration relies on the app protocol, documented by the community (thanks to the author of Tineco-HACS-Integration and the payload decoding shared on this forum). Not all models report all values: your feedback (model + what works / doesn’t work) is welcome to improve it!
Happy cleaning! 
I installed it and linked it to my account and entered the verification code.
When I test the connection, I get a message saying that the connection is OK but that it cannot find any device linked to this account. However, in the TINECO app on my phone, I can access my S7 cordless vacuum cleaner.
Could you give me a log? In the integration → Logs
[2026-10-16T20:07:46.731Z] [INFO] Starting the Tineco integration...
[2026-10-16T20:07:46.962Z] [INFO] [gladys-sdk] connected to Gladys (http://172.30.0.1:80)
[2026-10-16T20:07:47.015Z] [ERROR] [tineco] Tineco: Tineco e-mail or password missing
[2026-10-16T20:09:46.311Z] [INFO] [tineco-session] Tineco verification code sent by e-mail
[2026-10-16T20:09:46.311Z] [INFO] [tineco] Waiting for the Tineco verification code
[2026-10-16T20:10:24.835Z] [INFO] [tineco-session] Tineco app device verified
[2026-10-16T20:10:25.988Z] [INFO] [tineco-session] Tineco session open, 0 appliance(s)
[2026-10-16T20:10:28.482Z] [INFO] [tineco-session] Tineco session open, 0 appliance(s)
[2026-10-16T20:11:05.105Z] [INFO] [tineco-session] Tineco session open, 0 appliance(s)
[2026-10-16T20:11:24.663Z] [INFO] [tineco-session] Tineco session open, 0 appliance(s)
[2026-10-16T20:13:14.770Z] [INFO] [tineco-session] Tineco session open, 0 appliance(s)
Thanks for the feedback and the log! The connection works: it’s the list of devices returned by Tineco that is empty. Could you:
- update the integration to v1.0.2. If you installed it manually, you need to delete the previous one;
- check that the Account Country is indeed the one from the Tineco app (Profile > Settings), then save and click on Test the connection;
- if no device still appears, copy the log line that contains « Answer shape »: it contains no personal data and will tell me where Tineco stores your devices.
I checked on the app and my account is set to « France »
[2026-10-16T20:29:39.539Z] [INFO] [tineco-session] Tineco session open, 0 appliance(s)
[2026-10-16T20:29:39.539Z] [WARN] [tineco-session] No appliance in the device list of the FR servers. Check the account country. Answer shape: { code: "0000", msg: "操作成功", time: number, data: [], success: boolean }
Good news!
We found the cause: the integration requested the list of devices with the wrong user ID, so Tineco responded with an empty list.
This is fixed in v1.0.3. Can you update the integration, click on Test Connection, then open the Discovery tab? Your S7 should appear. If not, please send me the new « Answer shape » line from the log.
Sorry for the back and forth 
Cool!
Just be aware that if you installed it « manually » in developer mode, no updates to the integration will be proposed in the future. I recommend using the store for production purposes 
I would reinstall it as soon as it appears on the integrations page.