fhempy server offline nach neustart

Begonnen von 3dmanipulator, 21 März 2022, 15:48:40

Vorheriges Thema - Nächstes Thema

dominik

Nein.

Bitte noch um Rückmeldung wie ich es oben beschrieben habe.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Superposchi

Das mit dem Log hatte ich überlesen.
Nach einem Neustart der beiden Devices steht im Log:
2023-01-25 16:56:22,915 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.575...
2023-01-25 16:56:22,916 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-01-25 16:56:22,931 - INFO     - websockets.server: server listening on 0.0.0.0:15733


Immerhin ist jetzt schon mal 575 drin, aber laufen tut es immer noch nicht. Oder meinstest du einen Neustart vom Fhem-Server komplett?

dominik

Was sagt fhempy_local? Verbunden oder nicht?

Und starte mal komplett neu.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Superposchi

Grüner Punkt aber im STATE nach wie vor: "Installing fhempy (15min).."
Und im Fhem-Startlog steht auch immer noch das Timeout drin.

Ich verzweifele langsam.

dominik

2023.01.24 21:12:41.947 1: fhempy_local: Can't connect to ws:localhost:15733: DNS 127.0.0.11 timed out


Sieht auch eigenartig aus...woher kommt das localhost? localhost wird auch noch dazu auf 127.0.0.11 aufgelöst was auch falsch ist. Wie sieht dein fhempy_local define aus?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Superposchi

Keine Ahnung, ich habe nichts verstellt oder umgeleitet. Keine Ahnung woher das mit dem 127.0.0.11 kommt.

Das List sieht so aus:
Internals:
   BindingType fhempy
   DEF        fhempy
   DeviceName ws:localhost:15733
   FUUID      63c2c86e-f33f-6c14-f4b6-3cb0d60db905f54e
   FVERSION   10_BindingsIo.pm:0.182830/2019-01-16
   IP         127.0.0.1
   NAME       fhempy_local
   NEXT_OPEN  1674671304.53545
   NR         369
   NTFY_ORDER 50-fhempy_local
   PARTIAL   
   PORT       15733
   STATE      Installing fhempy (15min).
   TYPE       BindingsIo
   binary     1
   devioLoglevel 0
   eventCount 1343
   installing 1
   localBinding 1
   nextOpenDelay 10
   prev_error DNS 127.0.0.11 timed out
   READINGS:
     2023-01-25 20:12:59   state           Installing fhempy (15min).
   args:
     fhempy_local
     BindingsIo
     fhempy
Attributes:
   devStateIcon {        my $status_img = "10px-kreis-gruen";;        my $status_txt = "connected";;        my $ver = ReadingsVal($name, "version", "-");;        my $ver_available = ReadingsVal($name, "version_available", $ver);;        my $update_icon = "";;        if ($ver_available ne $ver) {          $status_img = "10px-kreis-gelb";;          $status_txt = "Version ".$ver_available." available for update";;        }        if (ReadingsVal($name, "state", "disconnected") eq "disconnected") {          $status_img = "10px-kreis-rot";;          $status_txt = "disconnected";;        }        $update_icon = "<a  href=\"/fhem?cmd.dummy=set $name update&XHR=1\" title=\"Start ".$ver_available." update\">".FW_makeImage("refresh")."</a>";;        "<div><a>".FW_makeImage($status_img, $status_txt)."</a><a> ".$ver." </a>".$update_icon."</div>"      }
   group      fhempy
   icon       file_json-ld2
   room       fhempy

dominik

Ein kurzes googlen zeigt, dass es da bei Docker mit 127.0.0.11 ein paar Einträge gibt. Bitte selber suchen und die Lösung finden.

So...an dieser Stelle muss ich meinen Support jetzt aber auch beenden. So gerne ich das Problem auch gelöst hätte, aber ich kann dir nicht jede Kleinigkeit in deinem System erklären. Das solltest du wissen und nicht ich.

Du kannst gerne, wie schon öfter erwähnt, ein sauberes RPi System aufsetzen und simpel starten. Ohne Docker, ohne NAS, ohne sonstiges Zeug. Wenn du dann Probleme hast, melde dich gerne und ich helfe weiter.

Sorry, aber ich kann nicht bei über 40 Modulen so einen Basic Support leisten. Dafür reicht meine Zeit nicht aus.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Borkk

Hi Zusammen,

ich hänge gerade an exakt dem gleichen Problem. Ich nutze auch Docker auf einer Synology. Ich bin vor ein paar Wochen bewusst von zwei RPI4 auf das NAS mit 2x SSD und 18GB ram umgezogen. Rennt wie der Teufel :-) Deshalb mal meine generelle Frage.

Hat jemand fhempy auf einer Docker Umgebung laufen. Ist im FHEM Image alles enthalten was Fhempy benötigt? Ich nutze FHEM Docker mit MACVLAN und fester IPv4 (und IPv6) Adresse.

vg     
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

Superposchi

Also ich habe mal den Docker komplett neu aufgesetzt und eine andere Vorlage ("Bullseye" statt "Bullseye 3.0.7") genommen und siehe da, es funktioniert.
Mag sein, dass es Zufall ist oder sich die beiden Container irgendwie unterscheiden, aber mir reicht es erstmal alles wieder am laufen zu haben. Fhempy funktioniert genau wie meine Echos- und TUYA-Devices.

Borkk

Also ich brauche mal ein wenig Starthilfe.

Ich habe mit define fhempy_local BindingsIo fhempy fhempy_local angelegt. Darauf hin wurde automatisch fhempyserver_15733 angelegt.

Der Server scheint zu laufen, er ist Grün und meldet im state: running FHEM/bindings/python/bin/fhempy

Das log sieht wie folgt aus:


