ich hatte durch einen Kauf Anfall in einem asiatischem Shop nun ein erstes mal ein Tuya Gerät eingefangen. Das war ein Türschloss Drücker für die Innentüren.
Dann sind zufällig durch ein lokales Markt Angebot noch GU10 RGB Leuchten von Hama dazugekommen.
Da ich weder HomeAssistant noch Tasmota oder die MQTT Lösung bemühen wollte, hab ich mal einen schnellen Hack gemacht. Daher sag ich mal Alpha+ Version.
Es ist nicht Cloud free. Also wird ein Developer Account benötigt. Anleitungen wie man an die Keys kommt gibt es genug.
Hallo mac,
Vielen Dank für das Tolle script, ich hatte denselben Kaufrausch und stehe nun mit demselben leid da. Dein Script läuft bei mir, ich finde die geräte mit der Suchfunktion, der Onlinestatus wird angezeigt, kann aber leider die Daten meines Gerätes nicht sehen, da es doch ein anderes Teil ist. Ich habe einen 2Kanal Strom Spannungssensor (WIFI dual meter). Kannst du mich vielleicht unterstützen wie ich die Daten in Symcon bekomme?
Der Sensor liefert werte wie “Frquency, Voltage, Active Power-A, Active-Flow-A, usw…)
Vielen Dank, Wolfgang
ah okay da müsste ich die Datenpunkte abfragen und wäre ja eher ein eigenes Modul. Ohne so nen Modul vor Ort wird das eher schwer. Du kannst aber nen Fork machen wenn du leichte Programmierkenntnisse hast.
In der Tuya Cloud kannst die Datenpunkte im DeviceDebug sehen. z.B bei einer meine Lampen:
temp_value
Integer
{
"min": 0,
"max": 1000,
"scale": 0,
"step": 1
}
Manche Verhaltensweisen muss man allerdings dazu basteln.
Hmm. gerade mal geschaut man kann auch die DP Abfragen.
ich hab mal nen schnelle Dev Branch gemacht. Also in Module auf “dev” Zweig wechseln.
Dann ein Generic Device anlegen ($ID). Dein Gerät wählen und in dem Form “Anlage Variablen” aktivieren. Dann werden bei einem manuellen PHP Befehl Tuya_getState($ID); die Variablen unter dem Device angelegt und aktualisiert.
Der integrierte Timer aktualisiert das GenericDevice nicht automatisch. Mach dir nen Script mit dem Befehl und einem zyklischen Timer.
Hier Beispiel wie es bei mir aussieht wenn ich Generic wähle aber meine LED Lampe auswähle. Denke könnte so auch mit deinem SmartMeter gehen. Die Werte sind aber nativ so wie Tuya sie definiert. Da muss man dann noch umrechnen, mappen usw.
Ich glaube du machst nichts falsch. Das Gerät unterstützt wohl den Befehl getStatus der genutzt wird wohl nicht. Müsste mich erst drüber schlau machen.
Ich hab an dem Modul nicht wirklich weiter geschraubt und nur das nötigste für mich eingebastelt. Denn manche Geräte “Lampen” reagieren schlicht anders.
Ich habe mich jetzt ein wenig gespielt und kann das Relais schalten.
Ich habe jetzt noch das Problem das ich mit Tuya_getState keinen Status zurückbekomme, funktioniert das noch nicht?
mir ist im log aufgefallen das ein TimerPool ERROR vom Generic modul kommt
08.03.2026 07:58:57 | 13497 | ERROR | TimerPool | TuyaSwitch (wifi circuit controller) (UpdateTimer):
Warning: Undefined array key "Interval" in C:\ProgramData\Symcon\modules\IPSTuya\Generic\module.php on line 243
Warning: Instanz #0 existiert nicht in C:\ProgramData\Symcon\modules\IPSTuya\Generic\module.php on line 243
Warning: Attempt to read property "Interval" on null in C:\ProgramData\Symcon\modules\IPSTuya\Generic\module.php on line 245
Du hast den Git - Dev Branch genommen. Der ist nicht hundert pro gewesen. Dort wollte ich das Ziel machen das man als Generisches Gerät einfach alles zurück bekommen kann aber die Status Aktualisierung nicht klappt. Auch “meine” Lampen zicken mit dem Dev Stand noch.
Ich glaub ich mach dir mal nen Branch nur einen Switch.
super dann aktualisiere aktuell das Modul nicht. hab gerade am main rum gefummelt und aktuell gehts net. aber wenn du es vor meinen Änderungen gemacht hast passiert nichts.
ich bin derzeit in Kambodscha und hab natürlich nie ins Forum geschaut und aktualisiert.
jetzt bekomme ich diesen Fehler wenn ich einen neuen Switch anlege und Geräte suche:
Undefined property: stdClass::$result in C:\ProgramData\Symcon\modules\IPSTuya\Generic\module.php on line 142
Warning: foreach() argument must be of type array|object, null given in C:\ProgramData\Symcon\modules\IPSTuya\Generic\module.php on line 145
Hmm. sagt mir so erstmal nichts. Hab mal geschaut ich glaub es gibt ein Erkennungsproblem der Gateway Instanz. Denn bei mir will er immer eine neue anlegen das sollte nicht sein.
Versuch mal eine bestehende Switch Instanz per Kopieren/Einfügen zu duplizieren.