fhempy: tuya (lokal)

Begonnen von dominik, 26 April 2022, 19:12:25

Vorheriges Thema - Nächstes Thema

McShire

Ich bin erst nächstes Wochende wieder vor Ort. Ich melde mich dann wieder.

Superposchi

Hallo Dominik,

ich habe leider keine Vorlage für die Syntex für einen String. Ist das so richtig?
{'code': 'airquality', 'dp_id': 106, 'type': 'String', 'values': '{}', 'desc': 'airquality'}

Es handelt sich dabei nur um einen auszulesenden Wert, der nicht geschalter werden kann. Muss der dann bei den tuya_spec_functions auch aufgenommen werden oder reicht es ihn bei tuya_spec_status einzutragen?

tom0

Zitat von: dominik am 12 März 2023, 22:25:07
Die sind offline und wachen nur kurz auf wenn sie ein Signal schicken. ... Über die Cloud bekommt man natürlich alle Werte sofort, weil die dort gespeichert sind.

Auch wenn die Antwort für jemand anderes bestimmt war, irgendwie trifft selbst nach einiger Zeit kein Lesevorgang meine Sensoren. Nach jedem Neustart / Update / Neuinstallieren geht es immer x Minuten bis Stunden (wenn überhaupt), leider nicht verlässlich. Gibt es eine Möglichkeit bei den Sensoren aktiv die Daten aus der Cloud zu holen, z.B. einstellbar alle 5 Minuten?

muma

Hi,
habe eine RGB/CCT Wandlampe installiert und mit tuya local in FHEM aufgenommen. Ich kann die Lampe schalten und auch Farben ändern.
Ich kann auch den work_mode auf scene stellen. Allerdings fehlt mir eine Möglichkeit die Scene anhand ihrer Nummer auszuwählen. Der Datenpunkt scene_data_v2 ist noch angeboten, dieser velrnagt aber neben der Nummer der scene auch ihre Einstellungen. Reine Angabe der scene Nr führt zu einer Fehlermeldung.

2 Fragen dazu:
- Es gibt wohl einen tuya Befehl scene_select. Dieser ist aber nicht als DP am Device hinterlegt. Kann man den noch nachkonfigurieren oder ist das fest von tuya gesetzt?
- Könnte mir alternativ jemand mit der korrekten syntax für den "set DEVICENAME scene_data_v2 ..." helfen? Was genau muss ich da als Parameter einfügen? Bin etwas lost  :-[

{
"code": "scene_data_v2",
"dp_id": 25,
"type": "Json",
"values": {
"scene_num": {
"min": 1,
"scale": 0,
"max": 8,
"step": 1
},
"scene_units": {
"unit_change_mode": {
"range": [
"static",
"jump",
"gradient"
]
},
"unit_switch_duration": {
"min": 0,
"scale": 0,
"max": 100,
"step": 1
},
"unit_gradient_duration": {
"min": 0,
"scale": 0,
"max": 100,
"step": 1
},
"bright": {
"min": 0,
"scale": 0,
"max": 1000,
"step": 1
},
"temperature": {
"min": 0,
"scale": 0,
"max": 1000,
"step": 1
},
"h": {
"min": 0,
"scale": 0,
"unit": "",
"max": 360,
"step": 1
},
"s": {
"min": 0,
"scale": 0,
"unit": "",
"max": 1000,
"step": 1
},
"v": {
"min": 0,
"scale": 0,
"unit": "",
"max": 1000,
"step": 1
}
}
},
"desc": "scene data v2"
}

thburkhart

Zitat von: denis.robel am 07 März 2023, 16:55:58
@thburkhart
mit der IR Bridge kann ich den Fernseher und die Stereoanlage steuern...
Bestellt hab ich bei a..express als Versuch.

Ich hatte mal ne Broadlink bridge, aber die war irgendwie defekt und das tuya Teil war gerade für 5 Euronen im Angebot. Hätte nicht gedacht, das das Teil funktioniert - tut es aber.

kannst du bitte Link zum Produkt posten?
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

thburkhart

hallo zusammen,

inzwischen habe ich auf Grund der katastrophalen Energiewerte des alten einen neuen Kühlschrank besorgt ;-)