2023-02-06 17:16:21,448 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.593...
2023-02-06 17:16:21,450 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/bin/fhempy", line 162, in <module>
    fpb.run()
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 719, in run
    loop.run_until_complete(async_main())
  File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 626, in async_main
    async with websockets.serve(
  File "/opt/fhem/.local/lib/python3.9/site-packages/websockets/legacy/server.py", line 1099, in __aenter__
    return await self
  File "/opt/fhem/.local/lib/python3.9/site-packages/websockets/legacy/server.py", line 1117, in __await_impl__
    server = await self._create_server()
  File "/usr/lib/python3.9/asyncio/base_events.py", line 1494, in create_server
    raise OSError(err.errno, 'error while attempting '
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use


Der fhempy_local ist eigentlich auch grün, bleibt aber im state bei: Installing fhempy (15min).. hängen.

Der Pytontype skodaconnect meldet: fhempy server offline

Im Log gibt es nach den o.g. keine weitere Meldungen.
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

dominik

Es läuft schon ein anderer fhempy Server. Welche Schritte hast du zur Installation von fhempy alles ausgeführt?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Borkk

Zitat von: dominik am 06 Februar 2023, 22:56:22
Es läuft schon ein anderer fhempy Server. Welche Schritte hast du zur Installation von fhempy alles ausgeführt?

Eigentlich nur den "define fhempy_local ..." wie oben erwähnt. Allerdings habe ich die dann angelegten Devices schon mehrfach gelöscht und ich habe es dann nochmal versucht. Evtl. macht es Sinn nochmal alles clean zu machen. Muss ich ausser den 3 Devices in Fhem noch was anderes löschen? 
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

dominik

Nur "define fhempy_local...."? Das wird nicht klappen, die Installationsanleitung erfordert doch ein bisschen mehr:
https://github.com/fhempy/fhempy#installation

Lösch alle BindingsIo Devices und fhempyserver und dann folge nochmals der Installationsanleitung. Kopier alle Befehle die du ausführst hier rein, dann kann ich dir besser helfen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Borkk

#88
Hallo Dominik,

Schon mal Danke für deine Hilfe. Wie ich oben schon mal geschrieben habe, bin ich in einer recht umfangreichen Docker Umgebung unterwegs. Normal ist im FHEM Image so ziemlich alles enthalten was man für alle "offiziellen" Module braucht. u.a. auch Python v3.9.2. Ich habe nun aber zur Sicherheit nochmal alle fhempy Sachen aus FHEM gelöscht und im Container die "apt install ...." und "cpan Protocol::WebSocket" installiert. lief auch alles ohne Probleme durch. 

Dein GitHub hatte ich bereits in mein Update integriert:


Downloading https://raw.githubusercontent.com/dominikkarall/fhempy/master/controls_pythonbinding.txt
pythonbinding
nothing to do...


Ich habe dann den define ausgeführt und der Server startet sofort ohne Probleme.


fhempy - running - FHEM/bindings/python/bin/fhempy 2023-02-07 23:02:41
python  - v3.9.2   -  2023-02-07 23:02:41


Log
2023-02-07 23:24:47,886 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.593...
2023-02-07 23:24:47,888 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-02-07 23:24:47,904 - INFO     - websockets.server: server listening on 0.0.0.0:15733


Im log kommt danach keine Fehlermeldung

Das fhempy_local Modul meldet jedoch: localhost: Connection refused (111)

Was mich wundert ist der Eintrag in den Internals des fhempy_local??

DeviceName. ws:localhost:15733

Wenn das die URL ist, mit der das Modul den Server erreichen möchte, kann das nicht klappen. Was bedeutet das "ws:" vorm localhost?

Hier noch ein List des Moduls:

Internals:
   BindingType fhempy
   DEF        fhempy
   DeviceName ws:localhost:15733
   IP         127.0.0.1
   NAME       fhempy_local
   NEXT_OPEN  1675809126.96765
   NR         144
   NTFY_ORDER 50-fhempy_local
   PARTIAL   
   PORT       15733
   STATE      disconnected
   TYPE       BindingsIo
   binary     1
   devioLoglevel 0
   eventCount 1
   localBinding 1
   nextOpenDelay 10
   prev_error localhost: Connection refused (111)
   Helper:
     DBLOG:
       state:
         DBLogging:
           TIME       1675808690.34288
           VALUE      DISCONNECTED
   READINGS:
     2023-02-07 23:31:56   state           disconnected
   args:
     fhempy_local
     BindingsIo
     fhempy
Attributes:
   devStateIcon {      my $attr_ver = "1.1.0";;      my $status_img = "10px-kreis-gruen";;      my $status_txt = "connected";;      my $ver = ReadingsVal($name, "version", "-");;      my $ver_available = ReadingsVal($name, "version_available", $ver);;      my $update_icon = "";;      my $refresh_img = "refresh";;      my $refresh_txt = "Update fhempy";;      if ($ver_available ne $ver) {        $refresh_img = "refresh\@orange";;        $refresh_txt = "Version ".$ver_available." available for update";;      }      if (ReadingsVal($name, "state", "disconnected") eq "disconnected") {        $status_img = "10px-kreis-rot";;        $status_txt = "disconnected";;      }      $update_icon = "<a  href=\"/fhem?cmd.dummy=set $name update&XHR=1\" title=\"Start ".$ver_available." update\">".FW_makeImage($refresh_img, $refresh_txt)."</a>";;      my $restart_icon = "<a  href=\"/fhem?cmd.dummy=set $name restart&XHR=1\" title=\"Restart fhempy\">".FW_makeImage("control_reboot")."</a>";;      "<div><a>".FW_makeImage($status_img, $status_txt)."</a><a> ".$ver." </a>".$update_icon.$restart_icon."</div>"    }
   group      fhempy
   icon       file_json-ld2
   room       fhempy


Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

Borkk

haaa, ich habs  :)

Ich habe statt fhempy_local

define fhempy_peer_IP BindingsIo 127.0.0.1:15733 fhempy

verwendet. Jetzt klappt alles auf Anhieb. Ich hatte gleich die "ws:localhost:15733" URL im verdacht. Skodaconnect ist auch sofort gestartet. Super Sache :-)

Ich hatte zwischenzeitig den Container komplett gelöscht und neu aufgesetzt. d.h. Unter Docker braucht man tatsächlich nur dein Git einbinden und die fhempy Devices definieren.

hier ein List:
Internals:
   BindingType fhempy
   DEF        127.0.0.1:15733 fhempy
   DeviceName ws:127.0.0.1:15733
   FD         20
   IP         127.0.0.1
   NAME       fhempy_peer_IP
   NR         295
   NTFY_ORDER 50-fhempy_peer_IP
   PARTIAL   
   PORT       15733
   STATE      opened
   TYPE       BindingsIo
   WEBSOCKET  1
   binary     1
   connecttime 1675809550.64894
   devioLoglevel 0
   eventCount 9
   localBinding 0
   nextOpenDelay 10
   prev_error
   Helper:
     DBLOG:
       hostname:
         DBLogging:
           TIME       1675809550.67045
           VALUE      fhemconnect
       os:
         DBLogging:
           TIME       1675809550.66199
           VALUE      posix
       python:
         DBLogging:
           TIME       1675809550.66633
           VALUE      3.9.2
       release:
         DBLogging:
           TIME       1675809550.67377
           VALUE      4.4.180+
       state:
         DBLogging:
           TIME       1675809550.64929
           VALUE      CONNECTED
       system:
         DBLogging:
           TIME       1675809550.65985
           VALUE      Linux
       version:
         DBLogging:
           TIME       1675809550.66334
           VALUE      0.1.593
       version_available:
         DBLogging:
           TIME       1675809550.9209
           VALUE      0.1.593
       version_release_notes:
         DBLogging:
           TIME       1675809550.92299
           VALUE      <html><a href="https://github.com/fhempy/fhempy/releases" target="_blank">Release Notes</a></html>
   READINGS:
     2023-02-07 23:39:10   hostname        fhemconnect
     2023-02-07 23:39:10   os              posix
     2023-02-07 23:39:10   python          3.9.2
     2023-02-07 23:39:10   release         4.4.180+
     2023-02-07 23:39:10   state           opened
     2023-02-07 23:39:10   system          Linux
     2023-02-07 23:39:10   version         0.1.593
     2023-02-07 23:39:10   version_available 0.1.593
     2023-02-07 23:39:10   version_release_notes <html><a href="https://github.com/fhempy/fhempy/releases" target="_blank">Release Notes</a></html>
   args:
     fhempy_peer_IP
     BindingsIo
     127.0.0.1:15733
     fhempy
Attributes:
   devStateIcon {      my $attr_ver = "1.1.0";;      my $status_img = "10px-kreis-gruen";;      my $status_txt = "connected";;      my $ver = ReadingsVal($name, "version", "-");;      my $ver_available = ReadingsVal($name, "version_available", $ver);;      my $update_icon = "";;      my $refresh_img = "refresh";;      my $refresh_txt = "Update fhempy";;      if ($ver_available ne $ver) {        $refresh_img = "refresh\@orange";;        $refresh_txt = "Version ".$ver_available." available for update";;      }      if (ReadingsVal($name, "state", "disconnected") eq "disconnected") {        $status_img = "10px-kreis-rot";;        $status_txt = "disconnected";;      }      $update_icon = "<a  href=\"/fhem?cmd.dummy=set $name update&XHR=1\" title=\"Start ".$ver_available." update\">".FW_makeImage($refresh_img, $refresh_txt)."</a>";;      my $restart_icon = "<a  href=\"/fhem?cmd.dummy=set $name restart&XHR=1\" title=\"Restart fhempy\">".FW_makeImage("control_reboot")."</a>";;      "<div><a>".FW_makeImage($status_img, $status_txt)."</a><a> ".$ver." </a>".$update_icon.$restart_icon."</div>"    }
   group      fhempy
   icon       file_json-ld2
   room       fhempy
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...