fhempy: rct_power (RCT-Power)

Begonnen von dominik, 10 Februar 2022, 20:20:12

Vorheriges Thema - Nächstes Thema

marvin78

Ich sehe noch einen Schönheitsfehler. Wenn man den Faktor -1 verwendet, wird aus 0 eine "-0". Das sieht doof aus und führt ggf. zu Missverständnisse. Sonst läuft das ganze aber sehr schön und stabil.

dominik

Hi,

kann es sein, dass dein Wert eventuell 0.00001 oder so war? Weil in Python kommt da auch kein -0 raus:
>>> 0*-1
0
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

marvin78

Ah. Das kann sein. Also kommt Faktor vor Format. Ich überlege gerade, ob es sinnvoll wäre, den Faktor nach dem Format einzubauen. Vermutlich hat das ggf. aber Seiteneffekte.

dominik

Genau, Format ist nur ein Darstellungsformat, das ändert nix am Wert.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Nogga

#94
Ich habe jetzt gerade versucht fhempy mit dem RCT Modul zum Laufen zu bekommen.
Aber das Device sagt immer "fhempyserver offline"


Internals:
   DEF        rct_power 192.168.178.183
   FHEMPYTYPE rct_power
   FUUID      620c133c-f33f-bfba-4b60-3293f198a2bfc550
   IODev      fhempy_local
   NAME       my_rct_device
   NR         307
   PYTHONTYPE rct_power
   STATE      fhempy server offline
   TYPE       fhempy
   READINGS:
     2022-02-15 22:06:49   state           fhempy server offline
   args:
     my_rct_device
     fhempy
     rct_power
     192.168.178.183
   argsh:
   hmccu:


und im FHEM Log steht:

BindingsIo (fhempy_local): ERROR fhempy_local - error while connecting: 127.0.0.1: Connection refused (111)

Und noch die anderen Devices:

Internals:
   BindingType fhempy
   DEF        fhempy
   DeviceName ws:127.0.0.1:15733
   FUUID      620c12fe-f33f-bfba-a670-85ddce4c64f6bba5
   IP         127.0.0.1
   NAME       fhempy_local
   NEXT_OPEN  1644959252.25522
   NR         305
   NTFY_ORDER 50-fhempy_local
   PARTIAL   
   PORT       15733
   STATE      fhempy server offline
   TYPE       BindingsIo
   localBinding 1
   nextOpenDelay 10
   READINGS:
     2022-02-15 22:07:30   state           fhempy server offline
   args:
     fhempy_local
     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      Gateways
   icon       file_json-ld2
   room       System



Historie löschen
Internals:
   DEF        0
   FD         21
   FUUID      620c12fe-f33f-bfba-bbaa-932648c17b83e0d1
   LAST_START 2022-02-15 22:08:23
   LAST_STOP  2022-02-15 22:08:23
   NAME       fhempyserver_15733
   NR         306
   NTFY_ORDER 50-fhempyserver_15733
   PID        22977
   STARTS     8
   STATE      ???
   TYPE       fhempyServer
   currentlogfile ./log/fhempy-2022-02-15.log
   logfile    ./log/fhempy-%Y-%m-%d.log
   CoProcess:
     cmdFn      fhempyServer_getCmd
     name       fhempy
     state      running FHEM/bindings/python/bin/fhempy
   READINGS:
     2022-02-15 22:08:23   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      Gateways
   icon       python
   logfile    ./log/fhempy-%Y-%m-%d.log
   nrarchive  10
   room       System

dominik

Bitte den Inhalt vom fhempy log posten.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Nogga


dominik

Das ist eigenartig, hast du sicher in /opt/fhem/log/fhempy-......log geschaut?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Nogga

Ok - ich hatte in der FHEM-Oberfläche auf den Log-Link geklickt und das war leer - in der Konsole ist folgendes drin:


2022-02-15 22:15:45,032 - ERROR    - __main__: Failed to install fhempy, exit now...
2022-02-15 22:16:45,281 - WARNING  - __main__: Failed to load fhempy: No module named 'fhempy'
2022-02-15 22:16:45,281 - INFO     - __main__: Attempting install of fhempy>=0.1.12
2022-02-15 22:16:50,004 - ERROR    - __main__: Unable to install package fhempy>=0.1.12: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-33lsxcz6/dbus-python/
2022-02-15 22:16:50,005 - ERROR    - __main__: Failed to install fhempy, exit now...

dominik

Was hast du für ein System?

Mach bitte
sudo -u fhem bash
pip3 install fhempy

und poste den Output.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Nogga

Ich habe Dietpi auf einer Synology VM.
Ich hab zuvor geschaut - habe momentan noch Debian buster als Basis und die Apt-Packages installiert, sowie CPAN.

Aber jetzt wo ich deine commands sehe - ich habe die packages als root installiert - das könnte das Problem sein, oder?

Die Installation ist trotzdem fehlgeschlagen:

fhem@fhem-vm-prod:/root$ pip3 install fhempy

Collecting fhempy
  Using cached https://files.pythonhosted.org/packages/74/44/ea0e124125d17d1b30dd62db0cea1d0946028a76c6a3b708f35dcc414561/fhempy-0.1.238-py3-none-any.whl
Collecting aiohttp[speedups]==3.7.4.post0 (from fhempy)
  Using cached https://files.pythonhosted.org/packages/99/f5/90ede947a3ce2d6de1614799f5fea4e93c19b6520a59dc5d2f64123b032f/aiohttp-3.7.4.post0.tar.gz
  Installing build dependencies ... done
Collecting websockets==10.0 (from fhempy)
  Using cached https://files.pythonhosted.org/packages/5c/cd/94b3f161df0d4e7ffca58f45cd21dd2701ae49ea1eed0aa3123314edaab2/websockets-10.0-cp37-cp37m-manylinux1_x86_64.whl
Collecting dbus-python==1.2.18 (from fhempy)
  Using cached https://files.pythonhosted.org/packages/b1/5c/ccfc167485806c1936f7d3ba97db6c448d0089c5746ba105b6eb22dba60e/dbus-python-1.2.18.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    ModuleNotFoundError: No module named 'setuptools'
   
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-dhsfaivu/dbus-python/
fhem@fhem-vm-prod:/root$


dominik

Die Packages musst du im Normalfall eh nicht installieren, das wird automatisch gemacht. Installier mal setuptools, das fehlt laut Log.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Nogga

Jetzt hat's funktioniert! Der Server steht und das Device verbindet sich.

Die Konsole hat zwischendurch zwar noch zwei Fehler geworfen, aber darüber sehe ich mal hinweg:

Building wheels for collected packages: dbus-python, aiohttp, multidict, cffi
  Running setup.py bdist_wheel for dbus-python ... error
  Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-5y1vod_6/dbus-python/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-jp95f8t5 --python-tag cp37:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help
 
  error: invalid command 'bdist_wheel'
 
  ----------------------------------------
  Failed building wheel for dbus-python


Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-5y1vod_6/cffi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-0ec1ghop --python-tag cp37:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help
 
  error: invalid command 'bdist_wheel'
 
  ----------------------------------------
  Failed building wheel for cffi


Aber unterm Strich wurde trotzdem alles installiert glaube ich...

uccessfully built aiohttp multidict
Failed to build dbus-python cffi
Installing collected packages: dbus-python, attrs, chardet, multidict, async-timeout, idna, yarl, pycparser, cffi, pycares, aiodns, brotlipy, cchardet, aiohttp, importlib-metadata, websockets, ifaddr, zeroconf, six, cryptography, markdown2, fhempy
  Running setup.py install for dbus-python ... done


Mit Python habe ich leider sehr wenig Erfahrung...

dominik

Das dbus-python Package macht Probleme, aber das brauchst du eh nicht solange du kein Bluetooth nutzt. Vielleicht kann ich das in Zukunft noch obsolet machen, weil das schon bei anderen nicht RPi Systemen Probleme gemacht hat.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

marvin78

#104
Zitat von: dominik am 15 Februar 2022, 21:19:16
Genau, Format ist nur ein Darstellungsformat, das ändert nix am Wert.

Nun. Das ist klar. Die Frage ist, ob es Sinn macht, die Reihenfolge zu ändern oder ob man es mit einer Bedinung macht.

Aber ich denke auch, dass das Probleme machen könnte. Ich werde es mit einem userReading lösen und das Minus entfernen.