Govee "Sammelthread"

Begonnen von juppzupp, 30 November 2024, 12:20:19

Vorheriges Thema - Nächstes Thema

juppzupp

Hi
wir hatten gerade in der Mitgliederversammlung kurz über den Hersteller Govee gesprochen.
Da aber nicht nur Beleuchtung in deren Repertoire ist, hab ich mal die Bastelecke genommen.
Ich habe BLE Thermo/Hygrometer über openmqttgateway an fhem. Problemlos.
Seit dieser Woche auch LED Stehlampen H6076. Die kommen ab Werk mit einer App, die Steuerung über sowohl über Bluetooth als auch über Wifi/Cloud erlauben.
Desweiteren gibt es eine Local Lan API, die aber irgendwie recht krude ist, und auch nicht von allen Geräten unterstützt wird. Sie muss von Hand in der App eingeschaltet werden. Das gelingt mir aber nur bei einer der zwei gekauften Lampen, und der Support sagt ich müsste auf ein App Update warten. Kann ich nicht glauben, aber nun ja.
Die Local Lan API wird von anderen systemen schon unterstützt, aber wenn ich das richtig sehe, ist der funktionsumfang recht rudimentär, ich finde auch keine wirkliche Doku zur eigentlichen API, wo die endpoints beschrieben werden, nur der wirklich seltsame verbindungsaufbau mit multicastdiscovery, hardcoded udp source ports und so weiter.
Ich bin mir für mich noch nicht sicher ob ich versuche da was zu coden, oder ob ich im controller den realtek controller durch einen ESP mit tasmota oder wled ersetze. dazu muss ich aber erst die eigentliche LED strippe verstehen, die sowohl RGB als weisse LEDs hat, aber nur 4 Adern. Ich konnte mich (noch?) nicht überwinden den Silikonschlauch aufzuschneiden um die LEDs bzw ob und welche Chips drauf sind zu inspizieren.
 

krikan

Wie in MV bereits kurz angedeutet, habe ich noch(?) kein Gerät im Zugriff und bin in der frühen Findungsphase, ob ich Govee einsetze. Voraussetzung ist der Einsatz ohne Cloud.

Nach kurzer Internetsuche ist ohne Cloud wohl nicht optimal. Nach https://www.openhab.org/addons/bindings/govee/ ist die angesprochene Local-API nur bei einzelnen Geräten vorhanden.
Mit https://github.com/wez/govee2mqtt in Docker könnte man eventuell mqtt für die Lan-Api an FHEM anbinden. Hat das schon mal jemand probiert?

juppzupp

#2
Wie gesagt, das komische ist, ich habe 2 gleiche Lampen jetzt in der blackweek gekauft. gleiche charge. gleiche sw gleiche hw revision.
bei einer kann ich die LAN API einschalten, bei der anderen nicht.

Docker hab ich nicht, kann ich nicht, will ich nicht. ;)

ich hab mal, angeregt durch die LLM diskussion im call, angefangen. setzen der farbe, helligkeit, oder temperatur im weiss modus klappt.
ich bekomme die lampe aber nicht dazu, mir ihren status zurück zu senden.


carlos

https://app-h5.govee.com/user-manual/wlan-guide

Da steht, dass der Client einen UDP Server der auf Port 4002 hört aufsetzen muss. Dann bekommt man auch den Status mit.


Gruß

Hubert
FHEM svn auf Intel NUC mit proxmox, 3 Raspberry Pi, signalduino, nanoCUL,  toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

juppzupp

Die Lampe beantwortet den Statusrequest nicht. sie schweigt.

Dracolein

Ich plädiere für ein Govee-Modul für FHEM!
Habe heute mein erstes Produkt von denen in Betrieb genommen und bin begeistert!

Wobei mir fürs erste schon geholfen wäre, wenn ich die Neon Rope wenigstens ein- und ausschalten könnte.
Definierte Szenen zu bestimmten Uhrzeiten laden, wird wohl absehbar "schwierig"
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

juppzupp

#6
probier doch mach das oben angehangene. ein/ausschalten sollte damit klappen.
dazu muss zuerst in der govee-app "LAN Steuerung" aktiviert werden.

Dracolein

Leider begreife ich nicht, was in FHEM zu konfigurieren ist. Ein/Aus würde mir bereits enorm helfen.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

juppzupp

Hat dein gerät wifi oder nur BT ?
wenn wifi dann :

nimmst die angehangene Datei
kopierst sie nach /opt/fhem/FHEM
machst ein reload 98_GoveeRGB
und definierst dann

defmod Govee_Ecke GoveeRGB 192.168.0.161
attr Govee_Ecke room Wohnzimmer
attr Govee_Ecke webCmd on:off:rgb:ct:pct
attr Govee_Ecke widgetOverride rgb:colorpicker,RGB ct:colorpicker,CT,2000,1,9000 pct:colorpicker,BRI,0,1,100
natürlich mit der richtigen ip

Dracolein

Herzlichen Dank, geil, funktioniert.

(ich hatte Dein Dateianhang nicht gesehen und folglich die Postings fehlerhaft interpretiert).

Super Sache. Funktioniert alles bestens. Eine Vorauswahl von Szenen wär für die Zukunft noch geil, so wie das "Govee2mqtt"-Modul für Home Assistant irgendwie kann.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

Dracolein

Falls jemand TabletUI mit FTUI3 nutzt, anbei informativ zur Inspiration meine Einbauvariante:

Ausschnitt aus einer entsprechenden Seite mit Grid-Layout:
Ein Button zum ein/ausschalten mit farbiger "Rückmeldung" des Zustands, darunter ein Konfig-Button zum Öffnen eines Popup-Fensters (siehe unten)

