[gelöst] smallscreen und readingsGroup

Begonnen von tomspatz, 05 März 2016, 17:22:08

Vorheriges Thema - Nächstes Thema

tomspatz

Im smallscreen sind die Titel und die rg anklickbar.
Das sollte so nicht sein oder?
LG
Tom

rudolfkoenig

Kannst du das bitte genauer beschreiben, am besten mit Screenshot?

tomspatz


rudolfkoenig

Ich verstehe immer noch nicht, warum das falsch ist.
Aber vielleicht ist das eine ReadingsGroup Spezialitaet, und damit waere ich raus.

tomspatz

Hallo Rudolf
ich dachte das bei WEBphone und WEBtablet ALLE devices NICHT anklickbar sind. Wahrscheinlich doch eine ReadingsGroup Spezialität.
Wenn muss ich dafür anschreien??

rudolfkoenig

Niemanden, weil die Annahme falsch ist.

Das WEBtablet verhaelt sich wie der Desktop. WEBphone blendet nur die webCmd's aus, das kann man mit diversen Tricks aber wieder einblenden (smallscreenCommands+ (Querhalten oder hiddenroom=detail)).

tomspatz

Hmmmmm
jetzt muss ich korrigieren.
Auf dem Tablett welches auf WEBtablet zugreifft ist es aber "richtig" also NICHT anklickbar.

marvin78

Was richtig ist, ist wohl Ansichtsache...

Ich nehme an, dass du für die entsprechenden WEB-Instanz das allowedCommands im entsprechenden allowed Device gesetzt hast.

rudolfkoenig

Evtl. ist das eine Folge meiner "smallscreenCommand + hiddenroom=detail" Aenderung vor ein paar Tagen.

In meinem Tests sind die readingsGroup Elemente mit sinnvollen Links in allen FHEMWEB Varianten (Desktop/Touchpad/Smallscreen) hinterlegt, und ich behaupte, dass das so gewollt ist. Wenn ich das Probem untersuchen soll, brauche ich eine Beispieldefinition um das Problem nachzustellen (d.h. Definition+Attribute fuer alle readingsGroup, FHEMBWEB und readingsGroup Elemente), und eine Erklaerung, warum die Darstellung ohne Links korrekt waere.

tomspatz

@rudolfkoenig
hier meine Definitionen:
define WEBphone FHEMWEB 8084 global
attr WEBphone defaultRoom Wohnzimmer
attr WEBphone hiddenroom input,save,Unsorted,ZWave,Everything,Logfile,Commandref,Remote doc,Edit files,Select style,Event monitor,Weihnachten,Heizungssteuerung
attr WEBphone smallscreenCommands 1
attr WEBphone sortRooms Weihnachten Bad Büro Flur Küche Schlafzimmer Wohnzimmer Verwaltung
attr WEBphone stylesheetPrefix smallscreen
define allowed_WEBphone allowed
attr allowed_WEBphone basicAuth { ("$user:$password" eq "xxx:yyy") || ("$user:$password" eq "xxxi:yyy") || ("$user:$password" eq "xxx:yyy")}
attr allowed_WEBphone validFor WEBphone

define WEBtablet FHEMWEB 8085 global
attr WEBtablet defaultRoom Wohnzimmer
attr WEBtablet hiddenroom input,detail,save,Unsorted,ZWave,Everything,Logfile,Commandref,Remote doc,Edit files,Select style,Weihnachten,Heizungssteuerung
attr WEBtablet sortRooms Weihnachten Bad Büro Flur Küche Schlafzimmer Wohnzimmer System Verwaltung
attr WEBtablet stylesheetPrefix touchpad

die ReadingsGroup die ich meine:
define rg_ZeitschaltuhrLichtWohnzimmerSchrank2A readingsGroup ZeitschaltuhrLichtWohnzimmerSchrank2A:disabled,+DEF,<{rg_ZeitschaltuhrLichtWohnzimmerSchrank2A_show_conditional}@disabled>
attr rg_ZeitschaltuhrLichtWohnzimmerSchrank2A alias Zeitschaltuhr
attr rg_ZeitschaltuhrLichtWohnzimmerSchrank2A commands { 'disabled.0' => 'set $DEVICE disable', 'disabled.1' => 'set $DEVICE enable' }
attr rg_ZeitschaltuhrLichtWohnzimmerSchrank2A room Wohnzimmer
attr rg_ZeitschaltuhrLichtWohnzimmerSchrank2A valueFormat { if ( $READING =~ m/.*DEF/ ) { my @text = split(" ", $VALUE);; shift @text;; return join(" ", @text) }}
attr rg_ZeitschaltuhrLichtWohnzimmerSchrank2A valueIcon { 'disabled.0' => 'ios-on-for-timer-green', 'disabled.1' => 'ios-off' }

oder auch:
define BatterieStatus readingsGroup .*:[Bb]attery
attr BatterieStatus alias Batterie Status
attr BatterieStatus mapping %ALIAS
attr BatterieStatus notime 1
attr BatterieStatus room System
attr BatterieStatus valueFormat {return "0" if ( $NUM <=15 );;\
return "25" if( $NUM <=25 );;\
return "50" if( $NUM <=50 );;\
return "75" if( $NUM <=75 );;\
return "100"}
attr BatterieStatus valueIcon {'battery.0' => 'measure_battery_0@red','battery.25' => 'measure_battery_25@orange','battery.50' => 'measure_battery_50@green','battery.75' => 'measure_battery_75@green','battery.100' => 'measure_battery_100@green','Battery.0' => 'measure_battery_0@red','Battery.100' => 'measure_battery_100@green','batteryLevel.0' => 'measure_battery_0@red','batteryLevel.25' => 'measure_battery_25@orange','batteryLevel.50' => 'measure_battery_50@green','batteryLevel.75' => 'measure_battery_75@green','batteryLevel.100' => 'measure_battery_100@green'


In beiden RG ist es so wie auf meinen Sreenshots. Auf dem Tablett sind diese NICHT anklickbar,
Was mE auch OK ist für eine "schlanke" Bedienung auf einem Tablett, das gleiche für das Smartphone.
Wenn man alles Bedienen und einstellen möchte kann man es ja über 8083 aufrufen.

rudolfkoenig

Bei WEBtablet enthaelt hiddenroom detail, bei WEBphone nicht.

tomspatz

ZitatBei WEBtablet enthaelt hiddenroom detail, bei WEBphone nicht.

Ja das aber erst nachdem du...

ZitatIch habe fhemweb.js geaendert: wenn man smallscreenCommands und "hiddenroom detail" gesetzt hat, dann oeffnet ein Klick auf dem Geraetenamen die Liste aller webCmds in einem Dialog.

Beide Parameter gesetzt macht das kauderwelsch auf iOS.
Das js popup geht auf und parallel dazu das Safari Auswahl Feld.

rudolfkoenig

Im deinem ersten Beitrag war das Problem, dass die Links anklickbar sind (ein solches Problem konnte ich bis jetzt nicht nachvollziehen), jetzt scheint das Problem zu sein, dass nach dem Anklicken nicht das kommt, was du erwartest. Was genau kommt, ist mir nicht klar, nachvollziehen kann ich es auch nicht (gerade mit einem iOS Geraet getestet).
Bin langsam muede.

tomspatz

SORRY aber ich dachte das es selbstverständlich erscheint  :-\

Also VOR deinem patch war in WEBphone auch detail in hiddenroom.
Wenn man das Smartphone quer/landscape hält erscheinen auch die Steuer Elemente falls vorhanden.
Sonst ist NICHTS anklickbar.  das war SUPER. :)
Das war doch super. Bei WEBtablet ist es ja auch so geblieben. Dort ist nichts anklickbar und die Steuer Elemente sind daneben.

Von links anklickbar konfus.
Man kann doch auf dem Handy Screenshot es eigentlich sehen, die Überschrift "Zeitschaltuhr" sowie das device selbst welches eine readingsGroup ist, ist unterstrichen also anklickbar.
Da ich dort schon Detail aus hiddenroom raus hatte sind alle anderen devices auch grün also anklickbar.

Problematisch oder unschön,  finde ich nach deinem patch, also wenn man smallscreenCommands 1 und "hiddenroom detail" gesetzt hat das auf dem iOS Gerät zwar im landscape Modus die ggf. vorhandenen Steuer Elemente da sind aber die devices die diese Elemente haben auch direkt anklickbar sind.
Und da popt einmal ein Java auf bei einem dimmer ist es OK, doch bei einem Auswahlfeld, also setList popt Java und parallel dazu das Auswahlfeld vom Safari.

Hoffe das ich es jetzt plausibel erklärt habe.

LG
Tom

rudolfkoenig

ZitatProblematisch oder unschön,  finde ich nach deinem patch, also wenn man smallscreenCommands 1 und "hiddenroom detail" gesetzt hat das auf dem iOS Gerät zwar im landscape Modus die ggf. vorhandenen Steuer Elemente da sind aber die devices die diese Elemente haben auch direkt anklickbar sind.
Das ist ja auch Sinn der Sache. Andere haben sich beschwert, dass bei manchen Geraeten die Landscape Methode nicht funktioniert, und ueberhaupt, es waere muehselig. Diese Option gibt dir nichts, was du durch Drehen nach Landscape nicht haettest, und keiner zwingt Dich, irgendwo hinzuklicken.

ZitatUnd da popt einmal ein Java auf bei einem dimmer ist es OK, doch bei einem Auswahlfeld, also setList popt Java und parallel dazu das Auswahlfeld vom Safari.
Ok, da waeren wir beim Problem Nummer 3: Die Neue Methode hat Probleme mit der Anzeige von Auswahlfeldern unter iOS. Habs gerad geprueft:
-chrome@desktop ist ok, chrome@android ist ok, Safari@iOS oeffnet den Auswahlfeld beim Oeffnen des Dialogs (unbestellterweise) und das an falscher Stelle. Wnn man ein Element anklickt, dann ist alles ok. Das ist mAn ein iOS Bug, wer dafuer einen Patch liefern will, soll sich melden.

tomspatz

Moin
OK wahrscheinlich habe ich mich von Anfang an nicht richtig ausgedrückt  :-[ SORRY.

Das Problem Nr. 3, genau das ist was ich, für mich, nicht so toll finde.
Wenn es ein iOS Bug ist, sei es drum. Ich würde gerne es wegprogrammieren, doch leider null Kenntnis davon, schade.

Was ich allerdings für MICH machen würde, wäre dein letzten patch umzuschreiben, rauszunehmen etc.
Wenn du mir auf diesen weg hilfst??

rudolfkoenig

Rollback von www/pgm2/fhemweb.js muesste reichen, danach fhemweb.js in das global Attribut exclude_from_update eintragen.

tomspatz

ok habe gefunden:
https://sourceforge.net/p/fhem/code/10956/#diff-1
Verstehe nur nicht wie ich die "alte" Version herunterladen kann.

rudolfkoenig

"update" speichert die alte Version von allen ersetzten Dateien, und mit "restore" kann man diese Version wieder zurueckkopieren.

tomspatz

mein restore liefert leider nur:
Available for restore:
  2016-03-05
  2016-03-06
  2016-03-08


Leider ist die fhemweb.js da nicht drin.

rudolfkoenig

Probier mal
restore 2016-03-08/www/tablet/js/fhemweb.js

tomspatz

Auf Dateisystemebene befindet sich in dem Verzeichniss 2016-03-08 nur eine CHANGED und ein FHEM Ordner in dem allerdings die  fhemweb.js nicht drin ist. :-[

krikan


rudolfkoenig

ZitatAuf Dateisystemebene befindet sich in dem Verzeichniss 2016-03-08 nur eine CHANGED und ein FHEM Ordner in dem allerdings die  fhemweb.js nicht drin ist. [img alt=:-[]https://forum.fhem.de/Smileys/default/embarrassed.gif
Dann wuerde ich es mit 2016-03-05 versuchen. Falls du taeglich ein update faehrst, dann ist die Aenderung aber auch nicht da erhalten, da sie ab 02-29 ausgeliefert wurde. Damit bleibt nur die Variante von krikan.

tomspatz

YES

VIELEN DANK @rudolfkoenig und @krikan

Da ich tatsächlich die letzten Tage die Updates gemacht habe war die fhemweb.js da nicht drin.
Nebenbei einige Sachen über fhem gelernt.