Skip to content

About

CLI aplikace pro správu a ovládání zařízení LEDVANCE SMART+WIFI přes protokol Tuya s hledáním IP podle MAC.

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

🏠 LEDVANCE SMART+WIFI Univerzální Manager

Univerzální Python aplikace pro správu a ovládání LEDVANCE SMART+WIFI zařízení pomocí Tuya protokolu s automatickým hledáním IP adres podle MAC adres.

✨ Klíčové funkce

  • 📱 Automatické načítání zařízení ze souboru devices.json
  • 🔍 Inteligentní hledání IP adres podle MAC adres pomocí ARP tabulky
  • 💾 Cache IP adres pro rychlé připojení při dalším spuštění
  • 🔄 Automatické přehledání IP adres při nedostupnosti zařízení
  • 📡 Network discovery pro aktualizaci ARP tabulky
  • ⚡ Real-time monitoring spotřeby energie
  • 🎛️ Interaktivní ovládání zařízení (zapnout/vypnout/přepnout)
  • 📊 Detailní statistiky všech DPS parametrů

🚀 Rychlý start

1. Klonování a nastavení prostředí

# Klonovat repozitář
git clone <repository-url>
cd LEDVANCE_projekt

# Vytvořit virtuální prostředí
python -m venv .venv

# Aktivace virtuálního prostředí (Windows)
.venv\Scripts\Activate.ps1

# Instalace závislostí
pip install -r requirements.txt

2. ⚠️ Konfigurace (DŮLEŽITÉ!)

Před prvním spuštěním musíte vytvořit konfigurační soubory:

# Zkopírujte šablony (Windows PowerShell)
Copy-Item tinytuya.json.example tinytuya.json
Copy-Item devices.json.example devices.json
# Nebo v Linux/Mac
cp tinytuya.json.example tinytuya.json
cp devices.json.example devices.json

Upravte tinytuya.json s vašimi Tuya API údaji:

Upravte devices.json s informacemi o vašich zařízeních:

  • Použijte python -m tinytuya wizard pro získání lokálních klíčů
  • Vyplňte ID, klíče a MAC adresy vašich zařízení

⚠️ BEZPEČNOST: Soubory tinytuya.json a devices.json obsahují citlivé údaje a jsou automaticky ignorovány Gitem. NIKDY je nenahrávejte na GitHub! Viz SECURITY.md pro více informací.

3. Spuštění aplikace

python main.py

📁 Struktura projektu

LEDVANCE_projekt/
├── 📄 main.py                    # Hlavní univerzální aplikace
├── 📄 devices.json.example       # Šablona pro databázi zařízení
├── 📄 tinytuya.json.example      # Šablona pro Tuya Cloud konfiguraci
├── 📄 requirements.txt           # Python závislosti
├── 📄 README.md                  # Tato dokumentace
├── 📄 SECURITY.md                # Bezpečnostní informace
├── 📄 LICENSE                    # MIT licence
├── 📄 .gitignore                 # Git ignore (chrání citlivé soubory)
└── 📂 .venv/                     # Virtuální Python prostředí

Citlivé soubory (IGNOROVÁNY Gitem):
├── 📄 devices.json               # Vaše zařízení (NEPUBLIKOVAT!)
├── 📄 tinytuya.json              # Vaše API klíče (NEPUBLIKOVAT!)
└── 📄 device_ips.json            # Cache IP adres (automaticky generovaný)

🎛️ Funkce aplikace

1. 📋 Seznam zařízení

  • Zobrazuje všechna zařízení z devices.json
  • Ukazuje ID, MAC adresy a cached IP adresy

2. 🔍 Hledání IP adres

  • ARP tabulka: Nejdříve hledá v systémové ARP tabulce
  • Network discovery: Ping sweep pro aktualizaci ARP
  • Full scan: Kompletní Tuya scan sítě jako poslední možnost
  • Automatické ukládání: Nalezené IP se ukládají do cache

3. 🔌 Připojení a ovládání

  • Automatické připojení k vybraným zařízením
  • Interaktivní menu pro ovládání:
    • 🟢 Zapnout / 🔴 Vypnout
    • 🔄 Přepnout stav
    • 📊 Zobrazit aktuální stav
    • ⚡ Detailní informace (všechny DPS)
    • 📈 30s monitoring spotřeby

4. 📡 Správa sítě

  • Obnovení ARP tabulky
  • Zobrazení IP cache
  • Vyčištění IP cache

🔧 Technické detaily

Podporovaná zařízení

  • LEDVANCE SMART+WIFI (všechny typy)
  • Tuya protokol verze 3.3
  • Obecné Tuya zařízení s DPS ovládáním

Komunikace

  • Lokální síť: Přímé připojení přes IP (rychlé, bez internetu)
  • ARP monitoring: Sledování MAC → IP mapování
  • Paralelní skenování: Až 100 současných připojení

Data Points (DPS)

  • DPS 1: Hlavní spínač (True/False)
  • DPS 18: Proud v mA
  • DPS 19: Výkon ve W
  • DPS 20: Napětí (hodnota/10 = skutečné V)
  • DPS 38: Textový stav ("on"/"off")

📊 Monitoring a statistiky

Real-time data

15:30:25 | 🟢 | 150W | 625mA | 240.6V
15:30:28 | 🟢 | 152W | 631mA | 240.5V
15:30:31 | 🔴 |   0W |   0mA | 240.6V

Automatické statistiky

  • 📈 Průměrný výkon
  • ⬆️ Maximální výkon
  • ⬇️ Minimální výkon

🛠️ Konfigurace

⚠️ Všechny příklady níže jsou pouze ilustrativní. Použijte dodané .example soubory jako šablony!

tinytuya.json struktura

{
  "apiKey": "your_api_key_here",
  "apiSecret": "your_api_secret_here",
  "apiRegion": "eu",
  "apiDeviceID": "scan"
}

Jak získat API klíče:

  1. Zaregistrujte se na Tuya IoT Platform
  2. Vytvořte Cloud Project
  3. Zkopírujte API Access ID (apiKey) a Access Secret (apiSecret)
  4. Vyberte správný region (eu, us, cn, in)

devices.json struktura

{
  "device_id_from_tuya": {
    "name": "Název zařízení",
    "id": "device_id_from_tuya", 
    "key": "local_key_from_tuya",
    "mac": "aa:bb:cc:dd:ee:ff",
    "product_name": "LEDVANCE WIFI PLUG"
  }
}

Jak získat informace o zařízeních:

# Použijte TinyTuya wizard
python -m tinytuya wizard

device_ips.json cache (automaticky generovaný)

{
  "device_id": "192.168.1.100"
}

🔍 Řešení problémů

Zařízení není nalezeno

  1. Zkontrolujte MAC adresu v devices.json
  2. Spusťte "Obnovit ARP tabulku"
  3. Použijte "Najít IP adresy" pro full scan

Připojení selhává

  1. Ověřte lokální klíč (key) v devices.json
  2. Zkontrolujte, zda je zařízení online
  3. Vyprázdněte IP cache a nechte znovu najít IP

Pomalé hledání

  • ARP tabulka: ~1s (nejrychlejší)
  • Network discovery: ~10s
  • Full scan: ~60s (nejpomalejší, ale nejspolehlivější)

📋 Požadavky

  • Python 3.7+
  • Windows (pro ARP tabulku)
  • tinytuya knihovna
  • Zařízení v stejné síti

🎯 Výhody oproti cloud řešení

  • ⚡ Okamžitá odezva (bez internet latence)
  • 🔒 Soukromí (vše lokálně)
  • 🌐 Nezávislost na internetu
  • 📡 Automatické IP hledání
  • 💾 Persistentní cache

Licence: MIT
Verze: 2.0 - Univerzální Manager
Poslední aktualizace: 28. října 2025

About

CLI aplikace pro správu a ovládání zařízení LEDVANCE SMART+WIFI přes protokol Tuya s hledáním IP podle MAC.

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages