fhemweb.js Umbau

Begonnen von rudolfkoenig, 31 Dezember 2014, 16:45:43

Vorheriges Thema - Nächstes Thema

justme1968

hier: http://forum.fhem.de/index.php/topic,32430.msg249776.html#msg249776 gibt es zwei beispiel plots für die .cfg.demo.

der sonnauf- und -untergang funktioniert mit der aktuellen version des svg moduls, das spinnennetzdiagramm noch nicht. aber ich denke eki findet noch woran es liegt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Blackcat

So einen style Ordner fände ich auch sinnvoll auch um dort style spezifische js mit einbinden zu können.

PS: kommt jquery jetzt immer in fhemweb oder muss es immer noch gezielt importiert werden?
Viele Grüße Sandra - FHEM Style Entwicklerin iOS6+12
-----
ZBox nano, Homematic, Homebridge, Hue + Mi Light, ZWave, Dyson, etc.
https://www.foodcat.de
https://www.youtube.com/c/FoodCat (hier gibt es auch immer mehr Hausautomatisierungsvideos)

rudolfkoenig

Das Problem mit dem Ordner ist, dass das Verschieben beim update nicht so reibungslos durchzufuehren ist, insb. mit benutzerdefinierten Styles.

Jquery+Jquery-UI wird beim FHEMWEB und FLOORPLAN Aufruf automatisch als erstes geladen.

justme1968

es müsste beim update ja nur das verschoben werden was zu den standard styles gehört. wenn es zu einem style kein directory gibt könnte man den bisherigen weg als fallback erst mal drin lassen.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

hier: http://forum.fhem.de/index.php/topic,32670.msg250583.html#msg250583 ist mal wieder ein problem aufgetaucht weil sich das state reading nicht eindeutig unterscheiden lässt.

sollten wir nicht versuchen das zumindest für die longpoll updates zu beheben? hier könnte man doch state eindeutig als state: versenden und eine passende informId verwenden.

die events für die notifys wären davon nicht weiter betroffen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Dr. Boris Neubert

Meinst Du, dass das state-Reading eine Sonderbehandlung erfährt und nicht als state:foo in den Event-Mechanismus geschleust wird? Das ist mir heute auch schon auf die Füße gefallen.
bn
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

justme1968

ja. genau.

das kann schon für events  probleme machen. auch wenn es hier praktische  gründe und die rückwärts kompatibiliät gibt .

aber für die longpoll updates ist es unnötig und nur probleme.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

herrmannj

bin da auch sehr dafür, im Zweifel auch bei Events.
Zitat von: Dr. Boris Neubert am 24 Januar 2015, 16:51:45
Das ist mir heute auch schon auf die Füße gefallen.
bn
vtml dito
http://forum.fhem.de/index.php/topic,30909.msg251065.html#msg251065

vg
jörg

Blackcat

Mir ist die gestrige changed Änderung heute auf die Füße gefallen, da ich Links als Block rendere (besser klickbar auf Touchgeräten).
Da HTML technisch kein Link benötigt wird, würde ich deshalb folgenden Patch vorschlagen:
Nutzen eines Span statt a, hat das gleiche Ergebnis nur sauberer.

Zudem fand ich die übergreifende Klasse ganz nett um das Icon auch umzufärben, deshalb würde ich sie gerne behalten aber unter einem anderen Namen (changedicon)

Index: 01_FHEMWEB.pm
===================================================================
--- 01_FHEMWEB.pm (revision 7706)
+++ 01_FHEMWEB.pm (working copy)
@@ -1268,6 +1268,9 @@
         my $class = "menu_$l1";
         $class =~ s/[^A-Z0-9]/_/gi;

+        $class .= ($lastDefChange>$lastSavedChange) ? " changedicon" : ""
+                        if($l1 eq "Save config");
+
         # image tag if we have an icon, else empty
         my $icoName = "ico$l1";
         map { my ($n,$v) = split(":",$_); $icoName=$v if($l1 =~ m/$n/); }
