[Modul] Govee

@KaiS wollte da noch mal bei.
Da fehlt bestimmt irgendwo ein Check oder Filter im Modul :smile:
Michael

Ich hab mal geschaut.
Mein erster Gedanke (da ich bis jetzt nur mit mqtt schnittstellen im PHP SDK unterwegs war), das die IP vom IO Modul die IP inne haben sollte. Wie in einem MQTT Package wo z.B. das Topic drinne ist.
Aber habe Kais Modul geforked und ein debug auf das Packet was in der ReceiveData Funktion ankommt. Aber nein, bei den UDP Paketen gibt es nur den Buffer und die DataID.

Aber was ich daraus wiederum herausgefunden habe ist das ein Device nur die Aufforderung das die Lampen den Status senden sollen protokolliert. Nicht das es irgendwas bekommt.
image

Die andere Instanz Sendet die Aufforderung und bekommt 2 Ähnliche Antworten mit unterschiedlichen Werten.

Wenn ich mir das Debug dann von UDP Instanz für Lampe 1 anschaue sehe ich nur das senden der Aufforderung.

Bei der 2. Instanz sehe ich das senden der Aufforderung und die Antwort beider Lampen inkl. der IP Adressen beider.

So nun die Frage an die Profis. Wo setzt man jetzt an.
Wir müssen an alle Lampen {"msg":{"cmd":"devStatus","data":[]}}} auf Port 4003 senden.
Dann bekommt man auf der 4002 eine Antwort von allen Lampen. Wo setzt man an um anhand der IP das Packet an die eine oder die andere Instanz zu senden. Ich denke das wäre die Aufgabe eines Splitters oder? Kommt der an die Info der UDP Instanz? Man bräuchte dann vermutlich auch nur eine UDP Instanz und die nur auf Empfang und das senden wir über den Programmatischen weg durchgeführt?

Momentan habe ich halt 2 IO Instanzen

Gruß
BlackOrca

Ja, weil das Modul aktuell nicht den passenden Datenfluss nutzt welcher die IP-Adresse mit sendet.
Da ist noch was im Modul anzupassen, auch dass es nachher nur noch einen UDP Socket gibt, damit sowohl senden als auch empfangen für mehrere Geräte funktioniert.
Michael

Ich bin da dran, ich habe mir jetzt auch mal noch einen Govee LED Stripe bestellt, damit ich mit zwei Geräten testen kann, der soll morgen kommen, dann schaue ich mir das nochmal an.

Grüße,
Kai

Perfekt!
Vielen Dank.

Gruß
Dennis

Es gibt eine neue Beta Version.
Dort sollte die Discovery Instanz nun einen UDP Socket nutzen.
Nach dem Erstellen der Instanzen über die Discovery Instanz muss das Gateway der Geräteinstanz per Hand einmal auf den UDP Socket von der Discovery Instanz gesetzt werden.

Normalerweise sollte das von alleine passieren, entweder ich habe da einen Fehler gemacht oder einen Bug in Symcon gefunden.
@paresy schaut sich das morgen an.

Nun sollten die Geräte einzeln geschaltet werden könne, ebenso sollte der Status von dem jeweiligen Gerät in der Instanz angezeigt werden.

Grüße,
Kai

Hi @KaiS,
volle Punktzahl!
Jetzt funktioniert die Discovery bei mir auch ohne Probleme!
Beide LED Ketten kann ich Unabhängig steuern und bekomme diese Infos auch zurückgemeldet!

Vielen Dank,
dann brauche ich mich doch nicht nach alternativen RGBSIC Controller umschauen :slight_smile:

Gruß
Dennis

1 „Gefällt mir“

Sehr gerne. :slight_smile:
Viel Spaß damit.

Grüße,
Kai

2 „Gefällt mir“

Hallo Kai,

hast du eventuell vergessen deine Debug-Ausgabe wieder zu deaktivieren? :wink:

