FHEM Webfronted im Browser von iPhone FF und Safari - geht nur read only

Begonnen von fhem024, 11 Oktober 2024, 20:03:48

Vorheriges Thema - Nächstes Thema

fhem024

Hallo zusammen,
auf dem iPhone mit FF und Safari (habe es mit keinem weiteren Browser getestet), kann man keine Aktionen starten. Ist bei android nativ genauso - aber da kann man im FF die Desktop Seite aktivieren und dann geht alles - die mobile Seite ist auch da nur lesbar (Aktionen können keine gestartet werden). Die mobilen Seiten sind auch von der Darstellung her für mich nicht wirklich übersichtlich. Wie gesagt, auf android kein Problem - mit dem iPhone schon.

Kann man da irgendwas machen, dass man auch auf dem iPhone im Fhem WebGUI Aktionen starten kann?

Danke
Gruß
fhem024

passibe

Rufst du FHEM direkt über Port 8083 auf? Oder ist ein reverse Proxy (Apache/nginx o.ä.) dazwischengeschaltet?

Was genau bedeutet "Aktionen können keine gestartet werden"? Passiert einfach nichts, wenn du einen Befehl absendest? Aber am PC funktioniert alles?

Steht irgendwas im Log?

Zeig uns mal bitte ein list von deinem FHEMWEB-device. Vielleicht auch mal einen Screenshot vom iPhone.

fhem024

Hallo passibe,

ich rufe fhem direkt über port 8083 auf.

Kein reverse Proxy dazwischen.

Das Problem ist, dass bei der Mobile-Seite gar keine Action-Targets angezeigt werden. Auf der "Standard-Seite" ist alles da und funktioniert auch alles. Auf android kann ich mir die Desktop-Seite im Browser aktivieren (in Firefox), auf dem iPhone gibt es dieses Funktion ja nicht.

Ich habe mal zwei Screenshots gemacht auf android. Der eine Screenshot ist der mit der mobile Seite - wo man nichts starten kann (read only), der zweite ist der mit der Desktop-Seite - da geht dann alles. Ich habe es auch entsprechend markiert.

Mobile
Desktop

Was meinst Du genau mit dem list-Befehl? list [Device] bringt jetzt aus meiner Sicht keine Informationen, die für diese Frage relevant wären.

Danke
fhem024

ergerd

Ist das auch so wenn man das Handy um 90 Grad dreht, also im Querformat?
FHEM auf RasPi 4, ZigBee, 1Wire2WLAN, DS2423, Buderus KM200, Button+, LaCrosseGateway, PCA301, ConBee III, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

fhem024

Da passiert nichts - es findet kein Umschalten auf Querformat statt. Das geht nur bei youtube im Vollbildmodus eines Videos z.B. - da macht es youtube aber selbst.

passibe

Zitat von: fhem024 am 13 Oktober 2024, 08:00:27Der eine Screenshot ist der mit der mobile Seite - wo man nichts starten kann (read only),
Ah, jetzt verstehe ich, was du meinst. Danke für die Screenshots!

Dass das so aussieht, ist normal. Die "Action-Targets" (in FHEM heißt das webCmd bzw. es wird über attr webCmd gesteuert) sind immer unsichtbar, außer du drehst das Handy ins Querformat (bitte überprüfen, ob du nicht die Rotationssperre drin hast).

Dass das so ist, ist schon auch sinnvoll so, weil ansonsten das Interface je nach dem sehr klein wäre und man ständig reinzoomen müsste. Steht nur on/off zur Verfügung wäre das noch verschmerzbar, aber es gibt auch Devices die noch mehr und vor allem längere webCmds haben, wo das dann ein Problem werden würde. Ob man das anders einstellen kann, also, dass webCmd immer sichtbar ist, weiß ich nicht. Vielleicht müsstest du da nochmal googeln oder warten bis sich hier jemand anderes meldet oder selbst einfach mal einen Blick ins CSS stylesheet werfen.

Ich glaube die Idee ist hier aber, dass man in dieser Ansicht alles über den devStateIcon steuert. Was passiert denn, wenn du auf die Glühbirne tippst? Dann müsste eigentlich das Gerät schalten. Falls das nicht der Fall ist, musst du dein devStateIcon anders/richtig konfigurieren, sodass auch definiert ist, welcher Befehl beim drauftippen mitgesendet wird. Also ganz simpel z.B.:attr DEVICE devStateIcon .*on:on:off .*off:off:on
Weil das ja keine Lampen sind, wäre evtl. auch ein anderes Icon passender, etwa: attr DEVICE devStateIcon .*on:general_an:off .*off:general_aus:on
Insgesamt dafür aber einfach mal im Wiki/der Commandref lesen.

Man kann mit devStateIcon auch weitere Sachen machen, die dann auch in der mobilen Ansicht im Hochformat sichtbar sind, z.B. den Zustand eines at-Devices darstellen und es ein/ausschalten:attr DEVICE devStateIcon {\
my $atstate = ReadingsVal($name,"state","inactive");;\
my $aticon = 'general_aus_fuer_zeit@red';;\
if ($atstate =~ m/^Next:.*/) {$aticon = 'general_an_fuer_zeit@orange';;}\
my $atcmd = $aticon eq 'general_aus_fuer_zeit@red'?"active" : "inactive";;\
if ($atstate eq "inactive") {$atstate = ' ;';;}\
"<div><a href=\"/fhem?cmd.dummy=set $name $atcmd &XHR=1\">".FW_makeImage($aticon)."</a> <a href=\"/fhem?cmd.dummy=set $name execNow &XHR=1\">".FW_makeImage("rc_PLAY")."</a> $atstate</div>"\
}

Ansonsten würde ich übrigens – gerade wenn es um ein iPhone geht – sowieso dazu raten FHEMWEB fürs Management zu belassen und einfach Homebridge + homebridge-fhem zu nutzen. Dann hat man alles auch schön im ControlCenter drin und muss nicht immer FHEM selbst öffnen. (Bringt natürlich nichts bei komplizierteren Sachen oder wenn man sich irgendwelche Werte anzeigen lassen will. Aber um Sachen nur an und auszuschalten ist das schon deutlich komfortabler.)

fhem024

Zitat von: passibe am 13 Oktober 2024, 12:59:43(bitte überprüfen, ob du nicht die Rotationssperre drin hast).
Bingo! Das wars! Langsam merke ich, dass ich alt werde. Handy ist einfach nicht meine Domäne - nutze ich eigentlich nur unter Zwang ;D oder wenn ich (was höchst selten ist) einen konkreten use case dafür habe - Fhem ist jetzt mal einer!

Beim Tippen auf die Glühbirne auf die Glühbirne selbst passiert nichts - sonst wäre ich nicht hier gelandet.

Deine anderen ausführlichen Erläuterungen führe ich mir später mal genauer zu Gemüte. Herzlichen Dank dafür!

Gruß
fhem024

LuckyDay

Schau mal bei select style , dass mehr als 2 Spalten angezeigt wird im Portait Modus.