Add NFC enable/disable support; update devices, Sonoff, and Tuya

This commit is contained in:
2026-04-13 21:35:17 +03:00
parent 86bfecca26
commit 5340f88ffe
15 changed files with 843 additions and 175 deletions

View File

@@ -11,6 +11,7 @@ URL structure:
POST /tuya/<board_id>/device/<device_id>/dp/<dp>/toggle toggle a DP
POST /tuya/<board_id>/device/<device_id>/rename rename a device
"""
import logging
from flask import (
Blueprint, abort, flash, jsonify, redirect,
render_template, request, url_for,
@@ -25,6 +26,8 @@ from app.drivers.tuya_cloud.driver import (
TUYA_CLIENT_ID, TUYA_SCHEMA, category_kind, KIND_ICON,
)
logger = logging.getLogger(__name__)
tuya_bp = Blueprint("tuya", __name__, url_prefix="/tuya")
@@ -101,7 +104,10 @@ def generate_qr(board_id: int):
response = lc.qr_code(TUYA_CLIENT_ID, TUYA_SCHEMA, user_code)
if not response.get("success"):
return jsonify({"ok": False, "error": response.get("msg", "QR generation failed")}), 400
err_msg = response.get("msg", "QR generation failed")
logger.error("Tuya qr_code() failed for board %s: %s | full response: %s",
board_id, err_msg, response)
return jsonify({"ok": False, "error": err_msg}), 400
qr_token = response["result"]["qrcode"]
# The URI that Smart Life / Tuya Smart app decodes from the QR: