[gelöst] Floorplan, eigene Icons die 1000ste? (mit Longpoll)

Begonnen von Rince, 04 Januar 2014, 18:09:49

Vorheriges Thema - Nächstes Thema

Rince

#15
Ok.
Ich kann jetzt FHEM auf Port 8090 aufrufen.
Muss ich jetzt den Floorplan neu anlegen auf der Seite mit diesem Port?


Ziehe die Frage zurück.
Natürlich gilt der alte Floorplan ja weiter.

Zunächst musste ich longpoll wieder aktivieren., sonst gab es keine Updates mehr.


Nur leider tut immer noch nicht.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

rudolfkoenig

@UliM:

Es wuerde mir besser gefallen, das Problem nicht haben zu muessen, und es ueber unterschiedliche FHEMWEB Instanzen zu loesen. Wenn ihr doch darauf besteht:

Mir passen die Ausnahmen fuer FLOORPLAN nicht, ich haette das gerne generischer, habe aber noch keinen konkreten Plan. Irgendetwas mit unterschiedlichen Icons je Raum,  bin fuer (durchdachte!) Vorschlaege offen.

Das Problem ist, dass zwar beim ersten Aufruf irgendwie feststellbar ist, dass es sich um ein FLOORPLAN handelt (aber nicht immer welcher, in deinem Beispiel ist /fhem/floorplan gleich /fhem/floorplan/Grundriss), bei der Notify fuer longpoll ist das aber nicht mehr vorhanden. Und du darfst FW_iconDirs auch nicht ueberbuegeln, weil man in einem Browser FHEMWEB, in dem anderen FLOORPLAN anschauen darf (von unterschiedlichen FLOORPLANS nicht zu sprechen).

D.h. fhemweb.js muss bei der inform "Bestellung" angeben, welche Geraete/Events  interessant sind (bisher via room=XXX), ob man roh-Daten (fuer die Konsole) oder welche mit Status/Bild haben will, und wenn letzteres, welche Bilder gewuenscht sind.

Folgendes muss implementiert/geloest werden:
- entscheiden, wie man mehrere Icons einem Geraet auch bei gleichem FHEMWEB Instanz zuordnen kann, und in FHEMWEB implementieren
- im URL genug info hinterlegen, dass man eindeutig auf einem Floorplan schliessen kann
- fhemweb.js modifizieren, damit floorplan Kennung per inform Bestellung weitergegeben werden
- FW_notify modifizieren, damit diese Daten ausgewertet werden.

UliM

Hallo Rudi,
Zitat von: rudolfkoenig am 05 Januar 2014, 18:58:08
Es wuerde mir besser gefallen, das Problem nicht haben zu muessen, und es ueber unterschiedliche FHEMWEB Instanzen zu loesen. Wenn ihr doch darauf besteht:
Mir auch :) Ich selbst brauche diese Funktionalität nicht. Auch habe ich keine Info, wieviele user das benötigen - es kommt halt alle viertel Jahre mal eine Meldung, dass damit etwas nicht funktioniert.

Zitat von: rudolfkoenig am 05 Januar 2014, 18:58:08
Mir passen die Ausnahmen fuer FLOORPLAN nicht, ich haette das gerne generischer, habe aber noch keinen konkreten Plan. Irgendetwas mit unterschiedlichen Icons je Raum,  bin fuer (durchdachte!) Vorschlaege offen.
Unterschiedliche icons je Raum macht m.E. wenig Sinn, damit wäre es dann eigentlich ja doch nur für floorplan.

Zitat von: rudolfkoenig am 05 Januar 2014, 18:58:08
Das Problem ist, dass zwar beim ersten Aufruf irgendwie feststellbar ist, dass es sich um ein FLOORPLAN handelt (aber nicht immer welcher, in deinem Beispiel ist /fhem/floorplan gleich /fhem/floorplan/Grundriss), bei der Notify fuer longpoll ist das aber nicht mehr vorhanden. Und du darfst FW_iconDirs auch nicht ueberbuegeln, weil man in einem Browser FHEMWEB, in dem anderen FLOORPLAN anschauen darf (von unterschiedlichen FLOORPLANS nicht zu sprechen).
Du hast ja schon mal negkündigt, die ganzen globalen Variablen in ein hash schieben zu wollen - damit wäre das ja erledigt.
Vielleicht lässt sich bei dieser Umstellung die icon-Anforderung ja mit abfrühstücken - zB dadurch, dass der iconpath ebenfalls im hash abgelegt wird, dort aber nur einmalig aus dem Attribute gefüllt wird. Ob das passt, hängt dann von der Gesamtlösung ab.

Zitat von: rudolfkoenig am 05 Januar 2014, 18:58:08
D.h. fhemweb.js muss bei der inform "Bestellung" angeben, welche Geraete/Events  interessant sind (bisher via room=XXX), ob man roh-Daten (fuer die Konsole) oder welche mit Status/Bild haben will, und wenn letzteres, welche Bilder gewuenscht sind.

Folgendes muss implementiert/geloest werden:
- entscheiden, wie man mehrere Icons einem Geraet auch bei gleichem FHEMWEB Instanz zuordnen kann, und in FHEMWEB implementieren
- im URL genug info hinterlegen, dass man eindeutig auf einem Floorplan schliessen kann
- fhemweb.js modifizieren, damit floorplan Kennung per inform Bestellung weitergegeben werden
- FW_notify modifizieren, damit diese Daten ausgewertet werden.
...und das wäre mir definitiv zu viel Aufwand unter der Annahme, dass es nur weinge Nutzen.

Vorschlag:
- Ich nehme den Alternativweg über separate FHEMWEB-device mit entspr. iconPath in den Floorplan-Einführungsleitfaden auf.
- Wenn die Umstellung FHEMWEB von globalen Variablen auf hash erfolgt, kannst Du ja mal schauen, ob es sich dabei leicht (!) mit einbauen lässt (dabei wird ja auch eine entspr. Anüpassung von floorplan notwendig sein). Wenn nicht, dann halt nicht :)
Ok?
Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

UliM

Zitat von: Rince am 05 Januar 2014, 16:50:05
Ok.
Ich kann jetzt FHEM auf Port 8090 aufrufen.
...
Nur leider tut immer noch nicht.
Hi Rince,
diese Meldung ist zu allgemein, unm helfen zu können. Was geht nicht? Was genau hast Du gemacht? Meldungen im Log?
Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

rudolfkoenig

Alternativ-weg dokumentieren ist gut. Leider loest das verschieben der Variablen ins FHEMWEB-hash keine der  Probleme, es wird "nur" sauberer, und muss nicht unnoetig kopiert werden. Leider weiss FHEMWEB dann immer noch nicht, ob die Bilder fuer eine FHEMWEB-Seite oder fuer ein FLOORPLAN (und wenn, dann welches) zu liefern sind.




fiedel

#20
ZitatHallo Rudi,
Zitat von: rudolfkoenig am 05 Januar 2014, 18:58:08

    Es wuerde mir besser gefallen, das Problem nicht haben zu muessen, und es ueber unterschiedliche FHEMWEB Instanzen zu loesen. Wenn ihr doch darauf besteht:

Mir auch :) Ich selbst brauche diese Funktionalität nicht. Auch habe ich keine Info, wieviele user das benötigen - es kommt halt alle viertel Jahre mal eine Meldung, dass damit etwas nicht funktioniert.

Soso, ich könnte ja per Cronjob stündlich schreiben, dass es ein Problem gibt.  ;) :P

Vermutlich gibt es nur so wenige Meldungen, weil die Leute merken, dass es nicht geht und dann aufgeben. Manche haben sich auch schon am programmieren von Alternativen zu FP versucht. Dabei ist die Grundidee (so wie sie bis jetzt im FP- Handbuch beschrieben ist) völlig ausreichend um ein top Frontend nach eigenem Geschmack zu gestalten.

Ist das denn überhaupt praxisgerecht, für jeden Unterfloorplan eine extra WEB-Instanz anzulegen?

Ich habe z.B. einen Hauptfloorplan und 8 Unter- FPs, die ich per Buttons im Hauptfloorplan anspringe. Wird das nicht irgendwann langsam?
Außerdem: Ich nutze den FP über Portfreigabe und Basic Auth/HTTPS. Jetzt müsste ich für jeden Unterfloorplan einen Port freigeben und ein extra Login einrichten.

Also ich lebe dann lieber weiter mit "refresh" statt "longpoll" und habe dafür meine Darstellung, so wie gewünscht. Vielleicht ergibt sich bei Rudis geplanter "Umstrukturierung" der Variablen noch eine bessere Lösung. Ich würde gerne etwas dazu beitragen, aber obwohl ich hier schon sehr viel gelernt habe, bin ich davon leider noch weit entfernt.

Viele Grüße

Frank


FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

UliM

Zitat von: rudolfkoenig am 06 Januar 2014, 17:39:44
Leider weiss FHEMWEB dann immer noch nicht, ob die Bilder fuer eine FHEMWEB-Seite oder fuer ein FLOORPLAN (und wenn, dann welches) zu liefern sind.
Das liesse sich ja beheben durch ein Einfügen von "&floorplan=<floorplanname>", oder auf html-Ebene als floorplanId=<floorplanname> analog informId.
In der URL-Angabe für images könnte statt "/fhem/images/.." ein "/floorplan/<floorpanname>/images/.." übergeben werden, das dann halt ausgewertet und auf /fhem/images zurückgesetzt werden müsste.
Eine Knappheit an Übergabemöglichkeiten hat's also m.E. nicht, aber es bleibt halt ne floorplan-Sonderlösung in FHEMWEB.pm & .js und damit unschön.

Hab den floorplan-guide entsprechend angepasst (Version 1.3 nun im SVN), für feedback von Probelesern (Rince?) wär ich dankbar.

@Frank: sehe ich ebenso wie Du. Wie man aber auch sieht, wäre die Implementierung einer "sauberen" Lösung für das Problem ein größerer Akt.

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

rudolfkoenig

ZitatIst das denn überhaupt praxisgerecht, für jeden Unterfloorplan eine extra WEB-Instanz anzulegen?
Nein, finde ich nicht. Ist es normal, dass man fuer die gleiche Lampe in jedem Floorplan unterschiedliche Bilder haben will? Das finde ich auch nicht.

Uli, falls Du sicherstellen kannst, dass
- bei einem normalen Floorplan-Aufruf der Name des Floorplans vorkommt (also _immer_  /fhem/floorplan/Grundriss, keine Ausnahmen wie jetzt mit /fhem/floorplan)
- im body Attribut der Name des Floorplans (wie bisher) vorkommt

dann wuerde ich
- fhemweb.js beibringen, dass im inform dieser Name (aus body) an FHEMWEB weitergereicht wird
- FHEMWEB aendern, damit der Name des Floorplans vor dem iconPath eingefuegt wird.

Rince

Hi,
brauch grade Zeit für Familie.
Ich sehe sie mir im SVN nachher gerne an :)


@Rudi
Ich falle mir als Beispiel wer unterschiedliche Icons braucht ein ;)

Es ist so:
Meine Devices erstrecken sich vom FullHD Fernseher bis hin zum 320x200 Pixel Einstiegshandy meiner Frau.
Dazwischen tummeln sich 5 Tabs, mit nochmal 3 verschiedenen Auflösungen.

Ich will zwar nicht für jedes Device einen eigenen Floorplan, aber für 3 oder 4 wäre es schon hübsch.

Auf dem Mega Screen kann ich viel mehr Infos darstellen (Garten, Hofeinfahrt, Kamera(?)), als auf dem Mini Display des Smartphones meiner Frau. Die ist aber wichtig.
Weil vor ihr muss ich ja die Kosten und die Zeit rechtfertigen ;)

Grüße

Rince
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

UliM

Zitat von: rudolfkoenig am 06 Januar 2014, 18:45:45
Uli, falls Du sicherstellen kannst, dass
- bei einem normalen Floorplan-Aufruf der Name des Floorplans vorkommt (also _immer_  /fhem/floorplan/Grundriss, keine Ausnahmen wie jetzt mit /fhem/floorplan)
Eingecheckt (es wird ein redirect ausgeführt falls die URL den floorplan-Namen noch nicht enthält)

Dieser Ansatz gefällt mir sehr gut - darf halt nicht auf die Bretter gehen falls der www/images/<floorplanname>-Unterordner nicht existiert - das ist ja der Regelfall.
Oder hab ich das falsch verstanden?

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

Rince

#25
Gut. Ich checke nachher die letzten Änderungen von Rudi und dir Uli aus, mach nen Reboot und lege los mit der Erstellung eines neuen Floorplans.

Soweit ich das jetzt verstanden habe, muss der Unterordner mit den besonderen Icons so heißen wie der Floorplan?
Ich werde zwei Icons für ein Presence Device testen und für ein HM Device.


Dann werde ich mal an Hand der Anleitung 1.3 versuchen einen entsprechenden neuen Floorplan anzulegen. Durchgelesen habe ich es mir schon ein paar Mal :)

Uli, wenn du nix dagegen hast, maile ich dir meine Step by Step Vorgehensweise zu. Das dürfte das Nachvollziehbarste sein. Wenn ich es hinbekomme, dürfte es jeder schaffen :)

Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

UliM

Zitat von: Rince am 06 Januar 2014, 20:54:05
Gut. Ich checke nachher die letzten Änderungen von Rudi und dir Uki aus, mach nen Reboot und lege los mit der Erstellung eines neuen Floorplans.
Da musst Du noch warten, bis Rudi die Anpassungen in fhemweb.* gemacht und eingecheckt hat. Die Änderung in floorplan.pm bringt erstmal nur, dass der floorplan-name auch in die URL kommt, wenn man nur den Standard-floorplan aufgerufen hat.

Zitat von: Rince am 06 Januar 2014, 20:54:05
Soweit ich das jetzt verstanden habe, muss der Unterordner mit den besonderen Icons so heißen wie der Floorplan?
So hab ich's auch verstanden - warten wir ab was Rudi sagt :)


Zitat von: Rince am 06 Januar 2014, 20:54:05
Uli, wenn du nix dagegen hast, maile ich dir meine Step by Step Vorgehensweise zu. Das dürfte das Nachvollziehbarste sein. Wenn ich es hinbekomme, dürfte es jeder schaffen :)
Lieber wäre mir Fehlerhinweise oder noch besser eine "Korrektur" für den floorplan-leitfaden.

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

Rince

Zitat von: UliMZitat von: Rince am Heute um 20:54:05
Uli, wenn du nix dagegen hast, maile ich dir meine Step by Step Vorgehensweise zu. Das dürfte das Nachvollziehbarste sein. Wenn ich es hinbekomme, dürfte es jeder schaffen :)

Lieber wäre mir Fehlerhinweise oder noch besser eine "Korrektur" für den floorplan-leitfaden.

Gruß, Uli

Logisch. Ich hab da schon 2-3 Anmerkungen :)
Wenn Rudi die Änderungen eingecheckt hat, lege ich los :)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

rudolfkoenig

Habs geaendert, bitte testen. Bei mir scheint es mit und ohne longpoll zu funktionieren, hoffentlich ohne Nebeneffekte.
Floorplan-Icons werden zuerst in einem Verzeichnis fhem/www/images/<floorplanName> gesucht, und dann erst im iconPath. rereadicons ist weiterhin notwendig.

Rince

#29
Ich lege los:
Bewaffnet:

Guide V 1.3 aus dem SVN
Update FHEM
die beiden frisch geänderten Dateien von Rudi aus dem SVN geholt und auf den RasPi gebracht (01_FHEMWEB.pm & fhemweb.js)

Vorbereitung für den Floorplan:
Verzeichnis angelegt für eigene Grafiken: /opt/fhem/www/images/fp_OG_Grundriss_1024
(Frage an Uli an dieser Stelle => wenn man einen Floorplan anlegt, könnte dann nicht dieses Verzeichnis automatisch angelegt werden?)

Reboot

ich melde mich dann später wieder :)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)