[FHEM-Tablet-UI] WeekdayTimer Widget

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

Vorheriges Thema - Nächstes Thema

eki

Zitat von: stiffmeister am 01 Juli 2016, 06:34:11
@Eki,
Wenn ich 2 Zeiten eintrage, dann kann ich zwar scheinbar speichern, aber im Log kommt dann:
2016.07.01 06:27:43 3: [og_sz_JalousieRechtsTimer] no valid Switchingtime found in <{fhem("set $NAME level $EVENT")}>, check first parameter
Im Weekdaytimer selber sehe ich im def auch das, obwohl mir das Widget, wenn ich es erneut öffne, die eingestellten Zeiten anzeigt??

lg
stiff

Mit welcher Variante hast Du es versucht. Bitte check noch mal ob Du die Parameter richtig angegeben hast. Soweit ich weiß, werden normalerweise 3 parameter verlangt (zusätzlich zu den beiden Zeiten noch ein Wert für die Differenz). Bitte noch mal das SUNRISE_EL wiki checken. Ansonsten kannst Du mal die Infos aus dem Toast Fenster, das beim Abspeichern typischerweise erscheint hier posten, dann kann ich mal draufschauen.

stiffmeister

Hallo eki,
danke für deine Geduld!
Im Anhang die Screenshots.
Habe eigentlich schon alles eingtragen bei den Feldern.

Evtl. kannst du mal einen FHEM wdtimer Eintrag inkl. den dazugehörigen FTUI Code posten, damit ich es damit nachstellen kann.
Wenn ich es mit einem sicher funktionierendem Code auch nicht schaffe, dann muss ich in meinem Setup fehlersuchen.
Habe nämlich im Testsystem die gleichen Probleme wie im Produktivsystem, obwohl beide separat installiert und nicht gecloned worden sind.

Danke!
Lg
Stiff

eki

Zitat
Edit: Ich hab mir die index.html mal angesehen. Da sind ja Links zu Dateien aus den verschiedenen Ordnern drin (js, css...)
die haben alle den Pfad /fhem/tablet/ . Sollte da nicht /fhem/tablet_eval/ als Pfad drin sein? Hab ja die Version 2 installiert.
Jetzt hab ich des einfach mal getestet und alle Pfade auf /tablet_eval geändert, und schon geht gar nix mehr. Nachdem ich alle Pfade wieder zurück geschrieben hab funktioniert das Tablet-UI wieder, bis halt auf den Button...aber vielleicht ist das ein Lösungsansatz...

Also bei mir sind die Pfade alle auf tablet_eval eingestellt. Natürlich müssen die referenzierten Dateien auch vorhanden sein.

eki

Zitat von: stiffmeister am 04 Juli 2016, 11:48:13
Hallo eki,
danke für deine Geduld!
Im Anhang die Screenshots.
Habe eigentlich schon alles eingtragen bei den Feldern.

Evtl. kannst du mal einen FHEM wdtimer Eintrag inkl. den dazugehörigen FTUI Code posten, damit ich es damit nachstellen kann.
Wenn ich es mit einem sicher funktionierendem Code auch nicht schaffe, dann muss ich in meinem Setup fehlersuchen.
Habe nämlich im Testsystem die gleichen Probleme wie im Produktivsystem, obwohl beide separat installiert und nicht gecloned worden sind.

Danke!
Lg
Stiff

Hier mal Definitionen, mit denen es bei mir funktioniert:

Weekdaytimer Definition in FHEM:


Internals:
   CONDITION  (ReadingsVal("eg_WZ_Fenster_west","state","closed")ne"open")
   DEF        eg_WZ_Rolladen_West de mo-fr|{sunrise_abs_dat($date,0,"07:00","08:00")}|up sa|{sunrise_abs_dat($date,0,"08:00","09:00")}|up so|{sunrise_abs_dat($date,0,"09:00","10:00")}|up mo-so|{sunset_abs_dat($date,0,"19:00","22:00")}|down (ReadingsVal("eg_WZ_Fenster_west","state","closed")ne"open")
   DEVICE     eg_WZ_Rolladen_West
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       eg_WZ_Rolladen_West_weekdayTimer
   NR         105
   Profil 0: Sonntag 09:00:00 up, 22:00:00 down
   Profil 1: Montag 07:00:00 up, 22:00:00 down
   Profil 2: Dienstag 07:00:00 up, 22:00:00 down
   Profil 3: Mittwoch 07:00:00 up, 22:00:00 down
   Profil 4: Donnerstag 07:00:00 up, 22:00:00 down
   Profil 5: Freitag 07:00:00 up, 22:00:00 down
   Profil 6: Samstag 08:00:00 up, 22:00:00 down
   STATE      ???
   TYPE       WeekdayTimer
   Readings:
   SWITCHINGTIMES:
     mo-fr|{sunrise_abs_dat($date,0,"07:00","08:00")}|up
     sa|{sunrise_abs_dat($date,0,"08:00","09:00")}|up
     so|{sunrise_abs_dat($date,0,"09:00","10:00")}|up
     mo-so|{sunset_abs_dat($date,0,"19:00","22:00")}|down
   Timer:
     Eg_wz_rolladen_west_weekdaytimer_22:00:00:
       HASH       eg_WZ_Rolladen_West_weekdayTimer
       MODIFIER   22:00:00
       NAME       eg_WZ_Rolladen_West_weekdayTimer_22:00:00
     Eg_wz_rolladen_west_weekdaytimer_settimerofday:
       HASH       eg_WZ_Rolladen_West_weekdayTimer
       MODIFIER   SetTimerOfDay
       NAME       eg_WZ_Rolladen_West_weekdayTimer_SetTimerOfDay
   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:
         09:00:00   up
         22:00:00   down
       1:
         07:00:00   up
         22:00:00   down
       2:
         07:00:00   up
         22:00:00   down
       3:
         07:00:00   up
         22:00:00   down
       4:
         07:00:00   up
         22:00:00   down
       5:
         07:00:00   up
         22:00:00   down
       6:
         08:00:00   up
         22:00:00   down
   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:
     07:00:00:
       NEXTPARA   up
       NEXTSWITCH 08:00:00
       PARA       up
       TIM        1467781200
       TAGE:
         1
         2
         3
         4
         5
     08:00:00:
       NEXTPARA   up
       NEXTSWITCH 09:00:00
       PARA       up
       TIM        1467784800
       TAGE:
         6
     09:00:00:
       NEXTPARA   down
       NEXTSWITCH 22:00:00
       PARA       up
       TIM        1467788400
       TAGE:
         0
     22:00:00:
       NEXTPARA   up
       NEXTSWITCH 07:00:00
       PARA       down
       TIM        1467835200
       TAGE:
         0
         1
         2
         3
         4
         5
         6
   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:


Mein FTUI Config (sind slider für die Rolläden, das weekdaytimer widget wird bei Klick auf den Text "Rolladen" geöffnet):

<header>Zimmer</header>
<div class="cell top">
<div class="cell narrow-x left" style="height:120%">
<div data-type="slider" data-cfg-device="0" class="cell mid negated"></div>
<div id="wdtimer_ftui"
data-type="wdtimer"
data-device="eg_WZ_Rolladen_West_weekdayTimer"
data-style="square"
data-theme="dark"
data-title="EG Wohnzimmer West"
data-cmdlist='{"up":"up","0":"0","20":"20","40":"40","60":"60","80":"80","100":"100","down":"down"}'>
<div style="margin-top:23px !important" data-type="label" class="darker small">Rolladen</div>
</div>
</div>
<div class="cell narrow-x left" style="height:120%">
<div data-type="slider" data-cfg-device="1" class="cell mid negated"></div>
<div id="wdtimer_ftui"
data-type="wdtimer"
data-device="eg_WZ_Rolladen_West_weekdayTimer"
data-style="square"
data-theme="dark"
data-title="EG Wohnzimmer West"
data-cmdlist='{"up":"up","0":"0","20":"20","40":"40","60":"60","80":"80","100":"100","down":"down"}'>
<div style="margin-top:23px !important" data-type="label" class="darker small">Rolladen</div>
</div>
</div>
<div class="cell narrow-x right">
<div data-type="thermostat" data-cfg-device="2" data-valve="ValvePosition" class="cell"></div>
</div>
</div>

Mpomp

Hallo,

ich habe das Weekdaytimer Widget mit der FTUI 1.0 am laufen. Jetzt möchte ich auf die FUI Version 2.2 umsteigen, habe die Eval Version über Update Link installiert, Demos funktionieren alle.
Meine FTUI konfiguration von 1.0 läuft auch bis auf WD Timer und Multistatebutton.
Anschließend Weekdaytimer für 2.0 heruntergeladen, installiert und nur in die Demoseite eingepflget. Beim Aufruf erscheint das Popup des WD Timer nicht.
In der Konsole von Chrome erscheint.

GET http://192.168.2.11:8083/fhem/tablet_eval/js/widget_widget.js dynamicload @
fhem-tablet-ui.js:760loadPlugin @
fhem-tablet-ui.js:684(anonymous function) @
fhem-tablet-ui.js:699map @ jquery.min.js:2(anonymous function) @
fhem-tablet-ui.js:697j @ jquery.min.js:2fireWith @
jquery.min.js:2e.(anonymous function) @ jquery.min.js:2script.onload @ fhem-tablet-ui.js:757
widget_pagebutton.js:21 fetch content: 27.000ms


Der Widgetaufruf:
<li class="halbTransparent" data-row="3" data-col="5" data-sizex="3" data-sizey="1">
<header class="headerTransparent">Haustür</header>
<div id="wdtimer_ftui"
  data-type="wdtimer"
  data-device="wdHaustuer"   
  data-style="square"  
  data-theme="dark"
  data-title="Zeiten Haustür auf bzw.zu"
  data-savecfg="true"
  data-disablestate="true"
  data-cmdlist='{"AUF":"auf","Sperren":"zu"}'>
<div data-type="button"
data-icon="fa-clock-o"
data-background-icon="fa-square-o"
data-on-color="#505050"
data-on-background-color="#505050"
class="">
</div>
</div>
</li>


Wenn ich das widget_widget.js von der FTUI Version 1.0 nach 2.0 kopiere funktioniert es. Habe aber dann Reference Fehler die sich auf die Datei  widget_widget.js beziehen.
Jetzt meine Frage:
Fehlt das Widget in der EVAL über den Update Link, oder mache ich was anderes falsch.

Danke für eure Hilfe
LG
Mpomp
Ubuntu 14.04 auf Atom Zotac IONITX-E/ FHEM 5.7 / Homematic LAN und HM Aktoren, LMS, AVR Denon 3808, mehrere RasPi´s als Squeezebox.

stiffmeister

@eki
Danke für Deine Beispiel config. Habe dank derer feststellen können, dass der weekdaytimer schuld war. Nach Anlage aus deiner config funktioniert es jetzt.
Danke
Stiff

h3llsp4wn

Hallo zusammen,

wer auch immer gerade pflegt - könntet Ihr bitte den push hier noch entfernen:

    if(typeof widget_widget == 'undefined') {
        deps.push("widget");   
    }


Wenn man noch die alte widget_widget.js hat, dann schmeißt diese Reference errors da da die deviceStates nicht mit futi. referenziert sind,
aber eigentlich ist diese gar nicht mehr im Eval-Tree und ich habe Sie daher auch nicht mehr. Dann schmeißt es natürlich http-fehler.

... natürlich nur, wenn ich mit der Vermutung richtig liege, dass daraus auch nichts benötigt wird.


Cheers,

h3ll

eki

Zitat von: stiffmeister am 10 Juli 2016, 15:21:33
@eki
Danke für Deine Beispiel config. Habe dank derer feststellen können, dass der weekdaytimer schuld war. Nach Anlage aus deiner config funktioniert es jetzt.
Danke
Stiff

Was genau war denn bei deiner Definition problematisch. Wenn man das weiß, dann könnte man es eventuell berücksichtigen/abfangen.

setstate

Zitat von: h3llsp4wn am 12 Juli 2016, 14:59:24
Hallo zusammen,

wer auch immer gerade pflegt - könntet Ihr bitte den push hier noch entfernen:

    if(typeof widget_widget == 'undefined') {
        deps.push("widget");   
    }


Wenn man noch die alte widget_widget.js hat, dann schmeißt diese Reference errors da da die deviceStates nicht mit futi. referenziert sind,
aber eigentlich ist diese gar nicht mehr im Eval-Tree und ich habe Sie daher auch nicht mehr. Dann schmeißt es natürlich http-fehler.

... natürlich nur, wenn ich mit der Vermutung richtig liege, dass daraus auch nichts benötigt wird.


Cheers,

h3ll

genau, das Basis-Widget "widget" ist fest in die fhem-tablet-ui.js eingebaut und braucht nicht mehr dynamisch geladen werden. Also gibt es ab der FTUI 2.2 auch keine widget_widget.js mehr.

stiffmeister

@eki
also wenn ich den WeekDayTimer so angelegt hab:
define ti.Timer WeekdayTimer sw.Timer de 1234560|08:15|100 1234560|19:50|0 {fhem("set $NAME $EVENT")}
dann konnte ich die Sunset / Sunrise Erweiterung nicht nutzen.

Als ich dann den Timer nach deiner Config erstellte:
define ti.Timer WeekdayTimer sw.Timer de mo-fr|{sunrise_abs_dat($date,0,"07:00","08:00")}|on sa|{sunrise_abs_dat($date,0,"08:00","09:00")}|on so|{sunrise_abs_dat($date,0,"09:00","10:00")}|on mo-so|{sunset_abs_dat($date,0,"19:00","22:00")}|off
funktionierte es perfekt.

Danke!

stiff

eki

Ich habe mir das jetzt noch mal angeschaut und noch 2 Fehler entdeckt. Einerseits gab es grundsätzlich Probleme, wenn der wdtimer Name einen "." enthielt, zum zweiten funktionierte das Setzen von sunrise etc. nicht, wenn im ursprünglichen def kein sunrise enthalten war. Beides ist in der angehängten Version korrigiert. Zusätzlich habe ich den Hinweis von h3llsp4wn und setstate noch berücksichtigt.

h3llsp4wn


jerico

Seit einiger Zeit versuche ich bereits das "WeekDayTimer-Widget für FHEM Tablet UI" zum laufen zu kriegen. Sehe das Icon für den WeekDayTimer im Widget, aber durch den klick öffnet sich das Widget nicht.

Bin wie auf der Homepage: https://github.com/svenson08/ftui-weekdaytimer-widget vorgegangen

  • FHEM Tablet Version 2.0 aktiviert -> <script src="/fhem/tablet/js/fhem-tablet-ui-2.0_beta.js" defer></script>
  • widget_wdtimer.js ins js Verzeichnis kopiert
  • fhem-tablet-ui-wdtimer.css ins css Verzeichnis kopiert
  • index.html erweitert mit dem neuen stylesheet
In der Javascript-Konsole Firefox / Chrome erscheint jeweils folgende Fehlermeldung: Uncaught ReferenceError: widget_wdtimer is not defined.

Vielen Dank für jegliche Tips / Unterstützung.

h3llsp4wn

Hallo zusammen,

ich habe bei mir noch einen Bug entdeckt. Ich habe eine Condition hinterlegt:


(ReadingsVal("netatmo_Regensensor_Garten", "rain_day", 0.0) < 4.0)


Beim speichern verschwindet dann '<' und somit ist der Weekdaytimer hinüber  >:(

Wäre prima, wenn die conditions quasi unverändert blieben :)


Cheers,

h3ll

eki

Habs gerade mal ausprobiert. Das Problem sind die Leerzeichen vor und nach ">" wenn Du die wegnimmst sollte es funktionieren. Ich werde mal schauen wo der Fehler liegt.