New FHEM Tablet UI

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

Vorheriges Thema - Nächstes Thema

Wegwerf

Zitat von: setstate am 05 Mai 2015, 21:59:01
Ich habe doch noch sporadische Fehler im Zusammenhang mit dem Pagetab durch ungünstiges Zeitverhalten gefunden. Es wird dann versucht, auf ein undefined Object zuzugreifen.
Den Fehler kann ich jetzt abfangen, vielleicht löst das auch dein Problem.
Update kommt dann ...
setstate

Nach einigen Tests hat es scheinbar wirklich mein Problem gelöst! Danke setstate.
Dafür habe ich aber ein neues Problem. :)
Kann das sein, dass ein Timestamp der über die Klasse timestamp angezeigt wird nicht automatisch aktuallisiert wird, nur beim reload der Seite?

setstate

Zitat von: Nobby1805 am 05 Mai 2015, 09:43:26
Nachdem ich jetzt seit ein paar Tagen mit dem Thermostat-Widget rumspiele hätte ich einen Erweiterungswunsch ... falls das schon irgendwie klappt und ich es nur nicht gefunden habe, bitte ich um einen kurzen Hinweis  ;)

Es wäre schön  :), wenn man minColor und maxColor beim Aufruf des Widgets angeben könnte. Ich habe das bei mir schon geändert, aber es wäre besser wenn dies eine Erweiterung im Standard ist 'minColor': $(this).data('mincolor') || getStyle('.thermostat.mincolor','color') ||'#4477ff',
'maxColor': $(this).data('maxcolor') || getStyle('.thermostat.maxcolor','color') ||'#ff0000',


Noch schöner  :) :) wäre es, wenn man mehrere Bereiche für den Farbverlauf angeben könnte. Z.B. min-17 = kalt = blau-blaugrün, 17-23 = wohlfühl = blaugrün-gelbgrün, 23-max = zu warm = gelbgrün bis rot

Hallo Nobby1805,

deine Änderung habe ich so übernommen, kommt beim nächsten Update mit.
Das andere ist etwas schwieriger und ohne viel Aufwand gibt es da keine einfache Lösung. Was ich anbieten könnte, wäre aus dem HUE Farbraum einen Bereich angeben zu können.
http://de.wikipedia.org/wiki/HSV-Farbraum#/media/File:HueScale.svg
Also z.B. von 0-240

Das hätten wir auf Tasche ...  8)

CoolTux

Zitat von: Haecksler am 06 Mai 2015, 13:47:15
Ich kenne das Problem...ist bei mir auch vorhanden.
Mit Chrome unter Android 5.x (Nexus 10 und Samsung G5) geht der "Dimmer" nicht. Bei mir läuft der "Dimmer" unter Android 5.x mit Firefox und UC Browser.
Mit Android 4.4 funktioniert der Dimmer mit Chrome noch einwandfrei.

Sollte also nicht das Problem sein.

Gruß,
Haecksler


Ich danke Dir für die Info. Und ich dachte schon ich bin zu blöd dafür. Man man. Ist aber schon sehr ärgerlich. Da der Chrom so schön im Fullscreen läuft.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

tomster

Hab ich was überlesen, oder warum gibt's eigentlich beim Thermostat-Widget im Bezug auf die Größe nur die class "big"?

Nobby1805

Zitat von: setstate
Was ich anbieten könnte, wäre aus dem HUE Farbraum einen Bereich angeben zu können.
http://de.wikipedia.org/wiki/HSV-Farbraum#/media/File:HueScale.svg
Also z.B. von 0-240
wenn es von 240 zu 0 ginge käme das meiner Anforderung schon sehr nahe ... ist das machbar ? Wie rufe ich das auf ?
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)

pnewman

Hallo zusammen,

nachdem ich nun etwas herumprobiert habe, bin ich auf ein paar probleme gestossen.

1. Bei meinen MAX! Thermostatventilen kann ich die Temperatur verstellen aber dann befinden sich diese in mode manual!! Wie stelle ich es an das die Temperatur verstellt wird, aber der Thermostat wieder auf mode auto stellt?
          <div data-type="thermostat" data-device="HZ_GWC" data-valve="valveposition" data-get="desiredTemperature" data-temp="temperature" data-set="desiredTemperature" class="cell left"></div>

2. Meine MAX! Fensterkontakte bekomme ich nicht eingebunden.
          <div data-type="contact" data-device="Fenster_GWC" data-devicetype="MAX" data-get-on='["offen","geschlossen","opened","closed"]' class="smal"></div>
          <div data-type="label" class="narrow darker small">GWC</div>


Kann mir da jemand weiterhelfen?

Gruß
Ralf
Raspberry Pi3B+ / Nano-Cul 868 - MAX!=Heizung, HM-Lan - Rollo+Licht, JeeLink-Clone 868 - LaCrosse, JeeLink-Clone 868 - PCA301, CUL 434 - IT-Steckdosen+Fernbedienung

hyper2910

Hi,  habe auch Max


Mit dem Manual Mode kann ich bestätigen,   die Contacte habe ich so eingebunden und es funktioniert


<div data-type="symbol" data-device="MAX_04ee5b" data-get-on="opened" class="narrow"></div>
                <div data-type="label" class="narrow darker small">SZ Hofseite</div>
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

mjoomla

Zitat von: mjoomla am 06 Mai 2015, 14:55:32
Moin Moin,

hab da ein kleines Anzeige Problem.

Lese Temperatur über 1-Wire DS18B20 aus, was auch super klappt.
Nun mein Problem:

