Coder Social home page Coder Social logo

yeelight's Introduction

SDK Version License
Version Check Style Run Tests
SpendenWunschliste

Symcon-Modul: Yeelight

Einbinden von Yeelight Geräten in IPS.

Dokumentation

Inhaltsverzeichnis

1. Funktionsumfang

  • Auflisten alle im Netzwerk vorhandenen Yeelight Geräte.
  • Erstellen von neuen Yeelight Device-Instanzen in IPS.
  • Funktioniert nicht in einem Docker Container welcher per NAT angebunden ist
  • Empfangen und visualisieren der aktuellen Zustände in IPS.
  • Steuerung per WebFront und per PHP-Funktionen.
  • Benötigt bei NAT eine Portweiterleitung von Port 1983 UDP ankommend

2. Voraussetzungen

  • IPS 6.1 oder höher
  • Yeelight Gerät ( '3th party local control' muss aktiviert werden, siehe hier

3. Software-Installation

Über den 'Module-Store' in IPS das Modul 'Yeelight' hinzufügen.
Bei kommerzieller Nutzung (z.B. als Errichter oder Integrator) wenden Sie sich bitte an den Autor.
Module-Store

4. Einrichten der Instanzen in IP-Symcon

Die Discovery Instanz wird nach der Installation aus dem Store automatisch angelegt(* siehe Hinweise) und ermöglicht das einfache einbinden aller Geräte in IPS.

Eine manuelle Einrichtung der Geräte ist in der Yeelight Geräte Instanz beschrieben.

5. Anhang

1. GUID der Module

Modul Typ Prefix GUID
Yeelight Discovery Discovery YeeLight {7AABB3D2-3D24-4F2C-86CE-A56FB09D188A}
Yeelight Device Device YeeLight {BF5D53BB-EB4E-45C0-8632-5DB4EF49FA9F}

2. Hinweise

1. LAN-Steuerung aktiveren

Nachdem die Geräte mit der Hersteller APP (Yeelight, nicht Xiaomi !) in das Netzwerk integriert wurden, muss die lokale Steuerung für jedes Gerät einzeln aktiviert werden.
Aktuelle Versionen der App fragen dies automatisch nach dem hinzufügen der Geräte ab, da dieses Protokoll auch für die lokale Google Home Anbindung benötigt wird.

App1App2App3

2. Discovery-Instanzen erstellen

Nach der Installation über den 'Modul-Store' fragt Symcon ob die enthaltende Discovery Instanz erstellt werden soll.
Wird Symcon allerdings unter Docker mit aktivem NAT betrieben, so kann diese Frage verneint werden.
Die Yeelight Geräte Instanzen müssen in dieser Konstellation per Hand angelegt und konfiguriert werden.

3. Backlog

  • Aktionen und PHP-Befehle um Farbtemperatur und Helligkeit mir rotation durchschalten (Main und Hintergrund).
  • Aktionen und PHP-Befehle um Farbe(HSV), Farbtemperatur und Helligkeit prozentual zu erhöhen oder zu verringern (Main und Hintergrund).
  • Dokumentation der PHP-Befehlsreferenz vervollständigen.

4. Changelog

Version 2.13:

  • Instanz hat aktiven IO beim Neustart von Symcon nicht erkannt.

Version 2.10:

  • Quata exceeded Fehlermeldungen lösen einen automatischen Reconnect aus.

Version 2.00:

  • Betrieb der Geräte-Instanzen auch mit NAT (z.B. Docker) möglich.
  • VariablenProfile werden beim löschen mit entfernt.
  • Aktionen (inkl. Programmablauf) werden unterstützt.
  • Debugausgaben waren unvollständig.
  • Fehlermeldungen von Geräten wurden nicht berücksichtigt.
  • Bessere Hinweise wenn es Probleme mit der Kommunikation gibt.
  • RGB Farbwahl war defekt.
  • UDP Kommunikation wird in Symcon ankommend auf Port 1983 erwartet.
  • Prefix für PHP-Befehle wurde auf "YEELIGHT" geändert.
  • IPS 6.1 wird benötigt.

Version 1.80:

  • Unnötigen Code aus Discovery entfernt.
  • Discovery zeigt eine Meldung an, wenn keine Geräte gefunden wurden.

Version 1.70:

  • YEELIGHT_SetMode schaltet Gerät immer an.
  • Zweites Profil für die Farbtemperatur bei Modus 'Weiß mit Nachtlicht'.

Version 1.60:

  • Erweiterung für den Nachtlicht-Modus

Version 1.50:

  • Release für IPS 5.1 und den Module-Store

Version 1.00:

  • Erstes offizielles Release

4. Spenden

Die Library ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:

Wunschliste

6. Lizenz

IPS-Modul:
CC BY-NC-SA 4.0

yeelight's People

Contributors

nall-chan avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

yeelight's Issues

Discovery funktioniert im Docker Container nicht

Hi,

so starte ich IPS 5.5 im Docker Container unter Ubuntu 20.04:

docker run --name symcon \
           --hostname symcon \
           --restart always \
           -d \
           -p 3777:3777 \
           -p 1982:1982/udp \
           -v /root/docker/symcon/symcon/data:/var/lib/symcon \
           -v /root/docker/symcon/symcon/log:/var/log/symcon \
           -v /root/docker/symcon/symcon:/root \
           symcon/symcon:stable

Das Discovery Modul sagt, es benötige noch eine Freigabe für Port 1982. Auf dem Host läuft keine Firewall. Liegt's an mir oder am Discovery-modul?

Liebe Grüße

Tim

yeelink.light.ceiling10 unterer Weißwert

(Zumindest) bei der yeelink.light.ceiling10 ist der untere Weißwert 2700. Gemäß Doku müsste auch 1700 möglich sein, das führt aber zu einer Fehlermeldung:

<b>Warning</b>:  count(): Parameter must be an array or an object that implements Countable in <b>/var/lib/symcon/modules/.store/de.nall.chan.yeelight/YeelightDevice/module.php</b> on line <b>1150</b><br />
<br />
<b>Fatal error</b>:  Uncaught Error: Cannot use object of type Yeelight\YeelightRPCException as array in /var/lib/symcon/modules/.store/de.nall.chan.yeelight/YeelightDevice/module.php:1151
Stack trace:
#0 /var/lib/symcon/modules/.store/de.nall.chan.yeelight/YeelightDevice/module.php(372): YeelightDevice-&gt;Send(Object(Yeelight\YeelightRPC_Data))
#1 /var/lib/symcon/scripts/__generated.inc.php(1075): YeelightDevice-&gt;SetWhiteSmooth(2699, 500)
#2 /var/lib/symcon/scripts/50462.ips.php(13): Yeelight_SetWhiteSmooth(22422, 2699, 500)
#3 {main}
  thrown in <b>/var/lib/symcon/modules/.store/de.nall.chan.yeelight/YeelightDevice/module.php</b> on line <b>1151</b><br />

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.