[FHEM-Tablet-UI] WeekdayTimer Widget

Begonnen von svenson08, 24 Januar 2016, 18:39:21

Vorheriges Thema - Nächstes Thema

schummel

Perfekt  ;D Das war der Fehler.

Vielen Dank für deine schnelle Hilfe

Gruß
stefan

l3skon3

Hallo,

es läuft soweit alles super, allerdings bekomme ich die richtige Sortiereung der Temperaturen nicht hin.

<div id="wdtimer_ftui"
data-type="wdtimer"
data-device="ZSU_TS_EG_SKUECHE"
data-style="square" data-theme="dark"
data-title="Sommerküche"
data-cmdlist='{"5.0°C":"5.0","5.5°C":"5.5","6.0°C":"6.0","6.5°C":"6.5","7.0°C":"7.0","7.5°C":"7.5","8.0°C":"8.0","8.5°C":"8.5","9.0°C":"9.0","9.5°C":"9.5","10.0°C":"10","10.5°C":"10.5","11.0°C":"11","11.5°C":"11.5","12.0°C":"12","12.5°C":"12.5","13.0°C":"13","13.5°C":"13.5","14.0°C":"14","14.5°C":"14.5","15.0°C":"15","15.5°C":"15.5","16.0°C":"16","16.5°C":"16.5","17.0°C":"17","17.5°C":"17.5","18.0°C":"18","18.5°C":"18.5","19.0°C":"19","19.5°C":"19.5","20.0°C":"20","20.5°C":"20.5","21.0°C":"21","21.5°C":"21.5","22.0°C":"22","22.5°C":"22.5","23.0°C":"23"}'>

svenson08

Das steht noch auf meiner Todo Liste, die Sortierung ist noch nicht optimal

l3skon3


Gunther

Zitat von: l3skon3 am 06 Februar 2016, 16:32:31
Hallo,

es läuft soweit alles super, allerdings bekomme ich die richtige Sortiereung der Temperaturen nicht hin.

<div id="wdtimer_ftui"
data-type="wdtimer"
data-device="ZSU_TS_EG_SKUECHE"
data-style="square" data-theme="dark"
data-title="Sommerküche"
data-cmdlist='{"5.0°C":"5.0","5.5°C":"5.5","6.0°C":"6.0","6.5°C":"6.5","7.0°C":"7.0","7.5°C":"7.5","8.0°C":"8.0","8.5°C":"8.5","9.0°C":"9.0","9.5°C":"9.5","10.0°C":"10","10.5°C":"10.5","11.0°C":"11","11.5°C":"11.5","12.0°C":"12","12.5°C":"12.5","13.0°C":"13","13.5°C":"13.5","14.0°C":"14","14.5°C":"14.5","15.0°C":"15","15.5°C":"15.5","16.0°C":"16","16.5°C":"16.5","17.0°C":"17","17.5°C":"17.5","18.0°C":"18","18.5°C":"18.5","19.0°C":"19","19.5°C":"19.5","20.0°C":"20","20.5°C":"20.5","21.0°C":"21","21.5°C":"21.5","22.0°C":"22","22.5°C":"22.5","23.0°C":"23"}'>


Das sieht ja genial aus. Magst Du Deine Definitionen und html dazu bereitstellen?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

svenson08

Sortierung der Befehlauswahlliste ist angepasst. Zumindest in meinem Anwendungsszenario passt das nun.

kvo1

Zitat von: svenson08 am 09 Februar 2016, 19:27:56
Sortierung der Befehlauswahlliste ist angepasst. Zumindest in meinem Anwendungsszenario passt das nun.
Hallo svenson08,

das schaut cool aus, würdest Du die Def´s und FTUI ev. hier bereitstellen ?

Danke !
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

Thorsten Pferdekaemper

Zitat von: svenson08 am 09 Februar 2016, 19:27:56
Sortierung der Befehlauswahlliste ist angepasst. Zumindest in meinem Anwendungsszenario passt das nun.
Hi,
bei mir passt das nicht. Das hier ist mein Coding:

<div id="wdtimer_ftui" style="position:absolute; bottom:0; right:0;"
          data-type="wdtimer"
          data-device="'.$device.'Timer"   
          data-style="round"
          data-theme="dark"
          data-title="Rollladen '.$title.'" 
          data-cmdlist=\'{"Auf":"0","Zu":"100","10%":"10","20%":"20","30%":"30","40%":"40","50%":"50","60%":"60","70%":"70","80%":"80","90%":"90"}\'
        >
       <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>

Sortiert wird das ganze aber so, wie im Anhang. Ich habe eben gerade ein Update gemacht, inkluive den beiden Dateien für's WeekdayTimer Widget.

Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Hi,
noch etwas: Das Teil funktioniert mit Chrome wunderbar (bis auf die Sortierung), aber gar nicht mit IE11. Alles andere im FTUI funktioniert mit beiden Browsern.
Hat dazu jemand eine Idee?
Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Zitat von: Thorsten Pferdekaemper am 15 Februar 2016, 22:29:11bei mir passt das nicht.
[...]
Sortiert wird das ganze aber so, wie im Anhang. Ich habe eben gerade ein Update gemacht, inkluive den beiden Dateien für's WeekdayTimer Widget.
Hi,
hier geht's um die Sortierung im Dropdown mit den Kommandos. Anscheinend wird in widget_wdtimer.js die Liste der Kommandos sortiert. Ich habe das bei mir jetzt rausgeworfen:

           arr_config.push(attr_language); //Sprache
            arr_config.push(wdtimer_enabled); // Device Status (aktiv/disabled)
            arr_config.push(wdtimer_title); //Dialog Titel
            arr_config.push(wdtimer_command.trim()); //Command
            arr_config.push(wdtimer_condition.trim()); //Condition   
            arr_config.push(attr_disablestate); //Weekdaytimer aktivier-/deaktivierbar       
            arr_config.push(attr_theme); //verwendetes Theme
            arr_config.push(attr_style); //verwendeter Style       
         
            // arr_cmdlist.sort(function(a, b){return a[0] - b[0];}); //Gesamte Befehlliste <<<<< WARUM?
            arr_weekdaytimer.push(arr_profiles,arr_cmdlist,arr_config); // Array mit gesamter Konfiguration         
            widget_wdtimer.wdtimer_saveLocal(arr_weekdaytimer); //Konfiguration speichern

...d.h. die mit "WARUM" markierte Zeile habe ich auskommentiert. Für mich passt das jetzt so. Vielleicht weiß jemand, warum das überhaupt sortiert wird. Im Prinzip kann sich das Widget ja einfach an die Vorgaben der Konfiguration halten.
Gruß,
   Thorsten
FUIP

ChrisK

Zitat von: Thorsten Pferdekaemper am 16 Februar 2016, 23:08:43
Vielleicht weiß jemand, warum das überhaupt sortiert wird. Im Prinzip kann sich das Widget ja einfach an die Vorgaben der Konfiguration halten.
Das Sortieren macht schon Sinn, wenn man sich nicht selbst Gedanken über die Reihenfolge machen will ;)

Leider klappt die Sortierfunktion in diesem Fall nicht für Strings.
Du kannst Deine auskommentierte Zeile hiermit ersetzen:
arr_cmdlist.sort(function(a, b){return a[0].localeCompare(b[0])}); //Gesamte Befehlliste
Dadurch rutscht dann aber "auf"/"zu" nach unten, weil es alphabetisch hinter den ganzen Zahlen liegt.

Oder Du nimmst diese Zeile:
arr_cmdlist.sort(function(a, b){return a[1] - b[1];}); //Gesamte Befehlliste
Dann wird nach der Prozent-Angabe sortiert, was aus meiner Sicht am meisten Sinn macht.

Thorsten Pferdekaemper

Zitat von: ChrisK am 16 Februar 2016, 23:35:57
Das Sortieren macht schon Sinn, wenn man sich nicht selbst Gedanken über die Reihenfolge machen will ;)
Ich will aber selbst bestimmen, wie das sortiert ist. Ich muss ja eh alle möglichen "Kommandos" eintippen, da ist das kein weiterer Aufwand. Ich will dann, dass die Kommandos in der Reihenfolge auftauchen, wie ich sie eingebe.
Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Zitat von: Thorsten Pferdekaemper am 15 Februar 2016, 22:39:01noch etwas: Das Teil funktioniert mit Chrome wunderbar (bis auf die Sortierung), aber gar nicht mit IE11. Alles andere im FTUI funktioniert mit beiden Browsern.
Hi,
das habe ich jetzt auch herausgefunden. Anscheinend ist IE da etwas empfindlicher...

    },   
    wdtimer_loadLocal: function(device) {       
        var dataFromStore = new Array();
        dataFromStore = JSON.parse(localStorage.getItem(this.widgetname+"_"+device));       
        return dataFromStore;
    },         
    wdtimer_setStatusChangeAction: function(elem,wdtimer_enabled){    // <<<<<<< DIESE ZEILE
            if (wdtimer_enabled == false) {
                elem.children('.wdtimer_dialog').append('<div class="ui-widget-overlay ui-front wdtimer_shader wdtimer_profilelist" style="z-index: 5999; top: '+elem.children(

Die mit "DIESE ZEILE" markierte Zeile war faul. Hier stand nur

wdtimer_setStatusChangeAction(elem,wdtimer_enabled){   

Chrome war das Recht, aber nicht IE.
Meine widget_wdtimer.js habe ich hier drangehängt. D.h. das Ding klappt auch mit IE und die Sortierung der Kommandos bleibt so, wie sie in der Konfiguration definiert ist.
Gruß,
   Thorsten
FUIP

svenson08

@Thorsten Pferdekaemper
Danke für's bugfixen. Ich schau mir das die Tage genauer an. Momentan bin ich zeitlich etwas eingegrenzt.

ZitatVielleicht weiß jemand, warum das überhaupt sortiert wird.
Die Angabe der Befehle ist Optional. Es werden die Befehle des DEF (also das "on" aus 123|17|on) aus FHEM genutzt. Ist das Attribut angegeben, werden die beiden Quellen zusammengeführt. Daher die Notwendigkeit der Sortierung.

svenson08

@Thorsten Pferdekaemper
Hmmm... hat mir keine Ruhe gelassen. Kannst du das Widget aus dem Anhang testen, hab gerade nicht die Möglichkeit dazu. In deinem Fall müsstest du das Attribut data-sortcmdlist mit false setzen.