New FHEM Tablet UI

Begonnen von setstate, 22 Februar 2015, 23:37:24

Vorheriges Thema - Nächstes Thema

SirUli

#2385
Zitat von: Gizmoh am 25 August 2015, 09:26:05
Der Hintergrund ist folgender: Ich habe MAX! Heizkörperthermostate, die ich allerdings nur über Dummys schalte, damit sie nicht aus dem Automatikprogramm rausgehen. Jetzt hätte ich gerne das Thermostatat Widget, dass mir die Temperatur, Valveposition und DesiredTemp vom Max HT anzeigt, eine Temperaturänderung jedoch an den zugehörigen Dummy sendet.
Hat jemand schonmal sowas gemacht?

Tip #1: attr [(wand)thermostat] keepAuto 1

Tip #2: Damit ich dennoch den manuellen Modus einschalten kann, habe ich einen Readingsproxy eingebaut:
Internals:
   CFGFN
   DEF        KU_Wandthermostat:mode
   DEVICE     KU_Wandthermostat
   NAME       KU_Wandthermostat_OVERRIDE
   NR         243
   NTFY_ORDER 50-KU_Wandthermostat_OVERRIDE
   READING    mode
   STATE      manual
   TYPE       readingsProxy
   Content:
     KU_Wandthermostat 1
   Readings:
     2015-06-23 21:44:35   lastCmd         manual
     2015-08-26 18:49:57   state           manual
Attributes:
   devStateIcon manual:sani_heating_manual@orange auto:sani_heating_automatic@green
   group      KU-Heizung
   room       Technik-Kueche
   setFn      {my $mode = ReadingsVal("$DEVICE","mode","n/a");;my $desiredTemperature = ReadingsVal("$DEVICE","desiredTemperature","n/a");;if ($mode ne $CMD) {fhem("set $DEVICE desiredTemperature ".$CMD." ".$desiredTemperature);;}}
   setList    auto manual
   webCmd     auto:manual


So sieht das in der UI aus (mit Wandthermostat & Thermostat für meine Küche (KU)) --> Siehe Anhang.  Und so als Code:
<div data-type="thermostat"
        data-subtype="MAX"
        data-get="desiredTemperature"
        data-set="desiredTemperature"
        data-temp="temperature"
        data-off="off"
        data-boost="boost"
data-step="0.5"
        data-min="5"
        data-max="22"
        data-device=" KU_Wandthermostat"
        class="cell"></div>

    <div style="margin-top:-27px !important;margin-bottom:20px !important">
        <div data-type="label" data-device=" KU_Thermostat" data-get="valveposition" data-unit=" %" class="cell" data-fix="0" style="display:inline;margin:0 !important;"></div>
    </div>
<div data-type="multistatebutton"
       data-device=" KU_Wandthermostat_OVERRIDE"
       data-get-on='["manual","auto"]'
       data-icons='["oa-sani_heating_manual", "oa-sani_heating_automatic"]'
       data-colors='["#aa6900", "SeaGreen"]'
       data-background-colors='["#505050", "#505050"]'></div>

Gizmoh

Perfekt, danke, genau sowas habe ich gesucht :-)

Gizmoh

Zitat von: dennis_n am 26 August 2015, 20:10:30
Hi,

gibt es irgendeine Möglichkeit das folgende Müll-Widget einzubinden?
http://forum.fhem.de/index.php/topic,32382.0.html

Sorry, habe bisher nur ZWave Schalter eingebunden.

Gruss
Dennis

