[FHEM-Tablet-UI] WeekdayTimer Widget

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

Vorheriges Thema - Nächstes Thema

l05443

#270
Hallo,

ich bekomme das Widget leider nicht zum laufen. Meine Einstellungen sind:

Martin.Heizung.Timer (WeekdayTimer):

Internals:
   COMMAND    {fhem("set $NAME desired-temp $EVENT")}
   CONDITION
   DEF        Martin.Heizung 07:00|19.0 22:00|18.5 24:00|18.0 {
fhem("set dummy on");
fhem("set $NAME desired-temp $EVENT");
}
   DEVICE     Martin.Heizung
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       Martin.Heizung.Timer
   NR         218
   Profil 0: Sonntag 07:00:00 19.0, 22:00:00 18.5, 24:00:00 18.0
   Profil 1: Montag 07:00:00 19.0, 22:00:00 18.5, 24:00:00 18.0
   Profil 2: Dienstag 07:00:00 19.0, 22:00:00 18.5, 24:00:00 18.0
   Profil 3: Mittwoch 07:00:00 19.0, 22:00:00 18.5, 24:00:00 18.0
   Profil 4: Donnerstag 07:00:00 19.0, 22:00:00 18.5, 24:00:00 18.0
   Profil 5: Freitag 07:00:00 19.0, 22:00:00 18.5, 24:00:00 18.0
   Profil 6: Samstag 07:00:00 19.0, 22:00:00 18.5, 24:00:00 18.0
   STATE      18.0
   STILLDONETIME 0
   TYPE       WeekdayTimer
   Readings:
     2016-12-26 00:45:53   currValue       18.0
     2016-12-26 00:53:50   disabled        0
     2016-12-26 00:45:53   nextUpdate      2016-12-26 07:00:00
     2016-12-26 00:45:53   nextValue       19.0
     2016-12-26 00:45:53   state           18.0
   SWITCHINGTIMES:
     07:00|19.0
     22:00|18.5
     24:00|18.0
   Timer:
     Martin.heizung.timer_1:
       HASH       Martin.Heizung.Timer
       MODIFIER   1
       NAME       Martin.Heizung.Timer_1
     Martin.heizung.timer_2:
       HASH       Martin.Heizung.Timer
       MODIFIER   2
       NAME       Martin.Heizung.Timer_2
     Martin.heizung.timer_3:
       HASH       Martin.Heizung.Timer
       MODIFIER   3
       NAME       Martin.Heizung.Timer_3
       immerSchalten 1
     Martin.heizung.timer_settimerofday:
       HASH       Martin.Heizung.Timer
       MODIFIER   SetTimerOfDay
       NAME       Martin.Heizung.Timer_SetTimerOfDay
       SETTIMERATMIDNIGHT 1
     Martin.heizung.timer_delayed:
       HASH       Martin.Heizung.Timer
       MODIFIER   delayed
       NAME       Martin.Heizung.Timer_delayed
   Daynumber:
     !$we       8
     $we        7
     di         2
     do         4
     fr         5
     mi         3
     mo         1
     sa         6
     so         0
   Helper:
     daysRegExp (so|mo|di|mi|do|fr|sa|\$we|\!\$we)
     daysRegExpMessage (so|mo|di|mi|do|fr|sa|$we|!$we)
     Switchingtime:
       0:
         07:00:00   19.0
         22:00:00   18.5
         24:00:00   18.0
       1:
         07:00:00   19.0
         22:00:00   18.5
         24:00:00   18.0
       2:
         07:00:00   19.0
         22:00:00   18.5
         24:00:00   18.0
       3:
         07:00:00   19.0
         22:00:00   18.5
         24:00:00   18.0
       4:
         07:00:00   19.0
         22:00:00   18.5
         24:00:00   18.0
       5:
         07:00:00   19.0
         22:00:00   18.5
         24:00:00   18.0
       6:
         07:00:00   19.0
         22:00:00   18.5
         24:00:00   18.0
   Longdays:
     de:
       Sonntag
       Montag
       Dienstag
       Mittwoch
       Donnerstag
       Freitag
       Samstag
       Wochenende
       Werktags
     en:
       Sunday
       Monday
       Tuesday
       Wednesday
       Thursday
       Friday
       Saturday
       weekend
       weekdays
     fr:
       Dimanche
       Lundi
       Mardi
       Mercredi
       Jeudi
       Vendredi
       Samedi
       weekend
       jours de la semaine
   Profil:
     1:
       EPOCH      1482732000
       PARA       19.0
       TIME       07:00
       TAGE:
         0
         1
         2
         3
         4
         5
         6
     2:
       EPOCH      1482786000
       PARA       18.5
       TIME       22:00
       TAGE:
         0
         1
         2
         3
         4
         5
         6
     3:
       EPOCH      1482793200
       PARA       18.0
       TIME       24:00
       TAGE:
         0
         1
         2
         3
         4
         5
         6
   Profile_idx:
     0:
       07:00:00   1
       22:00:00   2
       24:00:00   3
     1:
       07:00:00   1
       22:00:00   2
       24:00:00   3
     2:
       07:00:00   1
       22:00:00   2
       24:00:00   3
     3:
       07:00:00   1
       22:00:00   2
       24:00:00   3
     4:
       07:00:00   1
       22:00:00   2
       24:00:00   3
     5:
       07:00:00   1
       22:00:00   2
       24:00:00   3
     6:
       07:00:00   1
       22:00:00   2
       24:00:00   3
   Shortdays:
     de:
       so
       mo
       di
       mi
       do
       fr
       sa
       $we
       !$we
     en:
       su
       mo
       tu
       we
       th
       fr
       sa
       $we
       !$we
     fr:
       di
       lu
       ma
       me
       je
       ve
       sa
       $we
       !$we
Attributes:
   disable    0
   group      Timer


Mein Tablet-UI Code:

<li data-row="1" data-col="4" data-sizex="2" data-sizey="1">
<header>HEIZUNG</header>
<div class="inline left-space-3">
<div id="wdtimer_ftui"
data-type="wdtimer"
data-device="Martin.Heizung.Timer"
data-style="square"
data-theme="light"
data-width="800"
data-height="600">
<div data-type="push">
</div>
</div>
</div>
</li>


Push Button erscheint im GUI, wenn ich drauf klicke schreibt Java-Debuger:

TypeError: this.element is undefined
i.prototype.isDisabled()
switchery.min.js:1
i()
switchery.min.js:1
wdtimer_setTimerStatusSwitch()
widget_wdtimer.js:614
wdtimer_showDialog()
widget_wdtimer.js:213
wdtimer_getProfiles/</<()
widget_wdtimer.js:829
m.event.dispatch()
jquery.min.js:3
m.event.add/r.handle()
jquery.min.js:3
m.event.trigger()
jquery.min.js:3
.trigger/<()
jquery.min.js:3
.each()
jquery.min.js:2
m.prototype.each()
jquery.min.js:2
.trigger()
jquery.min.js:3
a.fn.famultibutton/<()
fa-multi-button.min.js:2
m.event.dispatch()
jquery.min.js:3
m.event.add/r.handle()


Jmd. eine Idee woran es liegt? Mache ich was falsch?

Habe auch schon "label", "button" und "switch" probiert. Bei "label" tut sich gar nichts und bei den anderen beiden wie bei "push".

Grüße

Martin

kud

Aufpassen! Das Widget "Button" nicht einzeln aktualisieren! Der aktuell laufeende "Button" ist in FTUI enthalten.
Das war die Aussage von Setstate. Also nur FTUI aktualisieren.

Bei mir startet das Widget mit

<li class="halbTransparent border-left border-right" data-row="1" data-col="10" data-sizex="1" data-sizey="1">
       <div id="wdtimer_ftui"
          data-type="wdtimer"
        data-width="800"
        data-height="600"
          data-device="Tannenbaum"   
          data-style="square"
          data-theme="dark"
          data-title="NAME" 
          data-cmdlist='{"An":"on","Aus":"off"}'
        data-savecfg="true">
        <div data-type="button" data-icon="fa-tree" class="small"></div>
        </div>
</li>

derHeimwerker

Hallo,
ich nutze den weekdaytimer zur Steuerung meiner Rollläden. Klappt vom Grunde wunderbar. Bei der Deaktivierung habe ich allerdings ein Problem. Über ein einen Dummy kann ich die Timer aktivieren/deaktieren. (set *_WT disable/enable)

