Autor Thema: [PATCH] FHEMWEB/FLOORPLAN: longpoll für dropdown  (Gelesen 4165 mal)

Offline Matthias Gehre

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 707
[PATCH] FHEMWEB/FLOORPLAN: longpoll für dropdown
« am: 20 Januar 2013, 12:27:13 »
Hallo,

angehängter Patch erlaubt das Aktualisieren des ausgewählten Elements von Dropdown-Boxen (z.b. zur Auswahl der desiredTemp)
per Longpoll. Bisher ist dies ja nur für das Aktualisieren von Bildern möglich.

D.h. wenn ich im Browser FHEMWEB oder FLOORPLAN offen habe, und dann über einen andere Weg die desiredTemp ändere,
wird das über Longpoll auch sofort im Browser sichtbar.

Der größte Teil des Patches fügt dem FW_Select ein neues Argument hinzu. Dies beschreibt den Wert des "id" Attributes
des select HTML-tags. In den Aufrufen von FW_Select wird das dann aber nur für Readings benutzt.

Zusätzlich wird fhemweb.js aktualisiert, sodass es bei Aktualisierung eines Readings das dazugehörige Element sucht
(anhand des id Attributes). Und falls das ein select ist, den ausgewählten Wert aktualisiert.

Viele Grüße,
Matthias

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20218
Aw: [PATCH] FHEMWEB/FLOORPLAN: longpoll für dropdown
« Antwort #1 am: 21 Januar 2013, 21:27:29 »
Habs fuer FHEMWEB eingespielt.
Leichte Aenderungen:
- Daten fuer Readings im gleichen Format (auch 3 Spalten)
- Detail-Ansicht-Readings haben passende IDs bekommen, damit erfolgt per longpoll auch das update der Readings.

Fehlt: update vom slider bzw. Zeitanzeige.

Patch fuer FLOORPLAN sollte von Uli eingespielt werden.

Offline UliM

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 2709
Aw: [PATCH] FHEMWEB/FLOORPLAN: longpoll für dropdown
« Antwort #2 am: 21 Januar 2013, 22:10:54 »
Zitat von: rudolfkoenig schrieb am Mo, 21 Januar 2013 21:27

Patch fuer FLOORPLAN sollte von Uli eingespielt werden.

Done gemäß obigem patch, Rev 2547

Zitat von: rudolfkoenig schrieb am Mo, 21 Januar 2013 21:27

- Daten fuer Readings im gleichen Format (auch 3 Spalten)
- Detail-Ansicht-Readings haben passende IDs bekommen, damit erfolgt per longpoll auch das update der Readings.

Update von readings noch nicht nachgezogen. muss ich mir mal anschauen, kann ne Weile dauern.

Gruß,
Uli
RPi2/Raspbian, CUL V3 (FS20, CUL_WS), HM-CFG-USB (ca. 30 HomeMatic-devices), LAN (HueBridge, iTunes, HarmonyHub etc.). Slave-Installation auf OSX.
Aktives Mitglied des FHEM e.V. (Marketing)

Offline UliM

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 2709
Aw: [PATCH] FHEMWEB/FLOORPLAN: longpoll für dropdown
« Antwort #3 am: 22 Januar 2013, 23:54:07 »
Zitat von: rudolfkoenig schrieb am Mo, 21 Januar 2013 21:27

- Daten fuer Readings im gleichen Format (auch 3 Spalten)
- Detail-Ansicht-Readings haben passende IDs bekommen, damit erfolgt per longpoll auch das update der Readings.

Hi Rudi,
zwei Fragen noch:
1. Ist nur die ID der Form id="<device>-<reading>" relevant, oder auch die umschliessende Klasse class="dname" zwingend?
2. Reicht der Reading-Wert selbst, oder muss zwingend auch ein passendes id="<device>-<reading>-ts" vorhanden sein?
2a ;-) Sonst noch etwas Spezielles zu beachten?

Danke+Gruß,
Uli

RPi2/Raspbian, CUL V3 (FS20, CUL_WS), HM-CFG-USB (ca. 30 HomeMatic-devices), LAN (HueBridge, iTunes, HarmonyHub etc.). Slave-Installation auf OSX.
Aktives Mitglied des FHEM e.V. (Marketing)

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20218
Aw: [PATCH] FHEMWEB/FLOORPLAN: longpoll für dropdown
« Antwort #4 am: 23 Januar 2013, 10:03:12 »
FHEMWEB generiert beim longpoll dank den Patch von Matthias nicht nur den Statusaenderung, sondern schickt alle Readings mit "<devname>-<readingname>" und "<devname>-<readingname>-ts" (letzteres fuer timestamp) mit.
Weiterhin werden im Detailfenster die ReadingsWerte und Timestamps in einem div mit passenden id eingeschlossen.
Damit findet fhemweb.js ohne Aenderung die zu aendernde Werte und tauscht diese aus.

Neu dabei in fhemweb.js: falls im gesuchten id ein "-" vorkommt, dann wird die Klasse "changed" gesetzt, damit erscheinen geaenderte Werte rot im Detailfenster.

Also:
1. nein
2. ja/nein

Offline Matthias Gehre

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 707
Aw: [PATCH] FHEMWEB/FLOORPLAN: longpoll für dropdown
« Antwort #5 am: 24 Januar 2013, 00:21:25 »
Kann der Trenner "-" eigentlich im Gerätenamen oder Readingnamen vorkommen? Darüber hatte ich mir beim Patchschreiben gar keine Gedanken gemacht.

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20218
Aw: [PATCH] FHEMWEB/FLOORPLAN: longpoll für dropdown
« Antwort #6 am: 24 Januar 2013, 09:51:22 »
Im Geraetenamen nicht, im Reading schon. Sollte aber kein Problem sein.

Offline UliM

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 2709
Aw: [PATCH] FHEMWEB/FLOORPLAN: longpoll für dropdown
« Antwort #7 am: 26 Januar 2013, 10:13:51 »
Zitat von: rudolfkoenig schrieb am Mi, 23 Januar 2013 10:03
"<devname>-<readingname>"

Danke!
Hab's jett mal eingebaut, funktioniert bestens.
Der unangenehme Nebeneffekt ist, dass die css-Formatierungen angepasst werden müssen, da sich die id ändert.
Hab auch mal id="<devname> <devname>-<readingname>" zu setzen, dann funktionieren aber leider Aktualisierung und Formatierung nicht mehr.

Werd's bei mir noch etwas im Testbetrieb lassen und alsbald einchecken.

Grüßle,
Uli
RPi2/Raspbian, CUL V3 (FS20, CUL_WS), HM-CFG-USB (ca. 30 HomeMatic-devices), LAN (HueBridge, iTunes, HarmonyHub etc.). Slave-Installation auf OSX.
Aktives Mitglied des FHEM e.V. (Marketing)