fhempy: Tuya Cloud

Begonnen von dominik, 30 Juli 2021, 21:36:48

Vorheriges Thema - Nächstes Thema

thburkhart

#300
Zitat von: dominik am 12 Oktober 2021, 23:40:13
Hast du denn in der SmartLife App die Möglichkeit auch die ganze Leiste zu schalten?
Wenn ja, dann müsste da ein switch1-4 sein + noch ein Switch. Gibt es diesen im Debug Mode?

jaein
ja



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

juergen012

Gugst DU:

https://wiki.fhem.de/wiki/ReadingsProxy
https://wiki.fhem.de/wiki/DevStateIcon

defmod proxy_Switch1 readingsProxy smart_power_strip_xxxxxxxxxxxxxxxxxx:switch_1
attr proxy_Switch1 DbLogExclude .*
attr proxy_Switch1 alias Power Strip Switch 1
attr proxy_Switch1 devStateIcon on:radio_checked@red:off off:radio_unchecked:on
attr proxy_Switch1 room tuya
attr proxy_Switch1 setFn {($CMD eq "on")?fhem("set smart_power_strip_xxxxxxxxxxxxxxxxxx switch_1 on"):fhem("set smart_power_strip_xxxxxxxxxxxxxxxxxx switch_1 off");; return undef}
attr proxy_Switch1 setList on off
attr proxy_Switch1 webCmd :

ich schalte immer mit dem icon. Wenn du es anklickst sollte es schalten und sich das icon ändern. Fallst du es nicht willst, mal webcmd löschen..

Gruß
Jürgen K.
Fhem unter Proxmox

ChrisA4

Hallo zusammen
bekomme einfach keine Geräte
tuya_connect status conncted und pybinding opened

stefanru

Hi,

habe das heute auch installiert da meine Tuya sich nicht haben umflashen lassen. ID 02 Problem.
Die Installation war etwas beschwerlich auf meinem Rapberry.
Irgendwie wollte es nicht von allein.
Ich habe dann hier gefunden fhempy manuell als fhem user zu installieren.
Dann nochmal neu gestartet und dann ging es.

Jetzt habe ich alles eingerichtet und ich sehe auch die Steckdosen.
Ich habe eine Frage zur Aktualisierung.
Wenn ich in der App bin aktualisieren sich die Werte.
Wenn ich nichts mache scheinbar nicht.

Ich frage weil ich eventuell die Power Readings speichern wollte.
Wie sollte das denn laufen?
Sollte es automatisch aktualisieren? Wenn ja wie oft?
Oder muss man das irgendwie anstoßen? set relay_status last macht das zum Beispiel, muss ich das rufen damit regelmäßig updates passieren?

Was macht beim relay_status eigentlich power_on, power_off?
Und was ist countdown_1, circle_time und random_time?

Sorry für die vielen Fragen, bin noch ganz neu im Tuya ;-)

@ChrisA4, hast du die Geräte in der Tuya Iot Platform unter deinem Cloud Projekt unter Devices?

Danke und Gruß,
Stefan



dominik

Zitat von: ChrisA4 am 18 Oktober 2021, 06:05:38
Hallo zusammen
bekomme einfach keine Geräte
tuya_connect status conncted und pybinding opened
Schau mal im fhempy Log ob ein Fehler kommt. Wenn ja, bitte gleich posten.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zitat von: stefanru am 18 Oktober 2021, 21:19:24
Hi,

habe das heute auch installiert da meine Tuya sich nicht haben umflashen lassen. ID 02 Problem.
Die Installation war etwas beschwerlich auf meinem Rapberry.
Irgendwie wollte es nicht von allein.
Ich habe dann hier gefunden fhempy manuell als fhem user zu installieren.
Dann nochmal neu gestartet und dann ging es.

Jetzt habe ich alles eingerichtet und ich sehe auch die Steckdosen.
Ich habe eine Frage zur Aktualisierung.
Wenn ich in der App bin aktualisieren sich die Werte.
Wenn ich nichts mache scheinbar nicht.

Ich frage weil ich eventuell die Power Readings speichern wollte.
Wie sollte das denn laufen?
Sollte es automatisch aktualisieren? Wenn ja wie oft?
Oder muss man das irgendwie anstoßen? set relay_status last macht das zum Beispiel, muss ich das rufen damit regelmäßig updates passieren?

Was macht beim relay_status eigentlich power_on, power_off?
Und was ist countdown_1, circle_time und random_time?

Sorry für die vielen Fragen, bin noch ganz neu im Tuya ;-)