Der Befehl wird auch in die Attribute übernommen. Allerdings bleiben die eigentlichen Schaltvorgänge davon wohl unberührt, denn trotz richtiger Attribute (disable) bin ich gestern morgen unsanft geweckt worden.  Mein globaler Dummy kann auch nicht das Aktivieren oder Deaktivieren des widget Buttons beeinflussen.

Kann man da etwas machen ?

Danke !

buchner51

Hallo,

ich habe einen neuen WD angelegt für meine Rollo´s:

define Rollo_Wohnraum WeekdayTimer wz_Rollo_Hof,wz_Rollo_Strasse de 1234560|17:30|100 1234560|09:30|50 1234560|10:47|0 1234560|10:06|70 {fhem("set $NAME value $EVENT")}
attr Rollo_Wohnraum disable 0
attr Rollo_Wohnraum room Schaltuhr
define FileLog_Rollo_Wohnraum FileLog ./log/Rollo_Wohnraum-%Y.log Rollo_Wohnraum


Wenn ich über Tablet UI das ganze bearbeite schreibt es mir aufeinmal mehrere "$EVENT")}" dahinter.

Woran liegt das, etwa weil ich mehrere Rollo´s drin habe?

gruß
Raspberry pi 3+
KNX mit TUL, FHEM mit SMARTVISU 2.9

eki

Zitat von: derHeimwerker am 28 Dezember 2016, 11:26:46
Hallo,
ich nutze den weekdaytimer zur Steuerung meiner Rollläden. Klappt vom Grunde wunderbar. Bei der Deaktivierung habe ich allerdings ein Problem. Über ein einen Dummy kann ich die Timer aktivieren/deaktieren. (set *_WT disable/enable)

Der Befehl wird auch in die Attribute übernommen. Allerdings bleiben die eigentlichen Schaltvorgänge davon wohl unberührt, denn trotz richtiger Attribute (disable) bin ich gestern morgen unsanft geweckt worden.  Mein globaler Dummy kann auch nicht das Aktivieren oder Deaktivieren des widget Buttons beeinflussen.

Kann man da etwas machen ?

Danke !

Das scheint ja eher ein Problem von WeekdayTimer Modul selbst zu sein und nicht vom Ftui Widget. Falls ja, mach bitte mal ein extra Thread außerhalb vom Ftui auf.

eki

Zitat von: buchner51 am 01 Januar 2017, 22:00:58
Hallo,

ich habe einen neuen WD angelegt für meine Rollo´s:

define Rollo_Wohnraum WeekdayTimer wz_Rollo_Hof,wz_Rollo_Strasse de 1234560|17:30|100 1234560|09:30|50 1234560|10:47|0 1234560|10:06|70 {fhem("set $NAME value $EVENT")}
attr Rollo_Wohnraum disable 0
attr Rollo_Wohnraum room Schaltuhr
define FileLog_Rollo_Wohnraum FileLog ./log/Rollo_Wohnraum-%Y.log Rollo_Wohnraum


Wenn ich über Tablet UI das ganze bearbeite schreibt es mir aufeinmal mehrere "$EVENT")}" dahinter.

Woran liegt das, etwa weil ich mehrere Rollo´s drin habe?

gruß

Ich fürchte es liegt tatsächlich an den mehreren devices, das ist bisher nicht unterstützt. Ich schau mal ob ich das noch einbauen kann.

kud

Wie startet Ihr WDTimer ? Welche ist die aktuelle Version von WDTimer?

Bei mir geht nur "Button" .
Mit "Label" geht nix.


Alternativ.
Wie kann ich einen Button beschriften zB. mit der akt. Temperatur?

buchner51

Hallo kud,

ich nutze die Version über update.

fhem.cfg
define fenster.bel.un KNX 0/1/24:dpt1
attr fenster.bel.un IODev KNX
attr fenster.bel.un eventMap /on:an/off:aus
attr fenster.bel.un room Schaltuhr
define Fensterbel_Wohnraum WeekdayTimer fenster.bel.un de 12345|04:20|on 12345|04:40|off 12345|06:00|on 12345|09:00|off 1234560|16:00|on 12345|21:20|off 60|21:00|off 60|08:00|on 60|11:00|off
attr Fensterbel_Wohnraum disable 0
attr Fensterbel_Wohnraum room Schaltuhr


tablet UI
<li data-row="1" data-col="1" data-sizex="3" data-sizey="1"class="icon squareborder , tastertransparent">
    <header class="headerTransparent"><font size="+1">Schaltuhren</font></header>
     <div id="wdtimer_ftui"
          data-width="950"
          data-height="500"
          data-type="wdtimer"
          data-device="Fensterbel_Wohnraum"   
          data-style=="round" 
          data-theme="dark"
          data-title="NAME" 
          data-cmdlist='{"An":"on","Aus":"off"}'>
        <div data-type="button" class="cell">Wohnraum</div>
        </div>
        </li>


hoffe es hilft dir.
Raspberry pi 3+
KNX mit TUL, FHEM mit SMARTVISU 2.9

kud

Danke Dir für die Antwort.
Ist nicht ganz was ich meinte. Deine Beschriftungen stehen nicht auf dem Knopf.
Also auch ich habe die "normale" Updateversion.
Nutze Flexbox und wollte einen Runden oder eckigen Button/Label/Symbol haben auf dem die aktuelle Temperatur steht.
Beim Drücken soll sich WDTimer oder weekprofile_ftui, welches sich übrigens über ein Label starten läst, aufmachen.

choetzu

ich wollte soeben das Widget auf meinem mobile laufen lassen. Wenn ich aber den folgenden Code übernehme, kommt nix gescheites raus (siehe Bild).

geht das auf mobile überhaupt?

hier der Code:
    <!-- WeekDayTimer -->
      <section>   
       <div id="wdtimer_ftui"
          data-type="wdtimer"
        data-width="80"
        data-height="60"
          data-device="Timer_Dimmer_EG"   
          data-style="square"
          data-theme="dark"
          data-title="NAME" 
          data-cmdlist='{"An":"on","Aus":"off"}'
        data-savecfg="true">
        <div data-type="button" data-icon="fa-tree" class="small"></div>
        </div>
      </section> 


und hier noch vom WeekDayTimer:

Internals:
   COMMAND    {fhem("set $NAME dim $EVENT")}
   CONDITION
   DEF        Dimmer_Kueche_TV 1246|16:54|40 1246|22:49|0 035|16:51|40 035|23:02|0 {fhem("set $NAME dim $EVENT")}
   DEVICE     Dimmer_Kueche_TV
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       Timer_Dimmer_EG
   NR         88
   Profil 0: Sonntag 16:51:00 40, 23:02:00 0
   Profil 1: Montag 16:54:00 40, 22:49:00 0
   Profil 2: Dienstag 16:54:00 40, 22:49:00 0
   Profil 3: Mittwoch 16:51:00 40, 23:02:00 0
   Profil 4: Donnerstag 16:54:00 40, 22:49:00 0
   Profil 5: Freitag 16:51:00 40, 23:02:00 0
   Profil 6: Samstag 16:54:00 40, 22:49:00 0
   STATE      40.0
   STILLDONETIME 0
   TYPE       WeekdayTimer
   Readings:
     2017-01-03 16:54:00   currValue       40
     2017-01-02 14:31:40   disabled        1
     2017-01-03 16:54:00   nextUpdate      2017-01-03 22:49:00
     2017-01-03 16:54:00   nextValue       0
     2017-01-03 16:54:00   state           40.0
   SWITCHINGTIMES:
     1246|16:54|40
     1246|22:49|0
     035|16:51|40
     035|23:02|0
   Timer:
     Kueche_tv_dimmer_week_1:
       HASH       Timer_Dimmer_EG
       MODIFIER   1
       NAME       Kueche_TV_Dimmer_WEEK_1
     Kueche_tv_dimmer_week_2:
       HASH       Timer_Dimmer_EG
       MODIFIER   2
       NAME       Kueche_TV_Dimmer_WEEK_2
     Kueche_tv_dimmer_week_3:
       HASH       Timer_Dimmer_EG
       MODIFIER   3
       NAME       Kueche_TV_Dimmer_WEEK_3
     Kueche_tv_dimmer_week_4:
       HASH       Timer_Dimmer_EG
       MODIFIER   4
       NAME       Kueche_TV_Dimmer_WEEK_4
     Kueche_tv_dimmer_week_settimerofday:
       HASH       Timer_Dimmer_EG
       MODIFIER   SetTimerOfDay
       NAME       Kueche_TV_Dimmer_WEEK_SetTimerOfDay
       SETTIMERATMIDNIGHT 1
   Daynumber:
     !$we       8
     $we        7
     di         2
     do         4
     fr         5
     mi         3
     mo         1
     sa         6
     so         0
   Helper:
     daysRegExp (so|mo|di|mi|do|fr|sa|\$we|\!\$we)
     daysRegExpMessage (so|mo|di|mi|do|fr|sa|$we|!$we)
     Switchingtime:
       0:
         16:51:00   40
         23:02:00   0
       1:
         16:54:00   40
         22:49:00   0
       2:
         16:54:00   40
         22:49:00   0
       3:
         16:51:00   40
         23:02:00   0
       4:
         16:54:00   40
         22:49:00   0
       5:
         16:51:00   40
         23:02:00   0
       6:
         16:54:00   40
         22:49:00   0
   Longdays:
     de:
       Sonntag
       Montag
       Dienstag
       Mittwoch
       Donnerstag
       Freitag
       Samstag
       Wochenende
       Werktags
     en:
       Sunday
       Monday
       Tuesday
       Wednesday
       Thursday
       Friday
       Saturday
       weekend
       weekdays
     fr:
       Dimanche
       Lundi
       Mardi
       Mercredi
       Jeudi
       Vendredi
       Samedi
       weekend
       jours de la semaine
   Profil:
     1:
       EPOCH      1483458840
       PARA       40
       TIME       16:54
       TAGE:
         1
         2
         4
         6
     2:
       EPOCH      1483480140
       PARA       0
       TIME       22:49
       TAGE:
         1
         2
         4
         6
     3:
       EPOCH      1483458660
       PARA       40
       TIME       16:51
       TAGE:
         0
         3
         5
     4:
       EPOCH      1483480920
       PARA       0
       TIME       23:02
       TAGE:
         0
         3
         5
   Profile_idx:
     0:
       16:51:00   3
       23:02:00   4
     1:
       16:54:00   1
       22:49:00   2
     2:
       16:54:00   1
       22:49:00   2
     3:
       16:51:00   3
       23:02:00   4
     4:
       16:54:00   1
       22:49:00   2
     5:
       16:51:00   3
       23:02:00   4
     6:
       16:54:00   1
       22:49:00   2
   Shortdays:
     de:
       so
       mo
       di
       mi
       do
       fr
       sa
       $we
       !$we
     en:
       su
       mo
       tu
       we
       th
       fr
       sa
       $we
       !$we
     fr:
       di
       lu
       ma
       me
       je
       ve
       sa
       $we
       !$we
Attributes:
   disable    1
   room       Zeitschaltung
Raspi3, EnOcean, Zwave, Homematic

Badflex

So sieht es bei mir auch auf dem Tablet aus! :(
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

eki

Das sieht für mich irgendwie nach Problemen beim css file aus.

Bitte mal checken, ob Ihr die richtige Datei "fhem-tablet-ui-wdtimer.css" im css Verzeichnis liegen habt.

Ansonsten könnt Ihr mal Eure index.html (oder wie immer die Datei heißt, die Ihr aufruft) posten.

Badflex

Hallo, was muss ich machen damit er die Zeiten auch an fhem übergibt. In fhem passiert nach dem speichern nichts.
Bin auf 2.4. liegt es daran?
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

eki

Es muss nur ein gültiges Weekdaytimer Device in FHEM angelegt und per data-get an das Weekdaytimer Widget übergeben werden. Poste mal hier deine Definition (also den ftui Teil) und die Definition des zughörigen Weekday Timer Devices in fhem.

Badflex

<div id="wdtimer_ftui"
   data-type="wdtimer"
   data-width="800"
   data-height="600"
   data-device="Steckdose1"
   
   data-style="square"
   data-theme="dark"
   data-title="NAME"
   data-cmdlist='{"An":"on","Aus":"off"}'
   data-savecfg="true">
   <div data-type="button" data-icon="fa-clock-o" data-get="Timer_Steckdose1" data-on-color="green" class="small"></div>
</div>

in Fhem: define Timer_Steckdose1 WeekdayTimer Steckdose1 de 12345|17:20|on 12345|20:30|off

Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo