Widget für weekprofile

Begonnen von Thorsten Pferdekaemper, 03 März 2016, 22:28:58

Vorheriges Thema - Nächstes Thema

Thorsten Pferdekaemper

Hi,
ich habe mal angefangen, ein Widget für weekprofile zu basteln. Da ich nicht so der JavaScript-Held bin habe ich das WeekdayTime-Widget als Vorlage genommen.

Zur Installation muss die angehängte .js-Datei nach <fhem>/www/tablet/js kopiert werden. Die .css-Datei muss nach  <fhem>/www/tablet/css.
Die .css-Datei wird im <head>-Bereich der HTML-Datei mit folgender Zeile eingebunden:

<link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui-weekprofile.css" />

(Die .js-Datei wird automatisch nachgeladen und wird nicht explizit eingebunden.)

Die Definition des Widget ist relativ ähnlich wie beim wdtime-Widget und kann etwa so aussehen:

<div id="weekprofile_ftui" style="position:absolute; bottom:0; right:0;"
       data-type="weekprofile"
       data-device="sz_HeizungOpTimer"   
       data-style="round"
       data-theme="dark"
       data-title="Heizung Schlafzimmer" >
     <div data-type="button" class="cell small readonly" data-icon="oa-edit_settings"
            data-background-icon="fa-square-o"
    data-on-color="#505050" data-on-background-color="#505050">
     </div>
</div>

"sz_HeizungOpTimer" ist der Name der weekprofile-Instanz in FHEM.
Das ganze sieht dann so aus wie in den angehängten Screenshots.

Momentan wird nur das "default" Profil beachtet. Ich glaube, dass das dann automatisch an das Eingetragene Device weitergereicht wird, aber das habe ich noch nicht ausprobiert.
Vielleicht mag das ja mal jemand testen.

Für jegliche Rückmeldung und weitere Anregungen bin ich dankbar.

Gruß,
   Thorsten
FUIP

kvo1

Hallo Thorsten,
Sieht gut aus, werde das mal testen, wird aber eher zum WE

Klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

ChrisK

Direkt mal eingebunden und für gut befunden! ;)
Vielen Dank!

Ich habe bisher nur die Anzeige und nicht die Bearbeitung getestet.
Ein paar Sachen, die mir aufgefallen sind:

1.) Ich habe für jedes Thermostat ein weekprofile ("master") und kein default weekprofile. Das hat dazu geführt, dass es mit der widget-Datei, so wie sie ist, nicht funktioniert. Du hast es ja auch dazu geschrieben, dass es im Moment nur mit den default Profilen geht. Wenn man es mit den Master-Profilen doch noch schaffen will, dann braucht man nur in der .js-Datei in Zeile 405 "default" durch "master" zu ersetzen.
Da ich mit weekprofiles nicht so viel Erfahrung habe, kann es sein, dass ich eine Seltenheit ohne default Profil bin und dass das überhaupt kein Thema ist.

2.) Das Einstellungs-Icon wird bei mir nicht dargestellt (oa-edit_settings). Das hat wahrscheinlich überhaupt nichts mit dem Widget zu tun, sondern eher mit meiner index.html. Die openautomation.css ist eingebunden, daran liegt's also wahrscheinlich nicht. Ich gucke mir das morgen in Ruhe nochmal an, warum das Icon fehlt.

Vielen Dank für das Widget nochmal!

benz_freak

Wieder mal was sehr geiles Danke dafür
jetzt musst du mir nur noch helfen es ans laufen zu bekommen
es passiert garnichts wenn ich das knöpfchen Drücke

<li data-row="1" data-col="2" data-sizex="2" data-sizey="2">
<header>Wohnzimmer</header>
<table>
<div data-type="label" data-colors=["#B28F00"] data-device="Wohnzimmer_Clima" data-get="measured-temp" class="large" ></div>
<div data-type="thermostat" data-device="Wohnzimmer_Clima" data-valve="ValvePosition" data-get="desired-temp" data-temp="measured-temp" data-set="desired-temp" class="cell" ></div>
<div id="weekprofile_ftui" style="position:absolute; bottom:0; right:0;"
data-type="weekprofile"
data-device="WohnzimmerHeatingTimer"   
data-style="round"
data-theme="dark"
data-title="Heizung Wohnzimmer" >
<div data-type="button" class="cell small readonly" data-icon="oa-edit_settings"
data-background-icon="fa-square-o"
data-on-color="#505050" data-on-background-color="#505050">
</div>
</div>
</table>
</li>


Thorsten Pferdekaemper

Zitat von: benz_freak am 04 März 2016, 09:55:58jetzt musst du mir nur noch helfen es ans laufen zu bekommen
es passiert garnichts wenn ich das knöpfchen Drücke
Naja, ob ich das wirklich "muss"...?
Hast Du das Device WohnzimmerHeatingTimer in FHEM angelegt?
Gruß,
  Thorsten
FUIP

benz_freak

Hi Thorsten,
du hast natürlich recht es wäre nett wenn du mir auf die spünge hilfst. :D
Timer ist angelegt
neustart habe ich auch gemacht

Thorsten Pferdekaemper

Tja, da weiss ich auch nicht.
Mach mal "get WohnzimmerHeatingTimer profile_data default" und stell hier das Ergebnis rein.
Außerdem: Starte mal im Browser die Entwicklertools, dann ein Reload und dann auf die Taste drücken. Kommt da irgeneine Fehlermeldung in der Konsole?
FUIP

ChrisK

Hast Du denn ein "default" Profil?
In Deinem Screenshot wird in der Auswahlliste der Profile "master" angezeigt. Wenn das alphabetisch das erste verfügbare Profil ist, dann wird es vermutlich kein default geben.

In diesem Fall guggst Du hier:
Zitat von: ChrisK am 03 März 2016, 23:44:36
...
1.) Ich habe für jedes Thermostat ein weekprofile ("master") und kein default weekprofile. Das hat dazu geführt, dass es mit der widget-Datei, so wie sie ist, nicht funktioniert. Du hast es ja auch dazu geschrieben, dass es im Moment nur mit den default Profilen geht. Wenn man es mit den Master-Profilen doch noch schaffen will, dann braucht man nur in der .js-Datei in Zeile 405 "default" durch "master" zu ersetzen.
...

benz_freak

Hallo ihr beiden,
ja richtig es gab kein default.
nur die 1 Zeile 405 bzw 406 hat bei mir nichts gebracht habe dann mit suchen/ersetzen nochmal gemacht waren um die 5-6 einträge.
jetzt klappt es mit master.
kann ich das mit master so lassen dann brauche ich nichts in fhem ändern?
und schaut euch mal das bild an ist genauso verschoben wie WeekdayTimer Widget was mache ich falsch?

Thorsten Pferdekaemper

Zitat von: benz_freak am 04 März 2016, 15:26:38jetzt klappt es mit master.
kann ich das mit master so lassen dann brauche ich nichts in fhem ändern?
Lass das erstmal so. Ich will noch eine Version bauen, bei der man den Profil-Namen vorgeben kann. So in etwa

data-profile="master"

...das kann aber noch ein paar Tage dauern.

Zitat
und schaut euch mal das bild an ist genauso verschoben wie WeekdayTimer Widget was mache ich falsch?
Keine Ahung. Es sind bei Dir auch Lücken zwischen den Tages-"Tastern". Ich kann mir vorstellen, dass es entweder Browser-abhängig ist (bei mir sieht es mit Chrome und IE11 gut aus), oder dass irgendeine Neuheit im FTUI da was zerschossen hat.
Ich werde mal demnächst auf die neuste Version vom FTUI gehen und mir das anschauen. ...kann aber auch noch dauern.

Inzwischen kannst Du mal versuchen, das Popup breiter zu machen:

data-width="550"


Gruß,
   Thorsten

FUIP

ChrisK

Kurzer Hinweis:
Mit fhem-tablet-ui-2.0_beta scheint die Variable "DEBUG" weggefallen zu sein. Das führt zu einem Fehler mit dem weekprofile-widget.
Anscheinend steht die Info, ob gerade debuggt werden soll hier drin "ftui.config.debuglevel", aber das kann setstate bestimmt viel besser sagen ;)

setstate

Genau, einfach
ftui.log(1,"debugtext")

benutzen.
Bedeutet: Gib mich auf der Console aus, wenn der debuglevel mind. 1 ist. Ansonsten wird nix ausgegeben.


Thorsten Pferdekaemper

Hi,
ich habe noch ein bisschen dran rumgebastelt. Die aktuell bekannten Problemchen müssten damit gelöst sein. Die neuen Dateien sind im Anhang.
Zitat von: benz_freak am 04 März 2016, 15:26:38jetzt klappt es mit master.
kann ich das mit master so lassen dann brauche ich nichts in fhem ändern?
Jetzt gibt es ein neues Attribut data-profile, das man z.B. so benutzen kann:

data-profile="master"

Der Default ist immer noch "default".

Zitat
und schaut euch mal das bild an ist genauso verschoben wie WeekdayTimer Widget was mache ich falsch?
Das Problem war einfach, dass es nach einem Update des FTUI nicht mehr gepasst hat. Das sieht jetzt wieder besser aus. Ich habe es auch gleich für WeekdayTimer repariert, siehe entsprechende CSS im Anhang.

Zitat von: ChrisK am 05 März 2016, 18:33:59
Kurzer Hinweis:
Mit fhem-tablet-ui-2.0_beta scheint die Variable "DEBUG" weggefallen zu sein. Das führt zu einem Fehler mit dem weekprofile-widget.
Ich habe sämtliche Debug-Ausgaben rausgeschmissen. Das müsste es tun. Ich habe das ganze aber noch nicht mit FTUI 2.0 getestet.

Gruß,
    Thorsten
FUIP

benz_freak

Ich werde es später testen aber sage schom mal ein RIESEN DANKESCHÖN

benz_freak

#14
Hi Thorsten,
es geht 1A das Attribut data-profile ist super jetzt sollte es jeder für sich anpassen können.
MFG Benny