@@ -1276,8 +1279,8 @@
                         FW_makeImage($icoName,$icoName,"icon")." " : "";

         if($l1 eq "Save config") {
-          $l1 .= '</a> <a id="saveCheck" class="changed" style="visibility:'.
-                      (int(@structChangeHist) ? 'visible' : 'hidden').'">?</a>';
+          $l1 .= ' <span id="saveCheck" class="changed" style="visibility:'.
+                      (int(@structChangeHist) ? 'visible' : 'hidden').'">?</span></a>';
         }

         # Force external browser if FHEMWEB is installed as an offline app.
Viele Grüße Sandra - FHEM Style Entwicklerin iOS6+12
-----
ZBox nano, Homematic, Homebridge, Hue + Mi Light, ZWave, Dyson, etc.
https://www.foodcat.de
https://www.youtube.com/c/FoodCat (hier gibt es auch immer mehr Hausautomatisierungsvideos)

rudolfkoenig

@Blackcat: Lustigerweise war Dein Vorschlag auch mein erster Versuch, ziemlich genau so :) Ich habe danach noch relativ lange experimentiert, bis ich eine (fuer mich) befriedigende Loesung gefunden habe. Die Haken mit dieser Version:
- das span _IM_ <a> der FP_pH fuehrt dazu, dass ein Click auf das Fragezeichen auch ein save ausloest.
- ich muesste alle Styles anpassen, und das nervt, wg. den Leuten mit eigenen Styles.
Heisst nicht, dass ich nicht offen fuer Aenderungen bin.
Btw. lastSavedChange ist seit gestern Geschichte, und das '</a>' am Ende ist ueberfluessig, bzw. ein Fehler.

Blackcat

ah jetzt habe ich es gesehen, da kann man ja auch noch ein Fenster öffnen. Schick wäre natürlich, wenn man anstatt dem ? einen Änderungscounter hätte :) (kleine Spinnerei am Rande)

Dann muss ich jetzt mal schauen, wie ich den Savechanges Link verbreitere und gleichzeit mir nicht das ? wegrutscht ;)
Viele Grüße Sandra - FHEM Style Entwicklerin iOS6+12
-----
ZBox nano, Homematic, Homebridge, Hue + Mi Light, ZWave, Dyson, etc.
https://www.foodcat.de
https://www.youtube.com/c/FoodCat (hier gibt es auch immer mehr Hausautomatisierungsvideos)

fhainz

Zitat von: Blackcat am 25 Januar 2015, 13:49:46
Mir ist die gestrige changed Änderung heute auf die Füße gefallen, da ich Links als Block rendere (besser klickbar auf Touchgeräten).
Ging mir heute mit dem ios7Style gleich :)

Ich hab es erstmal mit einer absoluten position gelöst.
#saveCheck { position: absolute; top: 5px; right: 10px; }


Grüße

Blackcat

danke :) das sieht schon besser aus
Viele Grüße Sandra - FHEM Style Entwicklerin iOS6+12
-----
ZBox nano, Homematic, Homebridge, Hue + Mi Light, ZWave, Dyson, etc.
https://www.foodcat.de
https://www.youtube.com/c/FoodCat (hier gibt es auch immer mehr Hausautomatisierungsvideos)

rudolfkoenig

@andre: wenn ich es richtig verstanden habe, muessten wir verhindern dass in
CHANGEDWITHSTATE das state Reading ohne Prefix reinkommt.  Vermutlich wuerde
dazu reichen addEvent einen optionalen zweiten Parameter zu spendieren, um
CHANGEDWITHSTATE zu fuellen. Ich frag mich nur, ob das Fehlen des state Events
ohne Prefix nicht irgendwelche Nebeneffekte beim Aktualisieren auf der
Raumuebersicht hat.

@Jörg: verwendest du auch deviceEvents()?

herrmannj

@Jörg: verwendest du auch deviceEvents()?

Nein, ich hänge am notify weshalb ich in "fhemweb.js Umbau" vmtl auch leicht off-topic bin.
ZitatSonderbehandlung erfährt und nicht als state:foo in den Event-Mechanismus
Das war der Punkt - die Unterscheidung in den events ob es reading oder state ist basiert aktuell auf intelligentem Raten.

Würde mir deviceEvents helfen ?

vg
jörg