Floorplan und relative Koordinaten der Geräte

Begonnen von tetzlav, 28 Januar 2013, 10:34:38

Vorheriges Thema - Nächstes Thema

tetzlav

Ich muss mal ein älteres Thema aus der Mailingliste aufgreifen:
Link

Ich habe das Problem, dass ich auf einem Desktop-Rechner (WEB mit dark-style) meinen Floorplan schön ein- und ausgerichtet habe.

Schau ich mir dann den selben Plan auf dem iPad (WEBtablet mit darkfloorplan-style, fp_noMenu=1, komplett ohne Menü, also eigtl. nur das Bild, eben um Platz zu sparen), dann sind alle Geräte um reichlich hundert px - eben um die Breite des Menüs bei Verwendung eines entsprechenden Styles - nach rechts verschoben. Es gab in der o.g. Diskussion den Ansatz, die Geräte relative zum Floorplan.png auszurichten, was durchaus Sinn macht und momentan nicht der Fall zu sein scheint, oder?

Um bestehende Floorplans der Nutzer nicht zu zerstören, könnte man evtl. auch einen Offset oder dergleichen ermöglichen?

Beste Grüße

UliM

Hi,
einen offset könnte ich einbauen.
wenn ich Dich richtig verstehe, erfolgt die Darstellung unterschiedlich auf PC-browser vs Pad-browser?
Dann müsste ein offset also abhängig von der fhemweb-instanz sein, richtig?

Wenn Du das so bestätigst, nehme ich's augf meine todo-Liste, kann aber wien wenig dauern.

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

tetzlav

Zitat von: UliM schrieb am Mo, 28 Januar 2013 19:30wenn ich Dich richtig verstehe, erfolgt die Darstellung unterschiedlich auf PC-browser vs Pad-browser?
Dann müsste ein offset also abhängig von der fhemweb-instanz sein, richtig?

Nein, das hat mit dem Browser an sich nichts zu tun.
und
Ja, prinzipiell schon.

Ich habe die FHEMWEB-Instanzen folgendermaßen mit unterschiedlichen styles definiert:
define WEB FHEMWEB 8083 global
attr WEB basicAuth {use FritzBoxUtils;;FB_checkPw("localhost","$password") }
attr WEB stylesheetPrefix dark

define WEBtablet FHEMWEB 8085 global
attr WEBtablet basicAuth {use FritzBoxUtils;;FB_checkPw("localhost","$password") }
attr WEBtablet stylesheetPrefix darkfloorplan
attr WEBtablet touchpad 1


gleichzeitig für den Grundriss
define Grundriss FLOORPLAN
attr Grundriss fp_default 1
attr Grundriss fp_noMenu 1


Das führt dazu, das normale WEB (Port 8083) links noch das FHEM-Logo + Menü mit einer Breite von ~150px anzeigt.
Das WEBtablet (Port 8085) zeigt dann den Floorplan ohne dieses Logo/Menü an, woraufhin alle auf dem FP definierten Objekte um die Breite des (nicht vorhandenen) Logos/Menüs auf dem Floorplan nach rechts rutschen.

Das kann u.a. entweder dadurch verhindert werden, indem man die Objekte auf dem Floorplan relativ zum fp_Grundriss.png positioniert (also die <div> in das <div> des fp_Grundriss.png packt, siehe ML-Beitrag oben), oder für jede Webinstanz einen offset definiert, um welchen alle Objekte verschoben würden.

Ersteres hat den Vortail, das es m.M.n. logisch und suaber implementiert wäre, aber den Nachteil das bestehende Floorplan-Definitionen nach einer solchen Änderung dann alle neu positioniert werden müssen.

Zweiteres ist irgendwie etwas unsauber gelöst, würde aber bestehende Floorpläne nicht kompromitieren.

Ich hab mir mal die aktuelle 95_FLOORPLAN.pm angeschaut und die entsprechenden Codezeilen umkopiert, so dass die Geräte in das <div> des Grundriss.png gepackt werden. Nur die weblinks erwische ich damit nicht...


Beste Grüße

UliM

Zitat von: tetzlav schrieb am Di, 29 Januar 2013 14:17Das führt dazu, das normale WEB (Port 8083) links noch das FHEM-Logo + Menü mit einer Breite von ~150px anzeigt.
Das WEBtablet (Port 8085) zeigt dann den Floorplan ohne dieses Logo/Menü an, woraufhin alle auf dem FP definierten Objekte um die Breite des (nicht vorhandenen) Logos/Menüs auf dem Floorplan nach rechts rutschen.
Mir ist nicht klar, woher dieser Effekt kommen soll.
Kann eigentlich nur an den verwendeten css liegen.

Kannst Du die css mal bitte vergleichen - warum erscheint das fp-Menü in 8083, aber nicht in 8085?

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

tetzlav

[quote title=UliM schrieb am Di, 29 Januar 2013 14:41]
Zitat von: tetzlav schrieb am Di, 29 Januar 2013 14:17Kannst Du die css mal bitte vergleichen - warum erscheint das fp-Menü in 8083, aber nicht in 8085?

Ahhh, stimmt!

Sorry, ich hatte vergessen, dass ich das darkfloorplanstyle.css etwas bearbeitet hatte um aus Platzgründen das Menü/Logo links nicht anzuzeigen. Das spart wirklich unheimlich Platz auf dem Pad.

Ich würde es trotzdem toll finden, wenn eine Möglichkeit geschaffen würde eigene css zu verwenden ohne an die fixen/absoluten Maße der Standardstyles gebunden zu sein. Oder sind es wirklich die oben beschriebenen Nachteile einer solchen Änderung?

UliM

Hi,
wie geschrieben, ich kann so'n offeset gern einbauen, muss aber wissen, wie's den usern am meisten bringt.
Deshalb die Frage, ob das zB je fhemweb-instanz unterschiedlich benötigt wird...

Wie hätten Sie's denn gern?  ;-)

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

tetzlav

Zitat von: UliM schrieb am Di, 29 Januar 2013 16:02Deshalb die Frage, ob das zB je fhemweb-instanz unterschiedlich benötigt wird...

Ja, sowas wie
define WEB FHEMWEB 8083 global
attr WEB stylesheetPrefix dark

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix darkfloorplan
attr WEBtablet touchpad 1
attr WEB fpImageOffset 15,150



Zitat von: UliM schrieb am Di, 29 Januar 2013 16:02Wie hätten Sie's denn gern?  ;-)
Wenn du so fragst dann die Geräte lieber relativ zum Bild des Grundrisses wie in der angehängten 95_FLOORPLAN.pm (in die ich auch noch einen neuen style 7 [name + command] eingefügt habe).


Beste Grüße

DC

Diesen Vorschlag finde ich gut, nur löst das nicht das zu Grunde liegende Problem.

Jedes Device, PC, iPad, iPhone etc hat andere Bedingungen. Koppelt man die Koordinaten an das Hintergrundbild, passt es vielleicht für Browser und Pad, aber sobald man mit dem Telefon darauf geht, stimmt es wieder nicht. Um das Problem zu lösen, geht FHEM über unterschiedliche Web Ports (8083, 8084, 8085 etc). Es müsste möglich sein, die Koordinaten als Option für einen Port getrennt einzustellen.
----------
FHEM auf rPi, HMLAN, HM
Mac, iPad, iPhone

DC

Nachtrag:

Was ich meinte: nicht als Offset, sondern die Koordinaten der einzelnen Geräte (und ggf. die Ions) je fhemweb-Instanz getrennt
----------
FHEM auf rPi, HMLAN, HM
Mac, iPad, iPhone

Volker

Hallo,

um die weblinks "zu erwischen" must du nur das Ende des div weiter unten im Code setzen.

Ich habe damals bei mir bewusst die weblinks ausgeschlossen weil ich einen Weblink unter das Menu positionieren wollte.

Ich habe nicht lange nach einer anderen Lösung dafür gesucht weil mich das nicht gestört hat.
MfG

Volker

RasPi als FHEM-Plattform, BananaPi, HMLan, HM-LC_Bl1PBU-FM, HM-LC-SW4-DR, HM-LC-SW4-PCB, HM-TC-IT-WM-W-EU, HM-CC-RT-DN