Du darfst diesen Dateianhang nicht ansehen.

           <ftui-column height="100%">
              <ftui-cell>
                  <!--Neon Rope -->
                  <ftui-label size="0">Neon Rope:</ftui-label>
                  <ftui-button [(value)]="dummy_Govee_NeonRope2_EG" shape="circle" class="size-1" [color]="dummy_Govee_NeonRope2_EG:state | map('on:dark, off:dark')">
                      <ftui-icon path="../images/fhemSVG" size="2"
                             [name]="dummy_Govee_NeonRope2_EG:state | map('on:hue_filled_lightstrip, off:hue_filled_lightstrip')"
                             
                             [color]="dummy_Govee_NeonRope2_EG:state | map('on:brown, off:light')">
                      </ftui-icon>       
                  </ftui-button>           
                  <ftui-button shape="circle" color="dark" class="size1" @click="neonrope1panel.open()">
                       <ftui-icon name="cogs" size="2" color="light" @click="neonrope1panel.open()"></ftui-icon>
                  </ftui-button>
              </ftui-cell>
          </ftui-column>

Ein Popup mit Colorpicker und Helligkeitsregler:

Du darfst diesen Dateianhang nicht ansehen.

  <!-- Popup Neon Rope Panel1 -->
  <ftui-popup id="neonrope1panel" timeout="30" opacity="0.7" height="350px" width="700px" left="15%">
    <header>Konfiguration Govee Neon Rope 2 Wohnzimmer</header>
    <ftui-row width="600px">
          <ftui-column>
            <ftui-cell>
               <ftui-label>RGB Farbwahl:</ftui-label>
               <ftui-colorpicker width="200" height="200"
                   [hex]="dummy_Govee_NeonRope2_EG:rgb"
                   (hex)="setreading dummy_Govee_NeonRope2_EG rgb $value">
               </ftui-colorpicker>
            </ftui-cell>
          </ftui-column>
          <ftui-column>
            <ftui-cell>
               <ftui-label>Helligkeit:</ftui-label>
               <ftui-knob has-scale has-arc has-value-text has-needle width="250" height="250" stroke-width="20"
                  [value]="dummy_Govee_NeonRope2_EG:pct" max="100"
                  (value)="setreading dummy_Govee_NeonRope2_EG pct $value"
                  [color]="dummy_Govee_NeonRope2_EG:pct | step('0: light, 1: brown, 70: warning')">>
               </ftui-knob>
            </ftui-cell>
          </ftui-column>
        </ftui-row>       
    <ftui-label color="danger" slot="close" popup-close>Schliessen</ftui-label>
  </ftui-popup>

Habe das Ganze mithilfe eines Dummy-Device und ein paar Helfern wie folgt gelöst:

Du darfst diesen Dateianhang nicht ansehen.

defmod dummy_Govee_NeonRope2_EG dummy
attr dummy_Govee_NeonRope2_EG setList on off
attr dummy_Govee_NeonRope2_EG webCmd on:off
defmod doif_Govee_NeonRope2_EG_trigger DOIF ([dummy_Govee_NeonRope2_EG] eq "on")
(set Govee_NeonRope2_EG on)
(set dummy_Govee_NeonRope2_EG on)
DOELSEIF
([dummy_Govee_NeonRope2_EG] eq "off")
(set Govee_NeonRope2_EG off)
(set dummy_Govee_NeonRope2_EG off)

defmod notify_NeonRope2_EG_pct_value notify dummy_Govee_NeonRope2_EG:pct:.* {\
  my $value = ReadingsVal("dummy_Govee_NeonRope2_EG", "pct", undef);;\
  return unless defined($value);;  \
  fhem("set Govee_NeonRope2_EG pct $value");;\
}
defmod notify_NeonRope2_EG_rgb_value notify dummy_Govee_NeonRope2_EG:rgb:.* {\
  my $value = ReadingsVal("dummy_Govee_NeonRope2_EG", "rgb", undef);;\
  return unless defined($value);;  \
  fhem("set Govee_NeonRope2_EG rgb $value");;\
}



Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

87insane

Hey zusammen,

ich habe zwei Govee Lampen, die seit dem neusten Update auch für LAN Control frei geschaltet wurden. Funktioniert mit diesem Modul hier auch gut.
Jetzt habe ich selber mal ein wenig gespielt = leider aber ohne irgendeinen Erfolg. Mich würde interessieren ob hier noch jemand am Modul rum schraubt oder ob etwas angedacht ist. Leider erstellt das Modul keinerlei Readings.
Es ist also immer raten ob die LED nun an ist oder nicht.

Wenn ich richtig verstehe was auf der Govee Seite steht, sendet die Lampe eine Antwort via UDP auf Port 4002. Der Eigentliche Befehl, der von FHEM ausgeht wird via UDP 4003 gesendet. Das passt soweit ja auch. Nun würde ich gerne die Antwort auf 4002 noch irgendwie in FHEM rein bringen wollen.

Sowas wie Govee2Mqtt wäre in meinen Augen auch sehr schön, aber auch hier habe ich keinen sauberen Weg gefunden. Die HA Integration geht hier leider nicht. Ggf. gibt es da irgendeinen Trick aber dahinter bin ich nicht gekommen. "Damals" habe ich bei Sonos2Mqtt mitgemacht und das war deutlich einfacher zu verstehen.

Dracolein

Hi, ja ich hoffe auch auf Support, um wenigstens Feedback vom Leuchtmittel zu erhalten, ob es "an" oder "aus" ist.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;