@ChrisA4, hast du die Geräte in der Tuya Iot Platform unter deinem Cloud Projekt unter Devices?

Danke und Gruß,
Stefan

Die Readings werden immer automatisch aktualisiert. In welchen Abständen tuya die Power Readings aktualisiert, weiß ich leider nicht. Meiner Erfahrung nach passiert das bei größeren Änderungen z.B. 100W auf 10W, nicht aber bei 100W auf 100,8W.

Die Commands:
- Generell sei gesagt, ich kenne nicht alle Commands. Ich habe das Modul generisch gebaut, so dass alles was Tuya per API bereitstellt auch steuerbar ist. Das bedeutet aber auch, dass jegliche Begriffe (relay_status, usw.) von Tuya kommen. Ich empfehle einfach die Funktionen in der SmartLife App auszuprobieren und schauen welches Reading sich ändert.
- relay_status: Letzter Status nach dem stromlos machen
- countdown_1: Countdown wie in der App
- circle_time und random_time: Ist glaube ich ein String Wert, daher besser mal mit der App setzen und schauen was drin steht.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

stefanru

#306
Danke Dominik,
das hilft mir sehr.

Und vielen Dank für das tolle Modul.
Dachte schon ich könnte mit den Dosen nichts anfangen weil ich sie nicht flashen konnte.
So finde ich es aber auch super.
Braucht man kein ESPEasy.

P.S.:
Doch noch eine mini Frage.
Gibt es einen unterschied zwischen SmartLife App und Tuya App?
Hatte beide drauf, sah absolut identisch aus.
Habe nun auf Tuya App alles eingerichtet.
Sollte es aber doch Sinn machen würde ich auch nochmal umstellen.

Danke und Gruß,
Stefan


dominik

Ich habe da keine großen Unterschiede bis jetzt erkennen können. Ich bin bei der SmartLife App geblieben.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

stefanru

Ok danke,
habe auch 0 Unterschied gesehen :-)

Vielen Dank nochmal für deine Hilfe und deine Arbeit,
Stefan

ChrisA4

@ Stefanru: Ja in der Liste Alle Devices sind meine drei Geräte aufgelistet.
Smart led Strip xxx   TC0315_TW03_STRIP3_IRRGB_P2   xxx   Offline   2021-04-24 16:57:58   Debug Device
Smart Stecker   xxx LSC Smart Plug(NL)   xxx   Online   2021-10-17 12:07:39   Debug Device
Buero xxx LSC SMART Connect Door/Window Sensor   xxx   Online   2021-05-02 16:32:00   Debug Device


dererste ist offline weil er nicht angesteckt ist.

ChrisA4

@ dominik

Das ist in der log

2021.10.19 05:46:42 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (local_pybinding)
2021.10.19 05:46:42 1: BindingsIo (local_pybinding): ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.10.19 05:46:52 1: ws:127.0.0.1:15733 reappeared (local_pybinding)
2021.10.19 05:46:52 3: BindingsIo v1.0.0
2021.10.19 05:46:55 3: Opening fhempy_peer_127_0_1_1 device ws:127.0.1.1:15733
2021.10.19 05:46:56 3: fhempy_peer_127_0_1_1 device opened
2021.10.19 05:47:11 1: RMDIR: ./restoreDir/save/2021-10-14

Ich hab null Ahnung worann es liegt

dominik

Bitte das fhempy Log (/opt/fhem/log/fhempy-.....), dort sollte etwas ersichtlich sein.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

stefanru

Hi,

ich habe ein kleines Problem.
Tuya Connect läuft bei mir wunderbar. Echt super.
Aber der fhempy wird beim stoppen von FEHM nicht mit gestoppt.
Das heißt wenn ich FHEM stoppe per
service fhem stop
Bleibt der fhempy laufen:
fhem     31616     1  0 15:00 ?        00:00:06 python3 FHEM/bindings/python/bin/fhempy --local

Starte ich FHEM wieder ist dann localbinding und fhempy rot.
Im log von fhempy sieht man:

2021-10-25 15:12:04,621 - WARNING  - asyncio: Executing <Task pending coro=<async_main() running at /opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py:498> wait_for=<_GatheringFuture pending cb=[<TaskWakeupMethWrapper object at 0x75a40970>()] created at /usr/lib/python3.7/asyncio/tasks.py:615> cb=[_run_until_complete_cb() at /usr/lib/python3.7/asyncio/base_events.py:158] created at /usr/lib/python3.7/asyncio/base_events.py:563> took 0.112 seconds
Traceback (most recent call last):
  File "FHEM/bindings/python/bin/fhempy", line 113, in <module>
    fpb.run()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 505, in run
    asyncio.get_event_loop().run_until_complete(async_main())
  File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 498, in async_main
    pybinding, "0.0.0.0", port, ping_timeout=None, ping_interval=None
  File "/opt/fhem/.local/lib/python3.7/site-packages/websockets/legacy/server.py", line 1042, in __await_impl__
    server = await self._create_server()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1378, in create_server
    % (sa, err.strerror.lower())) from None
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use


Stoppe ich den fhempy vor dem fhem start manuell klappt alles.
Fhempy wird gestertet und alles wird grün.

Wie gesagt ich hatte etwas Probleme beim installieren und habe fhempy manuell als fhem user installiert danach ging dann alles mit diesem kleinen problem.
Woran könnte das liegen?

Gruß,
Stefan

dominik

Hi Stefan,

wie hast du fhempy mit dem fhem User manuell installiert? Kann es sein, dass du kein fhempyServer/PythonBinding in deinem FHEM hast?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

stefanru

Hi Dominik,

das habe ich so gemacht wie du es hier beschrieben hast:
https://forum.fhem.de/index.php/topic,122288.msg1175292.html#msg1175292

Vorher hatte ich nach Anleitung installiert und irgendetwas ging nicht. Der Server blieb rot und es fehlten Abhängigkeiten.

Ich habe in fhem local_pybinding und fhempyserver_15733.
Es scheint auch alles einwandfrei zu funktionieren.

Hier mal ein List der 2 Devices:
fhempyserver_15733

Internals:
   DEF        0
   FD         63
   FUUID      616d861e-f33f-0c45-df44-2b4b04fd2fa1d2a8
   LAST_START 2021-10-26 09:51:48
   NAME       fhempyserver_15733
   NR         1965
   NTFY_ORDER 50-fhempyserver_15733
   PID        14835
   STARTS     1
   STATE      ???
   TYPE       fhempyServer
   currentlogfile ./log/fhempy-2021-10-26.log
   logfile    ./log/fhempy-%Y-%m-%d.log
   CoProcess:
     cmdFn      fhempyServer_getCmd
     name       fhempy
     state      running FHEM/bindings/python/bin/fhempy
   READINGS:
     2021-10-26 09:51:48   fhempy          running FHEM/bindings/python/bin/fhempy
Attributes:
   devStateIcon {      my $status_img = "10px-kreis-gruen";;      my $status_txt = "running";;      if (substr(ReadingsVal($name, "fhempy", "running"),0,7) ne "running") {        $status_img = "10px-kreis-rot";;        $status_txt = "stopped";;      }      "<div><a>".FW_makeImage($status_img, $status_txt)."</a><a  href=\"/fhem?cmd.dummy=set $name restart&XHR=1\" title=\"Restart\">".FW_makeImage("audio_repeat")."</a></div>"      }
   group      fhempy
   icon       python
   logfile    ./log/fhempy-%Y-%m-%d.log
   nrarchive  10
   room       fhempy


local_pybinding

Internals:
   BindingType fhempy
   DEF        fhempy
   DeviceName ws:127.0.0.1:15733
   FD         72
   FUUID      616d861e-f33f-0c45-d55e-237882898735bc0b
   IP         127.0.0.1
   NAME       local_pybinding
   NR         1964
   NTFY_ORDER 50-local_pybinding
   PARTIAL   
   PORT       15733
   STATE      opened
   TYPE       BindingsIo
   WEBSOCKET  1
   localBinding 1
   nextOpenDelay 10
   READINGS:
     2021-10-26 09:51:57   state           opened
     2021-10-22 17:25:30   version         0.1.151
   args:
     local_pybinding
     BindingsIo
     fhempy
   argsh:
Attributes:
   devStateIcon {      my $status_img = "10px-kreis-gruen";;      my $status_txt = "connected";;      if (ReadingsVal($name, "state", "disconnected") eq "disconnected") {        $status_img = "10px-kreis-rot";;        $status_txt = "disconnected";;      }      my $ver = ReadingsVal($name, "version", "-");;      "<div><a>".FW_makeImage($status_img, $status_txt)."</a><a> ".$ver." </a><a  href=\"/fhem?cmd.dummy=set $name update&XHR=1\" title=\"Start update\">".FW_makeImage("refresh")."</a></div>"    }
   group      fhempy
   icon       file_json-ld2
   room       fhempy


Gruß und Danke,
Stefan