[Gelöst] WGET blockiert FHEM

Begonnen von Det20, 12 September 2019, 12:14:53

Vorheriges Thema - Nächstes Thema

Det20

Hallo,

sorry, mir ist kein besserer Titel eingefallen. Also, ich möchte gerne auf meinem Raspi-Display Text anzeigen lassen. Also, so dachte ich mir, erzeuge ich ein Bild mittels RSS und rufe das mittels system/FBI auf, quasi


sudo /usr/bin/fbi -noverbose -T 1 -a -d /dev/fb1 http://192.168.100.119:8084/fhem/rss/myrss.png


Es passiert ... nix. Rufe ich stattdessen eine lokal gespeicherte JPG oder PNG auf (/opt/test.png), dann klappt es. Wieso auch immer, mit ner URL klappt nicht. Also habe ich dann versucht, die Datei zu laden, zu speichern und dann aufzurufen:


system("sudo wget -O /opt/test.png http://192.168.100.119:8084/fhem/rss/myrss.png")
system("sudo /usr/bin/fbi -noverbose -T 1 -a -d /dev/fb1 /opt/test.png")


Ergebnis: FHEM hängt sich schon beim "wget" auf, die Datei ist aber da (wurde also geladen). Derselbe Befehl funktioniert in der Linux Console einwandfrei. FHEM hängt sich aber auch bei normalen Bildern aus dem Internet auf, am RSS liegt es also nicht.

Letzte Idee war, es mit Boardmitteln zu versuchen ...


  my $url  = 'http://192.168.100.119:8084/fhem/rss/myrss.png';
  my $file = '/opt/test.png';
  my $code = getstore($url, $file);


Ergebnis: FHEM hängt sich auf.

Mir gehen die Ideen aus, hat noch jemand eine Idee?

Otto123

#1
Hi,

ich habe gerade folgendes versucht, in der FHEM Kommandozeile, einzeln nacheinander
"wget -O test.png http://raspib3:8084/fhem/rss/myrss.png"
{qx(ls -lha test.png)}

Klappt einwandfrei, da hängt sich nichts auf. Was meinst Du eigentlich mit aufhängen?

1. Vermutung: Hast Du keine Ahnung wie sudo funktioniert? Steht dein FHEM einfach in der passwort Abfrage?
2. Vermutung: Hast Du ein Berechtigungsproblem? Aber da würde FHEM nicht hängen.
Frage was steht denn im Logfile?

Nachtrag: wget braucht kein sudo! Braucht fbi wirklich sudo? (Antwort: gerade probiert: nein! braucht kein sudo) Oder braucht er das in deinem Versuch bloß um die Datei zu lesen? Oder ist sudo deine default Präposition?   ;)

Noch ein Nachtrag: Ich denke Du hast einen schweren Design Fehler:
Wenn ich das von einem Terminal aufrufe kommt das:
Zitatioctl VT_GETSTATE: Unpassender IOCTL (I/O-Control) für das Gerät (not a linux console?)
geht also nur unmittelbar in der echten console.
Das wirst Du von FHEM aus nicht hinbekommen?  :-\

Genau das schreibt der Befehl in der FHEM Kommandozeile (zum nachmachen immer mit den Anführungszeichen!!!) "fbi -a test.png " nämlich ins Logfile
Zitatusing "Andale Mono-16", pixelsize=16,67 file=/usr/share/fonts/truetype/msttcorefonts/Andale_Mono.ttf
ioctl VT_GETSTATE: Unpassender IOCTL (I/O-Control) für das Gerät (not a linux console?)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Det20

#2
Hi,

Zitat von: Otto123 am 12 September 2019, 12:26:21
1. Vermutung: Hast Du keine Ahnung wie sudo funktioniert? Steht dein FHEM einfach in der passwort Abfrage?

Laut VISUDO:

"
fhem ALL=(ALL) NOPASSWD: ALL
"

Zitat von: Otto123 am 12 September 2019, 12:26:21
Noch ein Nachtrag: Ich denke Du hast einen schweren Design Fehler:
Wenn ich das von einem Terminal aufrufe kommt das:geht also nur unmittelbar in der echten console.
Das wirst Du von FHEM aus nicht hinbekommen?  :-\

Doch, mit SUDO, dann erscheint das Bild :)

Zitat von: Otto123 am 12 September 2019, 12:26:21
Genau das schreibt der Befehl in der FHEM Kommandozeile (zum nachmachen immer mit den Anführungszeichen!!!) "fbi -a test.png " nämlich ins Logfile

Du hast "-d /dev/fb1" vergessen.

Laut FHEM LOG kommt beim Aufruf von WGET:


--2019-09-12 13:11:00--  http://192.168.100.119:8084/fhem/rss/myrss.png
Connecting to 192.168.100.119:8084... connected.
HTTP request sent, awaiting response...

Otto123

#3
Zitat von: Det20 am 12 September 2019, 13:07:27
Doch, mit SUDO, dann erscheint das Bild :)

Du hast "-d /dev/fb1" vergessen.
Tut mir leid, kann ich nicht nachvollziehen, bei mir ist video fb0
pi@raspib:~ $ sudo fbi -a -d /dev/fb0 /opt/fhem/test.png
using "Andale Mono-16", pixelsize=16,67 file=/usr/share/fonts/truetype/msttcorefonts/Andale_Mono.ttf
ioctl VT_GETSTATE: Unpassender IOCTL (I/O-Control) für das Gerät (not a linux console?)
pi@raspib:~ $
Aber ich habe bisher auch bei fbi immer an die Männer in schwarzen Anzügen gedacht ;)

Du hast wget wie in meinem Beitrag #1 probiert? Oder "DEINE" methode mit sudo?

Nachtrag: Was bekommst Du mit diesem Befehl?
{qx(curl -s -D - "http://192.168.100.119:8084/fhem?XHR=1")}

Für die Verwendung von sudo hätte ich noch diese Empfehlung: https://wiki.fhem.de/wiki/FHEM_mit_sudo
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Det20

#4
Ich habe eine Idee, weshalb system("wget ...") aus FHEM heraus hängt ... WGET ruft die RSS Datei ab und ist am warten.
Das RSS Modul kann aber nicht reagieren kann, weil FHEM noch wegen WGET wartet.

Otto123

Kann ich Dir nicht bestätigen, funktioniert bei mir auch einwandfrei lokal. Du holst doch nur ein Bild ab, und Du hast ja selbst behauptet, es ist egal welches Bild Du holst.

Aber für die gemeinsame Ideenfindung könntest Du noch die Fragen beantworten  ::)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Det20

So, Lösung gefunden. Also, es lag tatsächlich daran, dass "SYSTEM("WGET ..." blockiert hat und 50_RSS deshalb nicht liefern konnte.
Habe das nun so gelöst: Statt SYSTEM(" nehme ich die Non-Blocking Variante aus diesem Thread: https://forum.fhem.de/index.php?topic=60474.15

Dann blockiert WGET nicht FHEM und RSS kann wie gewünscht liefern.

Otto123

#7
Ich sag es auch gern nochmal, meine Variante aus #1 blockiert nicht.  :o steht auch hier

Aber schön das es läuft. Mich erstaunt zwar die Sache mit der Anzeige des Bildes, aber vielleicht ist das zweite Video Gerät (fb1) anders im System verankert wie das erste (fb0)

Und pass schön auf Dein FHEM auf, dank deines sudo Eintrages kann das jetzt alles machen.  ;)

Nachtrag: Diese Aussage von Dir erschliesst sich mir aber dann mit Deiner jetzigen Lösung auch nicht:
ZitatFHEM hängt sich aber auch bei normalen Bildern aus dem Internet auf, am RSS liegt es also nicht.
Aber egal, ich will es manchmal zu genau wissen  ;D
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Det20

Frag mich nicht wieso es da nicht ging, aber inzwischen habe ich viel rumgespielt und irgendwas hat das geändert.
Der Raspi ist nur für ein Demo-System. Ich drücke auf einem ZWave-Gerät einen Knopf, FHEM löst etwas in einem ERP System aus und zeigt das Ergebnis auf dem Display an. Ansonsten macht die Kiste nix, also kein Internet oder so.

Prof. Dr. Peter Henning

SAP über einen ZWave-Knopf steuern? Damit könnte man reich werden...

LG

pah