[FHEM-Tablet-UI] WeekdayTimer Widget

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

Vorheriges Thema - Nächstes Thema

Schuetze5

Nein leider hat 
<script src="js/widget_wdtimer.js"></script>
nicht geholfen, gleiche Fehlermeldung.

SamNitro

(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Schuetze5

Hier der Timer:
Internals:
   COMMAND
   CONDITION
   DEF        Heiz_Uhr de 3|08:00|on
   DEVICE     Heiz_Uhr
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       wk_Heizung
   NR         468
   Profil 3: Mittwoch 08:00:00 on
   STATE      on
   STILLDONETIME 0
   TYPE       WeekdayTimer
   Readings:
     2017-03-01 08:00:00   currValue       on
     2017-02-28 12:45:51   disabled        0
     2017-03-01 08:00:00   nextUpdate      2017-03-08 08:00:00
     2017-03-01 08:00:00   nextValue       on
     2017-03-01 08:00:00   state           on
   SWITCHINGTIMES:
     3|08:00|on
   Timer:
     Wk_heizung_1:
       HASH       wk_Heizung
       MODIFIER   1
       NAME       wk_Heizung_1
     Wk_heizung_settimerofday:
       HASH       wk_Heizung
       MODIFIER   SetTimerOfDay
       NAME       wk_Heizung_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:
       1:
       2:
       3:
         08:00:00   on
       4:
       5:
       6:
   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      1488351600
       PARA       on
       TIME       08:00
       TAGE:
         3
   Profile_idx:
     3:
       08:00:00   1
   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:
   commandTemplate set $NAME  $EVENT
   disable    0
   room       System


hier das widget:

<div style="position:absolute; bottom:0; right:0;"
          data-type="wdtimer"
          data-device="wk_Heizung"   
          data-style="round"
          data-theme="light" 
  data-width="800"
  data-height="600"
  data-savecfg="true"
          data-title="Heizungsuhr" 
          data-cmdlist='{"An":"on","Aus":"off"}'
        >
         <div data-type="symbol" data-icon="fa-gears" data-get="wk_Heizung" class="cell small"></div>
        </div>


SamNitro

Die Daten sind korrekt bei mir speichert er neue Zeiten ab.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Schuetze5

Jetzt funktioniert FHEM auch nicht mehr, obwohl ich dort nichts gemacht habe.

erste Meldung beim Start fhemweb.js line 919::

zweite Meldung console.js line 81 ::

und in Tablet UI kommt auch eine Errormeldung.

Ich versuche jetzt erstmal alles wieder zum laufen zu bekommen.

SamNitro

Scheint hier gerade ein allgemeines problem zu sein:
https://forum.fhem.de/index.php/topic,68089.msg595478.html#msg595478


Schon mal versucht den Server komplett neu zu starten?
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Schuetze5

Ich habe bei WEB den longpoll wieder auf 1 gesetzt und jetzt läuft FHEM wieder.
Danke schonmal dafür.

Bei dem Timer speichern geht trotzdem nicht.


SamNitro

Zitat von: Schuetze5 am 01 März 2017, 17:07:53

Bei dem Timer speichern geht trotzdem nicht.

Schon mal versucht den timer zu löschen und neu zu definieren?
define wk_Heizung Weekdaytimer Heiz_Uhr de 3|08:00|on
ansonsten bin ich raus, tut mir leid...
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Schuetze5

Nein funktioniert nich, aber trotzdem Danke für´s helfen.

klausw

Speichern funktioniert bei mir teilweise.
DEF wird modifiziert, aber von dem Perlcode am Ende von DEF bleibt nur "{" übrig.
Also leider auch nutzlos

Im header habe ich nur

<link rel="stylesheet" href="../tablet/css/fhem-mobil-ui.css" />
<link rel="stylesheet" href="../tablet/css/fhem-tablet-ui-weekprofile.css" />
<link rel="stylesheet" href="../tablet/css/fhem-tablet-ui-user.css" />
<script src="../tablet/js/fhem-tablet-ui.js" defer></script>


eingebunden
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

eki

kannst Du bitte mal Deine WeekdayTimer Definition aus fhem hier posten, das hilft mir eventuell beim Suchen des Fehlers.

klausw

Aber gern.

Hier das Ergebnis von List:

Internals:
   COMMAND    {
my $lichtquellen = (fhem "list a:automatik=Timer_3 NAME");
my @dlist = split "\n", $lichtquellen if (defined $lichtquellen);
foreach (@dlist) {
my ($name,$name2)=split(/ /);
fhem"set $name $EVENT";
#Log3 undef, 1, "Timer_3: schalte $name auf $EVENT";
}
}
   CONDITION
   DEF        ZWave_SWITCH_BINARY_5 de 123|{sunset_abs(-1000,"15:00","22:30")}|on 123|23:30|off {
my $lichtquellen = (fhem "list a:automatik=Timer_3 NAME");
my @dlist = split "\n", $lichtquellen if (defined $lichtquellen);
foreach (@dlist) {
my ($name,$name2)=split(/ /);
fhem"set $name $EVENT";
#Log3 undef, 1, "Timer_3: schalte $name auf $EVENT";
}
}
   DEVICE     ZWave_SWITCH_BINARY_5
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       Timer_3
   NR         147
   Profil 1: Montag 18:15:50 on, 23:30:00 off
   Profil 2: Dienstag 18:15:50 on, 23:30:00 off
   Profil 3: Mittwoch 18:15:50 on, 23:30:00 off
   STATE      off
   STILLDONETIME 0
   TYPE       WeekdayTimer
   Readings:
     2017-03-07 12:42:34   currValue       off
     2017-03-07 12:42:22   disabled        0
     2017-03-07 12:42:34   nextUpdate      2017-03-07 18:15:50
     2017-03-07 12:42:34   nextValue       on
     2017-03-07 12:42:34   state           off
   SWITCHINGTIMES:
     123|{sunset_abs(-1000,"15:00","22:30")}|on
     123|23:30|off
   Timer:
     Timer_3_1:
       HASH       Timer_3
       MODIFIER   1
       NAME       Timer_3_1
     Timer_3_2:
       HASH       Timer_3
       MODIFIER   2
       NAME       Timer_3_2
       immerSchalten 1
     Timer_3_settimerofday:
       HASH       Timer_3
       MODIFIER   SetTimerOfDay
       NAME       Timer_3_SetTimerOfDay
       SETTIMERATMIDNIGHT 1
     Timer_3_delayed:
       HASH       Timer_3
       MODIFIER   delayed
       NAME       Timer_3_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:
       1:
         18:15:50   on
         23:30:00   off
       2:
         18:15:50   on
         23:30:00   off
       3:
         18:15:50   on
         23:30:00   off
       4:
       5:
       6:
   Longdays:
...gekürzt...
   Profil:
     1:
       EPOCH      1488906950
       PARA       on
       TIME       {sunset_abs(-1000,"15:00","22:30")}
       TAGE:
         1
         2
         3
     2:
       EPOCH      1488925800
       PARA       off
       TIME       23:30
       TAGE:
         1
         2
         3
   Profile_idx:
     1:
       18:15:50   1
       23:30:00   2
     2:
       18:15:50   1
       23:30:00   2
     3:
       18:15:50   1
       23:30:00   2
   Shortdays:
...gekürzt...
Attributes:
   commandTemplate set $NAME  $EVENT
   disable    0
   room       Schalter
   switchInThePast 1


...ich weise die Timer über ein Attribut den Lampen zu. Irgendwas mag er da nicht.

Mir ist noch etwas aufgefallen (setstate hatte da zwar schon etwas angepasst, aber da ist noch nen / zuviel)
Wenn im Init noch "ftui.config.basedir" eingebaut wird, dann fällt das includieren der Dateien im header weg (falls man die Pfade etwas anders hat)

function init() {
if (!$.fn.datetimepicker){
ftui.dynamicload(ftui.config.basedir + 'lib/jquery.datetimepicker.js', null, null, false);
$('head').append('<link rel="stylesheet" href="' + ftui.config.basedir + 'lib/jquery.datetimepicker.css" type="text/css" />');   
}
if (!$.fn.Switchery){
ftui.dynamicload(ftui.config.basedir + 'lib/switchery.min.js', null, null, false);
$('head').append('<link rel="stylesheet" href="' + ftui.config.basedir + 'lib/switchery.min.css" type="text/css" />');
}
if (!$.fn.draggable){
ftui.dynamicload(ftui.config.basedir + 'lib/jquery-ui.min.js', null, null, false);
}


Planst du eigentlich, das Widget an die neue jquery Version anzupassen?
Größtenteils funktioniert es ja, abgesehen davon, das es nicht korrekt auf der Seite platziert wird
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

eki

Ich fürchte, das sind die Returns in Deiner DEF. Habs mal bei mir ausprobiert, und ohne die Returns scheint es zu gehen. Probier das bitte mal aus. Falls das tatsächlich das Problem ist, werde ich mir was einfallen lassen.

klausw

Genau, daran lag es. Ich habe die Zeilenumbrüche jetzt entfernt und es funktioniert.
Ist nur etwas unübersichtlich  8)
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

eki

Gut, dann schau ich mal wie ich das korrigieren kann, damit man wieder "lesbare" defs nutzen kann.

Zu Deiner anderen Frage bezüglich der falschen Pfade, hat Deine Korrektur denn das Problem mit der jquery Fehlermeldung beseitigt? Ich habe Deine Änderung jetzt auf jeden Fall mal in meine Version übernommen.