Nun versuche ich vergeblich, auch für cur_power Events zu erhalten.
Die JL-Steckdosen liefern die; nicht jeoch keiner meiner SPxx.
Das sind die welche zwar in der SmartLife App im Energy-Monitor dargestellt werden (hur diese).

Wie könnte ich diese in FHEM dazu überreden, auch cur_power Events zu liefern?

hier die DEF:

[code]define TUYA_SP12 fhempy tuya IGzCi97RpN2Lf9cu 00673231e09806cb13b0 192.168.9.57 b5614e736a41adec 3.3
attr TUYA_SP12 DbLogExclude .*
attr TUYA_SP12 DbLogInclude energy,cur_power
attr TUYA_SP12 alias SP12 TH Sued1
attr TUYA_SP12 dp_01 switch_1
attr TUYA_SP12 dp_09 countdown_1
attr TUYA_SP12 dp_17 add_ele
attr TUYA_SP12 dp_18 cur_current
attr TUYA_SP12 dp_19 cur_power
attr TUYA_SP12 dp_20 cur_voltage
attr TUYA_SP12 event-min-interval energy:3600,cur_power:600
attr TUYA_SP12 group Schalter (T),Schalter Strang,Schalter Strommessung
attr TUYA_SP12 room - Raum -> Thomas,-TUYA,TUYA Stromverbrauch
attr TUYA_SP12 stateFormat Verbrauch: [$name:energy] kWh, cPower [$name:cur_power] W, cVoltage [$name:cur_voltage] V, Time: [$name:cur_power:t]
attr TUYA_SP12 tuya_spec_functions [{'code': 'switch_1', 'dp_id': 1, 'type': 'Boolean', 'values': {}, 'desc': 'switch 1'}, {'code': 'countdown_1', 'dp_id': 9, 'type': 'Integer', 'values': {'unit': 's', 'min': 0, 'max': 86400, 'scale': 0, 'step': 1}, 'desc': 'countdown 1'}]
attr TUYA_SP12 tuya_spec_status [{'code': 'switch_1', 'dp_id': 1, 'type': 'Boolean', 'values': {}}, {'code': 'countdown_1', 'dp_id': 9, 'type': 'Integer', 'values': {'unit': 's', 'min': 0, 'max': 86400, 'scale': 0, 'step': 1}}, {'code': 'add_ele', 'dp_id': 17, 'type': 'Integer', 'values': {'unit': '', 'min': 0, 'max': 50000, 'scale': 3, 'step': 100}}, {'code': 'cur_current', 'dp_id': 18, 'type': 'Integer', 'values': {'unit': 'mA', 'min': 0, 'max': 30000, 'scale': 0, 'step': 1}}, {'code': 'cur_power', 'dp_id': 19, 'type': 'Integer', 'values': {'unit': 'W', 'min': 0, 'max': 50000, 'scale': 1, 'step': 1}}, {'code': 'cur_voltage', 'dp_id': 20, 'type': 'Integer', 'values': {'unit': 'V', 'min': 0, 'max': 5000, 'scale': 1, 'step': 1}}]
#   DEF        tuya IGzCi97RpN2Lf9cu 00673231e09806cb13b0 192.168.9.57 b5614e736a41adec 3.3 ea8453wdazquzfl08l0e 8a4b27dd759d4c6a9456aa8155d2a0ea
#   DEVICEID   00673231e09806cb13b0
#   FHEMPYTYPE tuya
#   FUUID      63a35f57-f33f-fd5f-d28c-f30c68bc093a1f03
#   IODev      local_pybinding
#   NAME       TUYA_SP12
#   NR         1753
#   PYTHONTYPE tuya
#   STATE      Verbrauch: 7.566 kWh, cPower 18.0 W, cVoltage 225.9 V, Time: 2023-03-14 19:50:24
#   TYPE       fhempy
#   eventCount 779
#   READINGS:
#     2023-01-30 07:59:14   countdown_1     0.0
#     2023-03-14 19:47:02   cur_current     134.0
#     2023-03-14 19:50:24   cur_power       18.0
#     2023-03-14 19:45:31   cur_voltage     225.9
#     2023-01-30 07:59:14   dp_21           1
#     2023-01-30 07:59:14   dp_22           721
#     2023-01-30 07:59:14   dp_23           30787
#     2023-01-30 07:59:14   dp_24           20947
#     2023-01-30 07:59:14   dp_25           995
#     2023-03-14 19:48:26   energy          7.566
#     2023-02-28 16:26:01   energy2212      0
#     2023-03-14 09:47:18   online          1
#     2023-03-14 19:50:24   statEnergy      Hour: 0.014 Day: 0.170 Month: 4.106 Year: 4.120 (since: 2023-02-28 )
#     2023-03-14 18:59:57   statEnergyLast  Hour: 0.018 Day: 0.151 Month: 0.014 Year: - (since: 2023-02-28 )
#     2023-02-28 21:18:13   statdayEnergy   Hour: 0.005 Day: 0.050 Month: 0.050 Year: 0.050 (since:  )
#     2023-02-28 21:00:02   statdayEnergyLast Hour: 0.001 Day: - Month: - Year: -
#     2023-03-14 09:48:25   state           on
#     2023-01-30 07:59:14   switch_1        on
#   args:
#     TUYA_SP12
#     fhempy
#     tuya
#     IGzCi97RpN2Lf9cu
#     00673231e09806cb13b0
#     192.168.9.57
#     b5614e736a41adec
#     3.3
#     ea8453wdazquzfl08l0e
#     8a4b27dd759d4c6a9456aa8155d2a0ea
#   argsh:
#   helper:
#     _98_statistics statistics_TUYA_SP_all
#
setstate TUYA_SP12 Verbrauch: 7.566 kWh, cPower 18.0 W, cVoltage 225.9 V, Time: 2023-03-14 19:50:24
setstate TUYA_SP12 2023-01-30 07:59:14 countdown_1 0.0
setstate TUYA_SP12 2023-03-14 19:47:02 cur_current 134.0
setstate TUYA_SP12 2023-03-14 19:50:24 cur_power 18.0
setstate TUYA_SP12 2023-03-14 19:45:31 cur_voltage 225.9
setstate TUYA_SP12 2023-01-30 07:59:14 dp_21 1
setstate TUYA_SP12 2023-01-30 07:59:14 dp_22 721
setstate TUYA_SP12 2023-01-30 07:59:14 dp_23 30787
setstate TUYA_SP12 2023-01-30 07:59:14 dp_24 20947
setstate TUYA_SP12 2023-01-30 07:59:14 dp_25 995
setstate TUYA_SP12 2023-03-14 19:48:26 energy 7.566
setstate TUYA_SP12 2023-02-28 16:26:01 energy2212 0
setstate TUYA_SP12 2023-03-14 09:47:18 online 1
setstate TUYA_SP12 2023-03-14 19:50:24 statEnergy Hour: 0.014 Day: 0.170 Month: 4.106 Year: 4.120 (since: 2023-02-28 )
setstate TUYA_SP12 2023-03-14 18:59:57 statEnergyLast Hour: 0.018 Day: 0.151 Month: 0.014 Year: - (since: 2023-02-28 )
setstate TUYA_SP12 2023-02-28 21:18:13 statdayEnergy Hour: 0.005 Day: 0.050 Month: 0.050 Year: 0.050 (since:  )
setstate TUYA_SP12 2023-02-28 21:00:02 statdayEnergyLast Hour: 0.001 Day: - Month: - Year: -
setstate TUYA_SP12 2023-03-14 09:48:25 state on
setstate TUYA_SP12 2023-01-30 07:59:14 switch_1 on

[/code]

viele Grüße

Thomas
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

stefanru

Hi Thomas,

was genau meinst du?
Das reading wird aktualisiert ohne Event?
Das ist ja seltsam?
Hast du es mal mit event-on-change-reading probiert.

Meine Steckdosen liefern bei jedem reading das geupdated wird ein Event.

Ah ich sehe gerade du verwendest:
attr TUYA_SP12 event-min-interval energy:3600,cur_power:600
Eventuell hat das etwas damit zu tun.

Gruß,
Stefan

Nomo

Liebe Tuya-Nutzer, da die Alexa-Experten keine Idee haben, wollte ich noch mal hier fragen:


  • Steuert ihr die Tuya Devices auch mit Alexa-fhem?
  • Wenn ja, wie bekommt man das hin, dass Alexa bei den Steckdosen die on/off settings "findet"?

Genauere Beschreibung des Problems hier: https://forum.fhem.de/index.php/topic,132700.msg1268151.html#msg1268151


thburkhart

Zitat von: Nomo am 15 März 2023, 15:05:59
Liebe Tuya-Nutzer, da die Alexa-Experten keine Idee haben, wollte ich noch mal hier fragen:


  • Steuert ihr die Tuya Devices auch mit Alexa-fhem?
  • Wenn ja, wie bekommt man das hin, dass Alexa bei den Steckdosen die on/off settings "findet"?

Genauere Beschreibung des Problems hier: https://forum.fhem.de/index.php/topic,132700.msg1268151.html#msg1268151

Alexa hat doch automatisch und zuverlässig alle Tuya-Devices über den Smart Life Skill
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

Nomo

Ja richtig.

Wenn man chinesische IOT-Server mag. Die Zugriff auf dein Netzwerk haben. Und die Geräte zu DDoS Parties verführen könnten. Oder einfach mal ausgeschaltet werden können.

Oder so.

Ich habe den Smart Life Skill jetzt entfernt, dank Dominiks tuya_system geht es jetzt ohne China. Meine Dosen sind jetzt nicht mehr von aussen erreichbar.

Die Lösung war das mapping (siehe den anderen Thread).
Wäre natürlich cool, wenn das Teil des creates von tuya_system wäre. Dann könnte man die neuen Tuyas sofort über Alexa steuern 😊

Superposchi

Hallo Dominik,

du hattest mich gebeten dir die Specs zu melden wenn alles fertig ist. Ich denke das ist nun der Fall, also hier die Specs.
Für den Luftbefeuchter:
name - Luftbefeuchter
product_id - yodwo2ujgwbgjaio
product_name - Smart Aroma Diffuser
uid - eu1610479166063muAw8
uuid - db1f4ce74abacf7b

tuya_spec_functions:
[{'code': 'switch', 'dp_id': 1, 'type': 'Boolean', 'values': {}, 'desc': 'switch'}, {'code': 'switch_led', 'dp_id': 11, 'type': 'Boolean', 'values': {}, 'desc': 'switch led'}, {'code': 'mode', 'dp_id': 103, 'type': 'Enum', 'values': '{"range":["small","big","off"]}', 'desc': 'mode'}, {'code': 'timer', 'dp_id': 13, 'type': 'Enum', 'values': '{"range":["0","1","2","3"], "translation": { "0": "Off","1": "1_Stunde","2": "3_Stunden","3": "6_Stunden"}}', 'desc': 'Timer'}, {'code': 'colortype', 'dp_id': 110, 'type': 'Enum', 'values': '{"range":["1","2","3"], "translation": { "1": "Gradiant","2": "Fix","3": "Nachtlicht"}}', 'desc': 'colortype'}, {'code': 'brightness', 'dp_id': 111, 'type': 'Integer', 'values': '{"min":1,"max":255,"scale":0,"step":1}', 'desc': 'brightness'}, {'code': 'colour_data', 'dp_id': 108, 'type': 'Json', 'values': {'h': {'min': 0, 'scale': 0, 'unit': '', 'max': 360, 'step': 1}, 's': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'v': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}}, 'desc': 'colour data'}]

tuya_spec_status:
[{'code': 'switch', 'dp_id': 1, 'type': 'Boolean', 'values': {}}, {'code': 'switch_led', 'dp_id': 11, 'type': 'Boolean', 'values': {}}, {'code': 'mode', 'dp_id': 103, 'type': 'Enum', 'values': '{"range":["small","big","off"]}'}, {'code': 'timer', 'dp_id': 13, 'type': 'Enum', 'values': '{"range":["0","1","2","3"], "translation": { "0": "Off","1": "1_Stunde","2": "3_Stunden","3": "6_Stunden"}}'}, {'code': 'colortype', 'dp_id': 110, 'type': 'Enum', 'values': '{"range":["1","2","3"], "translation": { "1": "Gradiant","2": "Fix","3": "Nachtlicht"}}'}, {'code': 'brightness', 'dp_id': 111, 'type': 'Integer', 'values': '{"min":1,"max":255,"scale":0,"step":1}'}, {'code': 'timer_minutes', 'dp_id': 14, 'type': 'String', 'values': {}}, {'code': 'colour_data', 'dp_id': 108, 'type': 'Json', 'values': {'h': {'min': 0, 'scale': 0, 'unit': '', 'max': 360, 'step': 1}, 's': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'v': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}}}]


Folgendes Reading konnte keiner Eigenschaft/Funktion zugewiesen werden:
dp_109    -   white
dp_12    -   0


Für die Ventilatoren (Marke Djive):
name - Schlafzimmerventilator
product_id - 6awobc9jfnlwvqtw
product_name - ARC Humidifier
uid - eu1610479166063muAw8
uuid - fd0c8a9f78a36684

[{'code': 'switch', 'dp_id': 1, 'type': 'Boolean', 'values': {}, 'desc': 'Gerätestatus'}, {'code': 'fan_speed_percent', 'dp_id': 3, 'type': 'Integer', 'values': '{"min":1,"max":9,"scale":0,"step":1}', 'desc': 'Lüftergeschwindigkeit'}, {'code': 'oszilation', 'dp_id': 5, 'type': 'Boolean', 'values': {}, 'desc': 'Oszilation'}, {'code': 'mode', 'dp_id': 2, 'type': 'Enum', 'values': '{"range":["sleep","fresh","strong","auto","close"]}', 'desc': 'Mode'}, {'code': 'uv_desinfection', 'dp_id': 102, 'type': 'Boolean', 'values': {}, 'desc': 'UV-Desinfektion'}, {'code': 'water_strength', 'dp_id': 105, 'type': 'Enum', 'values': '{"range":["1","2","3","auto","close"]}', 'desc': 'Wasserstärke'}, {'code': 'signals', 'dp_id': 13, 'type': 'Boolean', 'values': {}, 'desc': 'Signaltöne'}, {'code': 'timer', 'dp_id': 22, 'type': 'Enum', 'values': '{"range":["cancel","1","2","3","4","5","6","7","8"]}', 'desc': 'Timer'}]


[{'code': 'switch', 'dp_id': 1, 'type': 'Boolean', 'values': {}}, {'code': 'fan_speed_percent', 'dp_id': 3, 'type': 'Integer', 'values': '{"min":1,"max":9,"scale":0,"step":1}'}, {'code': 'oszilation', 'dp_id': 5, 'type': 'Boolean', 'values': {}}, {'code': 'mode', 'dp_id': 2, 'type': 'Enum', 'values': '{"range":["sleep","fresh","strong","auto","close"]}'}, {'code': 'uv_desinfection', 'dp_id': 102, 'type': 'Boolean', 'values': {}}, {'code': 'water_strength', 'dp_id': 105, 'type': 'Enum', 'values': '{"range":["1","2","3","auto","close"]}'}, {'code': 'signals', 'dp_id': 13, 'type': 'Boolean', 'values': {}}, {'code': 'timer', 'dp_id': 22, 'type': 'Enum', 'values': '{"range":["cancel","1","2","3","4","5","6","7","8"]}'}, {'code': 'filter_remaining', 'dp_id': 103, 'type': 'String', 'values': {}}, {'code': 'airquality', 'dp_id': 101, 'type': 'String', 'values': {}}, {'code': 'humidity', 'dp_id': 106, 'type': 'String', 'values': {}}, {'code': 'timer_minutes', 'dp_id': 23, 'type': 'String', 'values': {}}]


Folgendes Reading konnte keiner Eigenschaft/Funktion zugewiesen werden:
dp_24   -   0

Brauchst du weitere Angaben zur Zuordnung bitte Melden.

Gisbert

Hallo dominik,

ich mache jeweils ein Update, sobald eins verfügbar ist. Spricht etwas dagegen, dass das Device dies eigenständig macht, ggf. gesteuert über ein Attribut "always_update" "yes|no"?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY


thburkhart

perfekt

bekam ein Angebot für 69 cent :-)

danke für den Tipp!

VG

Thomas


1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

denis.robel

Zitat von: thburkhart am 15 März 2023, 22:02:21
perfekt

bekam ein Angebot für 69 cent :-)

danke für den Tipp!

VG

Thomas

Bitte beachte, dass das Teil noch nicht mit fhempy funktioniert. Es gibt aber schon einen Lösungsansatz unter Python. Den hat Dominik ja schon gepostet.
Meine Aussage bezog sich auf die Sartlife App.

Falls das unter fhempy nicht klappen sollte, das Teil zum Laufen zu bewegen, dann hab ich ein schickes Gehäuse und nen LED Transmitter und könnte dann einen ESP32 rein tüdeln.
VG

Denis