Tuya: Integration von Heizung und Klimaanlage

Beschreibung

Ich möchte diese Geräte, die die Heizung über WLAN und den Tuya-Controller steuern, kontrollieren können. Diese Geräte funktionieren mit Home Assistant, werden aber noch nicht von Gladys unterstützt.

  • Konyks eCosy (Amazon-Referenz: Amazon.fr )
  • 海尔家用空调(全功能)(勿动,不要任何修改)(Haier-Haushaltsklimaanlage (Volle Funktionalität) (Nicht ändern oder modifizieren))

Die Klimaanlagen wurden von einem Fachmann installiert. Sie sind von der Marke Thermor. Die Thermor-App ist nicht mit Home-Assistant kompatibel. Aber die Tuya-Bridge erkennt die Splits als Haier-Originalmarke.

Der eCosy steuert den einzigen Heizkörper, der bei mir in Betrieb ist. Ich habe ihn gekauft, bevor ich Home-Assistant und Zigbee kannte.

Vielen Dank für Ihre Hilfe.

Hallo @Papashultz,

Ich brauche auch Tuya. Ich habe gerade 2 Airton-Klimaanlagen + 1 Thermostat mit Fernsteuerung installiert, die über Tuya läuft. Ich konnte das relativ einfach in HA einrichten, und zwar lokal (zumindest wird es so beworben, aber man muss sich trotzdem über die Cloud verbinden).

Ich denke, ich werde das bald anschauen, um die aktuelle Integration zu ändern und eine Verbindung herzustellen.

Jetzt kann ich mich verbinden:

Bekannte Fehler werden gemeldet:


Die Geräte werden direkt mit der local_key und der ID gemeldet:

Und für die implementierten Geräte werden auch:

Ich werde in der nächsten PR die Klimaanlagen und die Steuerleitungen hinzufügen.

Hallo,

Ich habe einen ersten Entwurf für die TUYA-Integration zur Aktualisierung der Tuya-Kontokonfiguration. Ich habe insbesondere die Feldnamen entsprechend der Website geändert. Ich habe das « Client Secret » wie bei Passwörtern versteckt. Und ich habe Informationen zur Verlängerung der Testzeiträume hinzugefügt (die maximal 3 Monate lang, aber völlig kostenlos und in der Regel innerhalb weniger Minuten nach der Anfrage verlängert werden können).
Dieses Update enthält auch die Grundlage für die lokale Kommunikation (kein Cloud mehr). Die Verwaltung der Schalter funktioniert lokal.
Der PR:

In einem zukünftigen PR werde ich die Geräte hinzufügen, wie zuvor besprochen.

PS:
@pierre-gilles, ich habe jedoch ein Problem mit der Protokollversion 3.5 von Tuya. Ich finde kein Node.js-Projekt für dieses Protokoll. Offensichtlich gibt es nur TinyTuya, das dies tut, und das ist in Python. Ich finde kein Projekt, das in dieser Hinsicht gepflegt wird (das Protokoll 3.5 ist nicht mehr ganz neu, mehr als 3 Jahre alt).

ChatGPT gibt mir zwei Möglichkeiten:

  • Wir entwickeln selbst eine Protokollverwaltung wie « TinyTuya » in Node.js, aber wir müssen sie danach pflegen
  • Neben Gladys die Python-Verwaltung für die Installation von TinyTuya integrieren… Ich glaube nicht, dass das dein Wunsch ist…

Hast du eine Lösung dafür?

Falls Besitzer von Tuya-Geräten hier vorbeikommen, wäre ich an Feedback zu einem Test-Image interessiert. Für diese Cloud-/Lokale-Verbindung sowie für zukünftige Ergänzungen.
Ein Image wird gerade gebaut: docker pull terdious/gladys:tuya-test:

docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
--network=host \
--name gladys-tuya-test \
-e NODE_ENV=production \
-e SERVER_PORT=81 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-tuya-test.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
terdious/gladys:tuya-test

Hallo,

Ich würde gerne testen, aber ich richte es über Portainer ein. Wenn Sie mir bestätigen, dass mein Stack in Ordnung ist, teste ich es, sobald ich Ihre Rückmeldung habe.

services:
  tuya-test:
    image: terdious/gladys:tuya-test
    container_name: tuya-test
    restart: always
    privileged: true
    network_mode: host
    environment:
      NODE_ENV: production
      SQLITE_FILE_PATH: /var/lib/gladysassistant/gladys-tuya-test.db
      SERVER_PORT: 81 #der Port von gladys ist 83 bei mir, muss ich ihn ändern?
      TZ: Europe/Paris
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/gladysassistant:/var/lib/gladysassistant
      - /dev:/dev

Hallo @Papashultz,

Dein Stack sieht gut aus und entspricht meiner Anforderung.

Nein, im Gegenteil, hier geht es darum, auf einer Session neben deiner Produktion zu testen. Du musst deine Produktion nicht unterbrechen. Überprüfe nur, dass der Port 81 nicht belegt ist, sonst nimm einen freien und zugänglichen ^^
Das Wichtigste ist dies: SQLITE_FILE_PATH: /var/lib/gladysassistant/gladys-tuya-test.db

Gehen Sie davon aus, dass ich ein „Grund“-Benutzer bin, kein Entwickler. Als solcher kommen mir als Tester folgende Punkte in den Sinn:

  • Ich habe etwas Mühe mit den Hilfestellungen der Tuya-Konfiguration, die sich direkt über den auszufüllenden Feldern befinden, und zwar auch mit der derzeitigen Produktionsversion. Es hat mich einige Mühe gekostet, die Lösung zu finden, indem ich mir dachte: „Ach ja, es gibt eine Dokumentation, wo war die noch gleich?“: Könnten Sie einen Link zur Tuya-Dokumentation hinzufügen, der in einem neuen Fenster geöffnet wird?

Hier zwischen:

Sie können Gladys verbinden […]

et

Sie benötigen […]

könnten Sie eine Zeile wie folgt hinzufügen:

Für mehr Bequemlichkeit können Sie ein neues Fenster mit unserem Tutorial öffnen, indem Sie hier [Link zu: https://gladysassistant.com/fr/docs/integrations/tuya/ ] klicken.

oder einen direkten Link einfügen, der zu folgender URL führt: Tuya Smart Developer Center

direkt in den Satz: „Sie müssen anschließend ein „Cloud Project“ in Ihrem Tuya-Konto erstellen.“ beim Begriff „Cloud Project“?

  • Ich bin hier gerade stecken geblieben

Ich weiß nicht, was ich in das Feld „App Username“ eintragen soll. Ist das der Project Code, den ich auf Tuya Smart Developer Center finde, oder ist das ein Name, den ich in meiner Smartphone-App finde?

  • Die IP-Geräte befinden sich derzeit im selben Netzwerk wie Gladys. Ich gehe daher davon aus, dass die Erkennung automatisch erfolgt.

Weitere Vorschläge, die nicht mit der aktuellen Aufgabe zusammenhängen: Bei Home-Assistant erfolgt die Tuya-Integration direkt über eine direkte Verbindung mit der App auf dem Smartphone über einen Link mit dem Benutzercode der App und anschließend über eine QR-Code-Rückgabe. Wäre es nicht einfacher, so vorzugehen? Vor allem, da dies bedeutet, dass eine Tuya-App auf dem Smartphone sowohl für die Gladys-Lösung als auch für die Home-Assistant-Lösung erforderlich ist.

Auf gut Glück:

Ich habe den „Projektcode“ in das letzte Feld eingegeben und den Kram gestartet. Es funktioniert!

Falls es nicht die richtige Antwort ist: Sagt mir Bescheid und sagt mir, wohin ich gehen soll.

Falls es die richtige Antwort ist, ändert den Namen des Feldes „App-Benutzername“ in „Projektcode“, damit es klarer ist.

Die angezeigte IP-Adresse ist die der Box-IP, aber nicht die des lokalen Netzwerks (192.168.1.0/24)

Egal, ob mit Gladys Production oder Gladys-Test, es ist nicht möglich, das Garagentor mit dem Schalter zu öffnen.

Die Anwendung funktioniert auch nicht auf Home Assistant.

Heute Morgen ist nur die Tuya-App meines Smartphones, die die Tuya-Geräte zum Laufen bringt. :face_with_steam_from_nose:

@Papashultz,

Entschuldige, ich werde mir Zeit nehmen, um vollständig auf deine Nachrichten zu antworten. Ich arbeite bereits mit deinem Feedback an den Änderungen.

Ich beantworte kurz deine letzte Frage:

Ja, das ist normal, weil er deine Geräte bisher nur über die Cloud erkannt hat.
Kannst du ihn in Gladys löschen und dann die IP-Adresse deiner Box durch die des Geräts in deinem lokalen Netzwerk ersetzen? Dann auf „Poll local des DP“ klicken
image
Falls er sich automatisch füllt, kannst du dann „Speichern“ und deinen Befehl erneut versuchen.

Falls nicht, werde ich das Nötige hinzufügen, um die erforderlichen Informationen zu erhalten.

Ich schaue seit einer Weile auf meiner Box, um die IP-Adressen der verbundenen Geräte zu finden, damit ich sie auf eine feste IP setzen kann.

Gibt es einen Trick, um sie zu finden?

Hast du eine Idee, wie ich sie unter den unbekannten Adressen finden könnte?

Der schnellste und einfachste Weg für diesen Test von jedem Rechner im gleichen Netzwerk:

  • Python-Installation:

Unter Windows:

winget install Python.Python.3.12
python --version
pip --version

unter Linux:

sudo apt update
sudo apt install python3 python3-pip
python3 --version
pip3 --version

unter macOS:

brew install python
python3 --version
pip3 --version
  • Installation von TinyTuya (wird von localTuya auf HA verwendet):

Windows (PowerShell)
python -m tinytuya scan

Linux / macOS
python3 -m tinytuya scan

Und du findest die IP-Adressen deiner Geräte normalerweise so lokal:

Die Installation von python3 ist gut verlaufen.

Nicht aber die von tinytuya. Ich bin direkt per SSH unter Debian.

GlaDOS ist nie besonders kooperativ. :joy:

Guten Appetit.

Du kannst das normalerweise so machen:

python3 -m pip install --user tinytuya
python3 -m tinytuya scan

Guten Appetit !!

Definitiv GlaDOS:

Entschuldigung, vielleicht können wir das in Gladys noch besser machen ^^
Lass mir 5/10 Minuten Zeit für ein Update des Bildes!!

Ich bin zuversichtlich!! ^^
Und ich habe bereits die meisten deiner vorherigen Anmerkungen berücksichtigt ^^

Ok, also ich habe das Bild aktualisiert. Das sollte nicht schlecht sein ^^

Also, was Portainer angeht, ich weiß nicht, wie man das Bild aktualisiert, aber ich mache das so:

docker pull terdious/gladys:tuya-test

docker stop gladys-tuya-test

docker rm gladys-tuya-test

docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
--network=host \
--name gladys-tuya-test \
-e NODE_ENV=production \
-e SERVER_PORT=81 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-tuya-test.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
terdious/gladys:tuya-test

Also @Papashultz, du hast jetzt alle Links, die du angefordert hast (glaube ich):

Der Link per QR-Code ist derzeit auf Gladys nicht möglich, oder zumindest habe ich bisher keine „einfach“ umsetzbare Lösung gefunden.

Ab jetzt findest du auf der Entdeckungsseite, wenn du auf den Button Scan Local klickst:

Du solltest deine Geräte mit ihrer IP-Adresse und ihrem Protokoll finden:

Achtung, es gibt noch keine Verwaltung des Protokolls 3.5 …

Windows ist nicht kooperativer als GlaDOS.

PS C:\WINDOWS\system32> python --version
Python 3.12.10
PS C:\WINDOWS\system32> pip --version
pip 25.0.1 from C:\Users\alain\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip (python 3.12)
PS C:\WINDOWS\system32> python -m tinytuya scan
C:\Users\alain\AppData\Local\Programs\Python\Python312\python.exe: No module named tinytuya
PS C:\WINDOWS\system32> python3 -m pip install --user tinytuya
Python ist nicht auffindbar; führen Sie es ohne Argumente aus, um es aus dem Microsoft Store zu installieren, oder deaktivieren Sie dieses Shortcut in Einstellungen > Apps > App-Einstellungen
PS C:\WINDOWS\system32>

Seite Portainer:

Man stellt sicher, dass alles in Ordnung ist, man kann die Versionsnummer in der Zeile image hinzufügen.

Es bleibt nur noch, Re-pull image and redeploy zu aktivieren und auf Update zu klicken