05.09.2024, 12:12:41 | test                 | Array
(
    [Broadcast] => 
    [Buffer] => {"msg":{"cmd":"devStatus","data":{"onOff":0,"brightness":100,"color":{"r":62,"g":255,"b":216},"colorTemInKelvin":0}}}
    [ClientIP] => 172.17.8.4
    [ClientPort] => 51543
    [DataID] => {9082C662-7864-D5CA-863F-53999200D897}
)
05.09.2024, 12:12:51 | test                 | Array
(
    [Broadcast] => 
    [Buffer] => {"msg":{"cmd":"devStatus","data":{"onOff":0,"brightness":100,"color":{"r":62,"g":255,"b":216},"colorTemInKelvin":0}}}
    [ClientIP] => 172.17.8.4
    [ClientPort] => 51544
    [DataID] => {9082C662-7864-D5CA-863F-53999200D897}
)
05.09.2024, 12:13:01 | test                 | Array
(
    [Broadcast] => 
    [Buffer] => {"msg":{"cmd":"devStatus","data":{"onOff":0,"brightness":100,"color":{"r":62,"g":255,"b":216},"colorTemInKelvin":0}}}
    [ClientIP] => 172.17.8.4
    [ClientPort] => 51545
    [DataID] => {9082C662-7864-D5CA-863F-53999200D897}
)


Gruß
Jörg

Jep,
ist mir auch aufgefallen :smiley:

Ich kümmer mich drum. :smiley:
Sorry!

Grüße,
Kai

Kannst du bitte zeitnahe eine neue Version veröffentlichen?
Bei mit läuft das Log mit diesen Messages voll…

06.09.2024, 17:33:40 | test                 | Array
(
    [Broadcast] => 1
    [Buffer] => {"msg":{"cmd":"devStatus","data":{"onOff":0,"brightness":100,"color":{"r":0,"g":0,"b":255},"colorTemInKelvin":0}}}
    [ClientIP] => 192.168.111.130
    [ClientPort] => 51947
    [DataID] => {9082C662-7864-D5CA-863F-53999200D897}
)

Es gibt enie neue Beta Version, dort sollten die Meldungen entfernt sein.
Ich hatte die Version schon bei Github online, nur vergessen in den Store zu stellen, sorry.

@BlackOrca, vielen Dank für deine großzügige Spende über die Amazon Wunschliste, da habe ich mich doch sehr gefreut. :slight_smile:

Grüße,
Kai

1 „Gefällt mir“

Moin ihr Lieben!

Ich habe hier zwei Govee Heizer, die zwar eine IP haben aber keinen LAN Schalter in der App.
bekomme ich diese Teile in IP Symcon integriert?

VG
Marcus

Aktuell nein:

Michael

A, okay

Vielen Dank für die schnelle Antwort und ein schönes Wochenende

Hallo zusammen,

ich bin aktuell auf IPS 7.2 und habe das Modul über den Store installiert. Ich kann meine Lampe aus und einschalten, erhalte aber leider keine Werte. Über Discovery ist auch nichts zu sehen. Ich musste die Lampe händisch anlegen. Verstehe nicht warum ich Daten senden kann und die ankommen, aber ich keine erhalte über den Status. Daten kommen auf 172.17.0.1 zurück obwohl meine Symcon (über Synology Container) auf 172.17.0.3 sitzt und auch so konfiguriert ist. Dem Container habe ich auch beide Ports freigegeben. Kann mir jemand helfen?




grafik

Broadcasts werden wahrschienlich nicht durch den Container kommen, oder?

Grüße,
Kai

Wie kann ich das prüfen?

Micht wundert es, dass ich im Debug Log von Symcon die empfangenden Pakete sehe inkl. korrektem Dateninhalt also 100% Helligkeit etc.

Könnte es ein Problem sein, dass mein Container keine IP Adresse aus meinem LAN Netz hat wo auch das Govee Gerät drin hängt? Brauch er z.B. über MacVLAN eine eigene IP aus meinem Netz?

Hintergrund:
Govee Gerät 192.168.178.9
Synology 192.168.178.2
Der Container 172.17.0.3

Ich glaube das muss im selben Netzwerk sein.
Kannst du das einfach mal ausprobieren, du kannst den Container ja mal testweise komplett ins selbe Netzwerk hängen.

Mich wundert nur, dass Daten ankommen. Kannst du davon auch mal ein Debug erstellen, bevor du den Container in das andere Netzwerk hängst?

Grüße,
Kai