Genau das würde mich auch interessieren. Die Einbindung über readingsgroup device klappt leider nicht :-(

Grüße
Gizmoh

Nobby1805

Da gibt es noch ein kleines Problem bei der Achsenbeschriftung ... beim Tageswechsel bzw. bei Neuskalierung der Y-Achse
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

cmillsy

Zitat von: setstate am 12 August 2015, 09:32:20
Hi Craig,

the volume control is added to the playstream widget now.
You can use it like this:

<div data-type="playstream" data-url="http://radioeins.de/stream"
data-device="dummy1"
data-get-on="play" data-get-off="stop"
         data-volume="volume">
</div>


data-volume refers to a FHEM reading which holds the volume value (numeric 0-100)
Regards
Mario

Hi Mario,
Thanks very much for the addition of the volume control to playstream. I'm using the clock radio as part of a complete home system within pagetabs. If its playing and i navigate from the clock radio page to another and back i can't turn off the stream until a page refresh. Is this the expected behaviour?
Also i guess one remaining addition could be to have the url in a 'url' reading within the device readings similar to the volume so the radio station could be selectable using a dummy,notify and setreading similar to changing the volume. I don't know if a stream can be changed while it's playing or does it have to be stopped and started?
Thanks again for great work
Craig


setstate

Guten Abend,
gerade habe ich ein kleines Update hochgeladen.
Durch Vermeidung von Mehrfachupdates ist die Performance etwas besser geworden.

CQuadrat

Hallo Zusammen,

ich bin gerade dabei in der Art eines Proof-of-Concept mir TabletUI anzusehen, um zu sehen, ob ich mir damit mein geplantens Steuertablet realisieren kann. Bis jetzt bin ich außerst optimistisch: alle Funktionalitäten, die ich benötige scheinen vorhanden zu sein; und das auch in einer Form, die mir sehr gefällt.

Dazu schon mal ein dickes Dankeschön an die Entwickler.

Ich beobachte allerdings ein sehr unschönens Ladeproblem der Seiten, was sich nach dem heutigen Update sehr vertärkt hat.

Und zwar folgendes:

  • Manchmal werden Gridster-Elemente nicht geladen
  • Die Gridster-Elemente werden an falscher Stelle gezeigt
  • Anstelle der Gridster-Elemente erscheinen Sonderzeichen
Ein paar Beispiele sind als Screenshot angehängt.

Liegt das nun an TabletUI, an FHEM oder an etwas anderem? Ich kann im Forum niemanden finden, der Ähnliches beobachtet.

Viele Grüße

Christoph


PS: Wie geschrieben, ich bin noch am Austesten, deshalb bitte die Optik nicht zu ernst nehmen  ;)
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

adb76

Zitat von: CQuadrat am 04 September 2015, 11:04:32

Ich beobachte allerdings ein sehr unschönens Ladeproblem der Seiten, was sich nach dem heutigen Update sehr vertärkt hat.

Und zwar folgendes:

  • Manchmal werden Gridster-Elemente nicht geladen
  • Die Gridster-Elemente werden an falscher Stelle gezeigt
  • Anstelle der Gridster-Elemente erscheinen Sonderzeichen
Ein paar Beispiele sind als Screenshot angehängt.

Liegt das nun an TabletUI, an FHEM oder an etwas anderem? Ich kann im Forum niemanden finden, der Ähnliches beobachtet.

Ich habe auch das Problem, dass die Seiten nicht immer beim ersten Aufruf direkt geladen werden. Mehrmals auf den Reload-Button und dann geht es. Bin gerade an der Fehleranalyse - vermute zum einen ein Timeoutproblem, da ich das Verhalten auf meinem Tablet deutlich häufiger habe, im Vergleich zu meinem Desktop, zum anderen habe ich aber auch festgestellt, dass einzelne Widgets eher zu dem Problem neigen als anderen. Auch Browser-Cache löschen hilt dann nicht - scheint mir sogar eher kontraproduktiv zu sein, da die Seiten dann auch nochmal neu geholt werden müssen. Screenshots kann ich bei Bedarf aber erst heute Abend einstellen.

Ob das nach dem heutigen Update häufiger auftritt konnte ich bisher noch nicht testen.

Gruß,

André

setstate

Mit dem neuen Update kann es durchaus sein, dass jetzt Updates von Widgets ausbleiben. Das gehe ich heute nochmal an. Ursache ist einfach das asynchrone Holen und Updaten der Daten. Das führt zu Race-Condition Problemen. Das zuviel Updaten von vorher, führte  unter Umständen aber zu Timeouts und FHEM Überlastung.

Bapt. Reverend Magersuppe

Hallo!

Ich habe mir eine Rollo-Steuerungsleiste zusammengebaut. Das geht schon ganz gut, allerdings möchte ich nicht, das der Button wieder aus geht wenn man nochmal drückt. Also wenn man oben drückt, soll der Button weiter leuchten, egal wie oft man da drauf drückt.

<header>Büro</header>
        <div data-type="label" class="cell">Links</div>
        <div data-type="switch" data-icon="fa-caret-up" data-device="Rollo_Buero" data-get-off="((?!Rauf).)*" data-get-on="Rauf" class="mini"></div></br>
        <div data-type="switch" data-icon="fa-bars" data-device="Rollo_Buero" data-get-off="((?!Halb).)*" data-get-on="Halb" class="mini"></div></br>
        <div data-type="switch" data-icon="fa-caret-down" data-device="Rollo_Buero" data-get-off="((?!Runter).)*" data-get-on="Runter" class="mini"></div></br>


Wie kann ich das erreichen?
--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!

adb76

Zitat von: adb76 am 04 September 2015, 12:55:54

Ob das nach dem heutigen Update häufiger auftritt konnte ich bisher noch nicht testen.


Gerade eben mal das Update gezogen und getestet: Auf meinem Tablet eine deutliche Geschwindigkeitssteigerung - geschätzt teilweise Faktor 2-3 schneller - und ich konnte bisher auch das Ladeproblem nicht mehr feststellen!! Hatte zwischendurch mit dem Gedanken gespielt, mal ein anderes UI wegen der schlechten Geschwindigkeit zu versuchen - hat sich jetzt erst mal erledigt.  ;D Danke!

IROC_KNX

Hallo,

seit letztem Wochenende probiere ich mich an dem Tablet UI.
Es sieht auch schon ganz nach meinen Wünschen aus.
Ich hab noch ein großes Problem mit dem Aktualisieren.
longpoll=0 funktioniert, aber nicht das direkte mit longpoll=1.
in der index.html und in der fhem.cfg hatte ich es eingetragen.
Auf dem Tablet hab ich zur Darstellung webviewcontrol laufen.

In der normalen FHEM Umgebung funktioniert longpoll=1!!
Nur nicht in Tablet UI, sei es auf dem Tablet dargestellt oder auf dem Laptop.

Habt Ihr einen Tip?
FHEM 5.8 auf RaspberryPi mit knxd

setstate

Zitat von: IROC_KNX am 04 September 2015, 20:19:12
In der normalen FHEM Umgebung funktioniert longpoll=1!!
Nur nicht in Tablet UI, sei es auf dem Tablet dargestellt oder auf dem Laptop.

Was geht genau nicht? Man macht ein Fenster auf, aber innerhalb von 2 Sekunden ändert sich das Symbol auf dem Tablet nicht? Wenn man aber dann Refresh drückt ( Strg+R bzw. Cmd+R) zeigt das Symbol, dass das Fenster auf ist?
Setze probehalber auch mal debug=1 in der index.html. Was zeigt die Webconsole des Browsers? Kommen dort die Longpollevents an?

IROC_KNX

Also der Status ändert sich in der Tablet Ui Umgebung bei Longpoll=1 überhaupt nicht.
Egal wie lange ich warte.
Durch einen Refresh der Seite oder durch Wechsel der Etage von EG zu OG wird die Ansicht erst aktualisiert.
Bei Longpoll=0 funktioniert es, aber halt erst nach knapp 30sekunden.
Bisher hab ich nur die Aktoren für das Licht eingefügt.

Debug Modus werde ich gleich testen...
FHEM 5.8 auf RaspberryPi mit knxd

IROC_KNX

so, Debug Modus getestet. Kein Unterschied.
Aso, ich weißt nicht ob es so rüber kam, aber Ein- und Ausschalten kann ich mit Tablet UI.
Nur der Status wird nicht aktualisiert.
In FHEM ist der Status on und off mit eventMap umbenannt. Ich hab aber beides schon ausprobiert.

Beispiel aus der OG.html
                 <li data-row="2" data-col="2" data-sizex="2" data-sizey="3">
                <header>Wohnzimmer</header>
                         <div data-type="switch" class="cell"
                         data-device="Whnz.Spots"
                         data-get="state"
                         data-get-on="on"
                         data-get-off="off"
                         data-set-on="Ein"
                         data-set-off="Aus"></div>
                         <div data-type="label" class="narow">Spots</div>
            </div>
        </li>

FHEM 5.8 auf RaspberryPi mit knxd