Es wird abwechselnd z.B. 22.234 °C bzw. 22.2 °C schön wäre es wenn es bei 22.2 °C bleiben würde.

Im Normalen Fhem hat ich das mit att stateFormat {sprintf "%.1f °C", ReadingsVal($name, "temperature", 0)} hinbekommen, wie bekomme ich das im Tablet UI hin?

MFG MJoomla

@setstate Danke, klappt bestens.

MFG MJoomla

setstate

Zitat von: Nobby1805 am 06 Mai 2015, 21:37:55
wenn es von 240 zu 0 ginge käme das meiner Anforderung schon sehr nahe ... ist das machbar ? Wie rufe ich das auf ?

Nicht out of the box, aber zum Reinschnuppern kannst du folgenden Ändern:

widget_thermostat.js:
Zeile 93-95

            var j=((this.endAngle-tick)/this.angleArc)*240;
            c.strokeStyle = 'hsl('+ j +',50%,50% )';
            //c.strokeStyle = _thermostat.getGradientColor(maxcolor, mincolor, (this.endAngle-tick)/this.angleArc);


Zeile 137-139
   
    var j = (this.endAngle-a.e)/(this.endAngle-this.startAngle)*240;
    c.strokeStyle = 'hsl('+ j +',50%,50% )';
    //c.strokeStyle = _thermostat.getGradientColor(maxcolor, mincolor, (this.endAngle-a.e)/(this.endAngle-this.startAngle));


Ist etwas sehr grün. Blau und rot erst ziemlich am Ende. Wäre noch einiges an Nacharbeit nötig.

pnewman

#1359
Hallo hyper2910
vielen Dank für die Hilfe und den Denkanstoss!

Ich konnte es nun so lösen:
          <div data-type="symbol" data-device="Fenster_GWC" data-get-on="offen" data-get-off="geschlossen" class="narrow"></div>
          <div data-type="label" class="narrow darker small">GWC</div>



Gruß
Ralf
Raspberry Pi3B+ / Nano-Cul 868 - MAX!=Heizung, HM-Lan - Rollo+Licht, JeeLink-Clone 868 - LaCrosse, JeeLink-Clone 868 - PCA301, CUL 434 - IT-Steckdosen+Fernbedienung

hyper2910

Theoretisch könnte man folgendes machen, um die Auto Funktion zu erhalten


#Dummy für die Schnell-Einstellung der Temperatur bis zum nächsten automatischen Schaltzeitpunkt
define HeizkoerperBad dummy
attr HeizkoerperBad room MAX,Heizungen
attr HeizkoerperBad setList state:eco,auto,14.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0
attr HeizkoerperBad webCmd state
define HeizkoerperBad.ntfy notify HeizkoerperBad.* {\
  my $valtemp = "%";;\
  my $device = "MAX_04711";;\
  my $cmd = 'set '.$device.' desiredTemperature auto '.$valtemp;;\
  fhem($cmd);;\
}


Und dann den Dummy schalten! Vielleicht hilft dir das!
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

nesges

Zitat von: Haecksler am 05 Mai 2015, 19:47:56
Habe nochmals alle Files upgedatet und siehe da es funktioniert! Perfekt KLASSE. Vielen Dank nesges!

Danke für's testen! Ich hab das Widget noch etwas weiter entwickelt, bzw. die Defaults grade gezogen und Attribute für den Zweck sinnvoller benannt. Ausserdem heisst's jetzt ganz neutral "multistatebutton".

Download unter: https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/testing/widget_multistatebutton.js
Doku unter: https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/multistatebutton

    <div data-type="multistatebutton"
           data-device="TEST"
           data-get-on='["on","off","unknown","uninteresting"]'
           data-icons='["fa-bolt", "fa-power-off", "fa-question", "fa-ban"]'
           data-colors='["green", "red", "orange", "blue"]'
           data-background-colors='["red", "green", "blue", "orange"]'
           ></div>


(background-colors funktioniert erst nach einem FTUI-Update)

nesges

Zitat von: pnewman am 06 Mai 2015, 21:59:42
1. Bei meinen MAX! Thermostatventilen kann ich die Temperatur verstellen aber dann befinden sich diese in mode manual!! Wie stelle ich es an das die Temperatur verstellt wird, aber der Thermostat wieder auf mode auto stellt?

Dafür muss nur "desiredTemperature auto <Wert>" gesendet werden, oder? Das wäre so zu lösen:

<div data-type="thermostat"
        data-get="desiredTemperature"
        data-set="desiredTemperature auto"
        data-temp="temperature"
        data-off="off"
        data-boost="boost"
        data-min="5"
        data-max="30"
        data-device="W_HEIZUNG"
        class="cell"></div>

setstate

Zitat von: tomster am 06 Mai 2015, 21:16:21
Hab ich was überlesen, oder warum gibt's eigentlich beim Thermostat-Widget im Bezug auf die Größe nur die class "big"?

Beim Thermostat ist 'small' das Normal, 'big' kann man optional setzen.
Wir müssten das Widget aber noch 'modernisieren' (von Knob ableiten, wie das Volume Widget), dann würde es mehr geben und sogar height/width direkt einstellbar sein.

Nobby1805

Zitat von: setstate am 06 Mai 2015, 22:24:07
Ist etwas sehr grün. Blau und rot erst ziemlich am Ende. Wäre noch einiges an Nacharbeit nötig.
aber kommt dem, was ich suche, schon sehr nahe und sieht auch schön aus ... jetzt muss es nur noch als Wahl-Option integriert werden ;) aber das ist nicht so eilig, ich hab' ja was, auf das ich mich freuen kann
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)