Skip to content

grillead/ha-tuya-mqtt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Sonnette Tuya + Gâche via MQTT

Ce projet permet de connecter une sonnette Tuya à Home Assistant via MQTT et de piloter une gâche électrique (ou tout autre DP Tuya) depuis HA.

Le script Python :

  • surveille un DP Tuya pour détecter les événements (ex. bouton, PIR) et publie ON/OFF sur un topic MQTT,
  • écoute un topic MQTT pour recevoir des commandes (UNLOCK, LOCK) depuis Home Assistant et actionner un DP pour la gâche.

1️⃣ Docker

Dockerfile minimaliste

FROM python:3.9-slim

WORKDIR /app
COPY doorbell.py /app/doorbell.py
RUN apt-get update && \
    apt-get install -y mosquitto-clients && \
    rm -rf /var/lib/apt/lists/*

# --- Copier les fichiers de l'application ---
COPY requirements.txt /app/
COPY doorbell.py /app/

# --- Installer les dépendances Python ---
RUN pip install --no-cache-dir -r requirements.txt

# --- Commande par défaut ---
CMD ["python3", "doorbell.py"]

docker-compose.yml

version: "3.9"
services:
  ha-tuya-mqtt:
    container_name: ha-tuya-mqtt
    image: python:3.9-slim
    working_dir: /app
    #volumes:
    #  - /mnt/docker/ha-tuya-mqtt:/app #External storage if needed
    command: sh -c "apt update && apt install mosquitto-clients -y && pip install --no-cache-dir -r requirements.txt && python3 doorbell.py"
    restart: unless-stopped
    environment:
      # --- Config Tuya ---
      DEVICE_ID: "ID_TUYADOORBELL"
      DEVICE_IP: "@IP_DEVICE"
      LOCAL_KEY: "GET_FROM_TUYA_IOT"
      DEVICE_VERSION: "3.3" # En fonction de la version du device

      # --- Config MQTT ---
      MQTT_BROKER: "@IP_MQTT"
      MQTT_PORT: "1883" 
      MQTT_TOPIC: "sonnette"            
      MQTT_COMMAND_TOPIC: "sonnette/commande"

      # --- DP Tuya ---
      DP_EVENT: "185"   # DP surveillé pour déclencher l’événement lors de l\'appuie sur la sonnette
      DP_GACHE: "148"   # DP qui commande la gâche

Le conteneur va :

se connecter à l’appareil Tuya,

surveiller DP_EVENT et publier ON/OFF sur MQTT_TOPIC,

écouter MQTT_COMMAND_TOPIC pour activer/désactiver DP_GACHE.

2️⃣ Variables d’environnement

Variable	          Description	
DEVICE_ID	          ID Tuya de l’appareil	
DEVICE_IP	          IP locale	
LOCAL_KEY	          Clé locale Tuya	
DEVICE_VERSION        Version Tuya	3.3
MQTT_BROKER	          Adresse du broker MQTT	
MQTT_PORT	          Port du broker MQTT	1883
MQTT_TOPIC	          Topic des événements (ON/OFF)	sonnette
MQTT_COMMAND_TOPIC    Topic des commandes depuis HA	sonnette/commande
DP_EVENT	          DP surveillé pour détecter l’événement	185
DP_GACHE	          DP pour actionner la gâche	101

3️⃣ Home Assistant

Sensor MQTT

mqtt:
- binary_sensor:
    device:
      name: Sonnette
    name: Bouton
    payload_off: 'OFF'
    payload_on: 'ON'
    state_topic: sonnette

Lock MQTT

mqtt:
- lock:
    command_topic: sonnette/commande
    device:
      name: Sonnette
    name: Gache
    payload_off: LOCK
    payload_on: UNLOCK
    state_topic: sonnette/commande

4️⃣ Fonctionnement

Appui sur le bouton / événement DP → publication ON puis OFF sur MQTT_TOPIC.

Home Assistant peut afficher cet événement ou l’utiliser dans des automatisations.

Commande depuis Home Assistant (UNLOCK/DEVERROUILLER) → action DP Tuya pour déverrouiller la gâche

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages