Externe Integration - Tuya v1.11.0

Das kam mir bekannt vor… :innocent:

Du hattest mir angekündigt, dass mein Spender Folgendes anzeigen sollte:
Dein F14-W sollte dann Folgendes anzeigen:
• Ausgeben — eine Taste, die eine Portion gibt (verwendbar in einer Szene,
zum Beispiel jeden Tag um 8:00 Uhr)
• Letzte ausgegebene Menge
• Langsame Ausgabe
• Anzeige
• Batterie
Ich glaube, du hast meine Rückmeldung nicht gesehen.
Der Spender zeigt nicht alles an, was er sollte, nur die Ausgabetaste.

Für das, was du mich gefragt hast, habe ich das gefunden.

[2026-08-05T18:08:07.095Z] [INFO] [tuya] [Tuya][poll][local] device=bf15bc151aba2c

Hallo!

Ich habe ein Problem mit der Aktion ‹ Klingel klingelt ›.

Die Aktion wird angezeigt, wird erkannt, aber die Szene wird nicht ausgelöst…

Trotzdem hat es funktioniert!

Nichts Besonderes in den Logs. Ich habe das Gefühl, dass es eher auf der Core-Seite liegt…

[2026-09-03T16:26:54.376Z] [INFO] [tuya] [Tuya][push] device=bf8a5bf8acc4540a41rere lokaler Push veröffentlicht 1 Änderung(en)
[2026-09-03T16:26:54.414Z] [INFO] [tuya] [Tuya][push] device=bf8a5bf8acc4540a41rere lokaler Push veröffentlicht 1 Änderung(en)
[2026-09-03T16:26:54.520Z] [INFO] [tuya] [Tuya][push] device=bf8a5bf8acc4540a41rere lokaler Push veröffentlicht 1 Änderung(en)
[2026-09-03T16:26:54.718Z] [INFO] [tuya] [Tuya][push] device=bf8a5bf8acc4540a41rere lokaler Push veröffentlicht 1 Änderung(en)
[2026-09-03T16:26:55.913Z] [INFO] [tuya] [Tuya][media] doorbell_pic-Ereignis ausgelöst (device=ext:ext-terdious-gladys-tuya:device:bf0e59548489fcb4ea62of)
[2026-09-03T16:26:57.110Z] [INFO] [tuya] [Tuya][media] doorbell_pic-Snapshot veröffentlicht (device=ext:ext-terdious-gladys-tuya:device:bf0e59548489fcb4ea62of)

Bearbeitung:

2026-09-03T18:26:54+0200 <error> device.poll.js:30 (DeviceManager.poll) Es gab einen Fehler beim Abfragen des Geräts production-solaire-bf8a5bf8acc4540a41rere
2026-09-03T18:26:54+0200 <error> device.poll.js:31 (DeviceManager.poll) ExternalIntegrationUnavailableError: EXTERNAL_INTEGRATION_COMMAND_TIMEOUT
    at Timeout._onTimeout (/src/server/lib/external-integration/externalIntegration.sendCommand.js:32:14)
    at listOnTimeout (node:internal/timers:685:17)
    at processTimers (node:internal/timers:618:7)
2026-09-03T18:26:55+0200 <warn> scene.executeActions.js:47 (executeAction) ExternalIntegrationUnavailableError: Kein Tuya-Snapshot verfügbar (er aktualisiert sich bei einem Klingeln oder einer Bewegung)
    at ExternalIntegration.handleCommandResult (/src/server/lib/external-integration/externalIntegration.handleCommandResult.js:29:7)
    at WebSocket.<anonymous> (/src/server/api/websockets/index.js:161:45)
    at WebSocket.emit (node:events:514:28)
    at Receiver.receiverOnMessage (/src/server/node_modules/ws/lib/websocket.js:807:20)
    at Receiver.emit (node:events:514:28)
    at Receiver.dataMessage (/src/server/node_modules/ws/lib/receiver.js:448:14)
    at Receiver.getData (/src/server/node_modules/ws/lib/receiver.js:377:17)
    at Receiver.startLoop (/src/server/node_modules/ws/lib/receiver.js:158:22)
    at Receiver._write (/src/server/node_modules/ws/lib/receiver.js:94:10)
    at writeOrBuffer (node:internal/streams/writable:574:12)
    at _write (node:internal/streams/writable:503:10)
    at Receiver.Writable.write (node:internal/streams/writable:512:10)
    at Socket.socketOnData (/src/server/node_modules/ws/lib/websocket.js:882:35)
    at Socket.emit (node:events:514:28)
    at addChunk (node:internal/streams/readable:567:12)
    at readableAddChunkPushByteMode (node:internal/streams/readable:518:3)
    at Socket.Readable.push (node:internal/streams/readable:398:5)
    at TCP.onStreamRead (node:internal/stream_base_commons:189:23)
2026-09-03T18:26:55+0200 <warn> scene.executeActions.js:47 (executeAction) ExternalIntegrationUnavailableError: Kein Tuya-Snapshot verfügbar (er aktualisiert sich bei einem Klingeln oder einer Bewegung)
    at ExternalIntegration.handleCommandResult (/src/server/lib/external-integration/externalIntegration.handleCommandResult.js:29:7)
    at WebSocket.<anonymous> (/src/server/api/websockets/index.js:161:45)
    at WebSocket.emit (node:events:514:28)
    at Receiver.receiverOnMessage (/src/server/node_modules/ws/lib/websocket.js:807:20)
    at Receiver.emit (node:events:514:28)
    at Receiver.dataMessage (/src/server/node_modules/ws/lib/receiver.js:448:14)
    at Receiver.getData (/src/server/node_modules/ws/lib/receiver.js:377:17)
    at Receiver.startLoop (/src/server/node_modules/ws/lib/receiver.js:158:22)
    at Receiver._write (/src/server/node_modules/ws/lib/receiver.js:94:10)
    at writeOrBuffer (node:internal/streams/writable:574:12)
    at _write (node:internal/streams/writable:503:10)
    at Receiver.Writable.write (node:internal/streams/writable:512:10)
    at Socket.socketOnData (/src/server/node_modules/ws/lib/websocket.js:882:35)
    at Socket.emit (node:events:514:28)
    at addChunk (node:internal/streams/readable:567:12)
    at readableAddChunkPushByteMode (node:internal/streams/readable:518:3)
    at Socket.Readable.push (node:internal/streams/readable:398:5)
    at TCP.onStreamRead (node:internal/stream_base_commons:189:23)
2026-09-03T18:26:55+0200 <warn> scene.executeActions.js:47 (executeAction) ExternalIntegrationUnavailableError: Kein Tuya-Snapshot verfügbar (er aktualisiert sich bei einem Klingeln oder einer Bewegung)
    at ExternalIntegration.handleCommandResult (/src/server/lib/external-integration/externalIntegration.handleCommandResult.js:29:7)
    at WebSocket.<anonymous> (/src/server/api/websockets/index.js:161:45)
    at WebSocket.emit (node:events:514:28)
    at Receiver.receiverOnMessage (/src/server/node_modules/ws/lib/websocket.js:807:20)
    at Receiver.emit (node:events:514:28)
    at Receiver.dataMessage (/src/server/node_modules/ws/lib/receiver.js:448:14)
    at Receiver.getData (/src/server/node_modules/ws/lib/receiver.js:377:17)
    at Receiver.startLoop (/src/server/node_modules/ws/lib/receiver.js:158:22)
    at Receiver._write (/src/server/node_modules/ws/lib/receiver.js:94:10)
    at writeOrBuffer (node:internal/streams/writable:574:12)
    at _write (node:internal/streams/writable:503:10)
    at Receiver.Writable.write (node:internal/streams/writable:512:10)
    at Socket.socketOnData (/src/server/node_modules/ws/lib/websocket.js:882:35)
    at Socket.emit (node:events:514:28)
    at addChunk (node:internal/streams/readable:567:12)
    at readableAddChunkPushByteMode (node:internal/streams/readable:518:3)
    at Socket.Readable.push (node:internal/streams/readable:398:5)
    at TCP.onStreamRead (node:internal/stream_base_commons:189:23)

Also ja, in den Logs steht, dass ich dreimal den Snapshot sende und dass er nicht existiert… Oder noch nicht?

Bearbeitung 2: Ich bin ein Idiot… Ich habe die externe Telegram-Integration konfiguriert und das wurde in der Szene nicht geändert, die also die Nachricht über einen nicht existierenden Weg/Stimme sendete…

Hallo @elfedagger, entschuldige für die Verzögerung.
Tatsächlich habe ich deine vorherige Rückmeldung nicht gesehen.

Dein Gerät stellt wahrscheinlich nicht dieselben Tuya-Codes bereit wie das Modell, auf dem ich basiert habe. Ich hatte gehofft, dass es besser funktioniert, entschuldige.

Die Version 1.13.1 ist heute Morgen erschienen (aktualisiere sie in etwa einer Stunde aus dem Store), aber sie wird keine zusätzlichen Funktionen hinzufügen. Damit ich die Zuordnung für dein Modell korrigieren kann, benötige ich zwei Logzeilen der Integration, nach einem Update und einem Scan in „Entdeckung“:
Die Zeile, die mit [Tuya][discovery] « F14-W » beginnt (sie zeigt features=1 und die Liste UNMANAGED=[…] der Codes, die ich noch nicht verarbeite);
Die vollständige Zeile [Tuya][poll][local] device=… DPS snapshot: … (die du gesendet hast, ist nach der ID abgeschnitten).

Sende sie ohne den lokalen Schlüssel oder deine IP, falls sie daneben stehen. Damit versuche ich, eine korrigierte Version so schnell wie möglich zu veröffentlichen.

Hallo @GBoulvin,

Oh Mist!! Entschuldige, also bin ich von dem Chaos überrascht, Claude versucht etwas, aber ich bin mir nicht sicher, ob das hilft… ich leite seine Nachricht weiter :sweat_smile:

Danke für die Logs, sie sagen alles, und nein, es liegt nicht am Core.
Die Szene wird tatsächlich ausgelöst (dein Screenshot « Klingel: vor einigen Sekunden » bestätigt das). Was schiefgeht, sind deine drei Aktionen « Bild senden »: Die Integration zog die Klingel, bevor das Herunterladen des Fotos fertig war (1,2 Sekunden Unterschied in deinen Logs). Die Szene forderte also das Bild zu früh an. Früher hast du tatsächlich das Foto der vorherigen Klingelung ohne es zu sehen erhalten; das Update von heute Morgen hat den Container neu gestartet, den Cache geleert, und der Fehler wurde sichtbar.
Korrigiert in der Version 1.13.2 (verfügbar im Store in etwa einer Stunde): Das Foto wird zuerst veröffentlicht, die Klingel danach, und eine Bildanfrage während des Herunterladens wartet stattdessen, anstatt zu scheitern. Nach dem Update drücke die Klingel einmal, um zu starten, dann sollte die Szene das richtige Foto des Besuchers senden.

Ich habe das hier erhalten.

[2026-09-03T22:31:25.479Z] [INFO] [tuya] [Tuya][discovery] "F14-W" id=************** type=pet-feeder product_id=*************** category=cwwsq features=1 UNMANAGED=[meal_plan_num, battery_val, meal_plan2, feed_record, vip_alarm, battery_alarm]
[2026-09-03T22:31:25.480Z] [WARN] [tuya] Tuya-Funktion mit dem Code "basic_indicator" wird nicht verwaltet
[2026-09-03T22:31:25.481Z] [WARN] [tuya] Tuya-Funktion mit dem Code "motion_record" wird nicht verwaltet
[2026-09-03T22:31:25.481Z] [WARN] [tuya] Tuya-Funktion mit dem Code "motion_interval" wird nicht verwaltet
[2026-09-03T22:31:25.481Z] [WARN] [tuya] Tuya-Funktion mit dem Code "record_switch1" wird nicht verwaltet
[2026-09-03T22:31:25.482Z] [WARN] [tuya] Tuya-Funktion mit dem Code "decibel_upload" wird nicht verwaltet
[2026-09-03T22:31:25.482Z] [WARN] [tuya] Tuya-Funktion mit dem Code "ipc_mute_record" wird nicht verwaltet
[2026-09-03T22:31:25.482Z] [WARN] [tuya] Tuya-Funktion mit dem Code "ipc_detection_area" wird nicht verwaltet
[2026-09-03T22:31:25.482Z] [WARN] [tuya] Tuya-Funktion mit dem Code "multi_motion_area" wird nicht verwaltet
[2026-09-03T22:31:21.250Z] [INFO] [tuya] [Tuya][poll][local] device=************** DPS-Snapshot: 4="standby" (UNMAPPED) | 106=2957 (UNMAPPED) | 108="7f0800317f143021" (UNMAPPED) | 112="{"value":2,"type":2}" (UNMAPPED) | 113=0 (UNMAPPED) | 114=0 (UNMAPPED)

Danke, genau das war es. Dein Spender ist eine Variante: Er stellt nicht die Standardcodes bereit, auf denen ich die Unterstützung aufgebaut habe (feed_report, slow_feed, battery_percentage…), sondern andere (feed_record, battery_val, battery_alarm…). Nur der Spenderknopf ist gemeinsam, daher nur eine Funktionalität.

Ich möchte nicht blind abbilden (eine Batterie mit „2957 %“ anzuzeigen, würde dir nicht helfen). Ich habe gerade die 1.13.3 veröffentlicht, die die letzte fehlende Information hinzufügt: Aktualisiere in den nächsten Stunden über den Store, warte eine Minute und sende mir dann die Zeile im Privatchat, die [Tuya][poll][cloud] und status snapshot für deinen Spender enthält (sie erscheint nur einmal, beim ersten Abruf nach dem Neustart). Damit kann ich die Unterstützung für dein Modell direkt nachschieben: Letzte Mahlzeit, Batterie, Alarme.

Die Zeilen basic_indicator / motion_record, die du kopiert hast, stammen von einer Kamera, nicht vom Spender, du kannst sie ignorieren.