[FHEM-Tablet-UI] WeekdayTimer Widget

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

Vorheriges Thema - Nächstes Thema

klausw

Zitat von: eki am 08 März 2017, 07:37:00
Gut, dann schau ich mal wie ich das korrigieren kann, damit man wieder "lesbare" defs nutzen kann.

wäre super  :)

Zitat von: eki am 08 März 2017, 07:37:00
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.

Die Änderungen sorgen eher dafür das jquery.datetimepicker.css und switchery.min.css geladen werden. Ohne diese Änderung mussen sie im Header angegeben werden. (jquery-ui.min.js habe ich der Vollständigkeit halber mit angepasst)
ftui.config.basedir ist das Verzeichnis oberhalb des Speicherortes der fhem-tablet-ui.js
Damit funktioniert das Ganze immer, wenn der Pfad relativ zu fhem-tablet-ui.js gleich bleibt.

Die Fehlermeldung liegt eher an der neuen jquery-ui.min.js Version, die von FTUI mitgeliefert wird. Daher muss ich immer noch die alte Version aus dem pgm Ordner im Header angeben. Also gleich Ursache wie die Verschobene Anzeige des Wdtimer Widgets. Wer weiß, was sich von jquery 1.x.x auf 3.x.x da geändert hat.
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

ih-sqeezer

Hallo zusammen,

ich habe mit der aktuellen Version des WeekdayTimer Widgets ein Problem bezüglich des korrekten speicherns (defmod).
Und zwar arbeite ich mit einer condition am Ende des WeekdayTimers:

define BadHeatingControlHome WeekdayTimer BadThermostat de 1234560|07:30|comfort 1234560|20:00|eco (ReadingsVal("BadThermostat", "state", "") ne "off")

mit dem ändern über FTUI wird jedoch die condition falsch auseinander genommen bzw. falsch interpretiert. Das Ergebnis sieht dann so aus:

define BadHeatingControlHome WeekdayTimer BadThermostat de 1234560|07:30|comfort 1234560|20:00|eco ne (ReadingsVal("BadThermostat", "state", "") "off")

Dies wird von FHEM natürlich nicht verstanden und der Timer schaltet nicht. Die condition wird nicht mehr als condition, sondern als command interpretiert, was nicht funktionieren kann.

Könnte sich das bitte mal jemand anschauen?

Danke und Grüße,
Ingo

Ulm32b

#347
Zitat von: ih-sqeezer am 15 März 2017, 23:35:52
Hallo zusammen,

ich habe mit der aktuellen Version des WeekdayTimer Widgets ein Problem bezüglich des korrekten speicherns (defmod).
Und zwar arbeite ich mit einer condition am Ende des WeekdayTimers:

define BadHeatingControlHome WeekdayTimer BadThermostat de 1234560|07:30|comfort 1234560|20:00|eco (ReadingsVal("BadThermostat", "state", "") ne "off")

mit dem ändern über FTUI wird jedoch die condition falsch auseinander genommen bzw. falsch interpretiert. Das Ergebnis sieht dann so aus:

define BadHeatingControlHome WeekdayTimer BadThermostat de 1234560|07:30|comfort 1234560|20:00|eco ne (ReadingsVal("BadThermostat", "state", "") "off")

Dies wird von FHEM natürlich nicht verstanden und der Timer schaltet nicht. Die condition wird nicht mehr als condition, sondern als command interpretiert, was nicht funktionieren kann.

Könnte sich das bitte mal jemand anschauen?

Danke und Grüße,
Ingo

Das Problem ist bekannt: https://forum.fhem.de/index.php/topic,48106.msg543328.html#msg543328

Ehrlich gesagt mehren sich bei mir die Zweifel, ob das mit diesem Widget noch etwas wird. Mich selbst kann ich da mangels Kompetenz leider nicht einbringen; meine Beiträge liegen eher im Bereich FTUI-Doku.

eki

Na ja, vielleicht wird es ja doch noch was (habe leider noch einen Nebenjob  ;) und muss zugegeben, dass ich das von Ulm32b zitierte Problem aus den Augen verloren habe  :-\).

Hier ist eine Version, bei der die beiden Probleme mit den Returns (siehe https://forum.fhem.de/index.php/topic,48106.msg600860.html#msg600860) und mit dem Fehlverhalten hier https://forum.fhem.de/index.php/topic,48106.msg605854.html#msg605854 korrigiert sein sollten. Bitte mal prüfen, mit meiner ftui 2.5 Umgebung hat es funktioniert, ich kann aktuell leider nicht mit der Version 2.6 testen, weil es mir da etwas zerschossen hat.

SamNitro

Bei mir lässt sich der WdTimer dann nicht mehr öffnen.

FTUI 2.6.13
MacOs und iOS

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

eki

Irgendwelche Zusatzinfos? Konsolenausgaben?

Ich habe jetzt noch mal die Version, die bei mir in ftui 2.5 funktioniert zusätzlich angehängt.

SamNitro

ja die Konsole gibt 16 mal den folgenden Fehler:
Failed to load resource: the server responded with a status of 400 (Bad Request)           http://192.168.1.3:8083/fhem/?cmd=list+timer_rollo_sz&XHR=1&_=1489750522238

natürlich immer eine anderes Device.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

eki

Komisch, ich habe jetzt mal bei mir die Version 2.6 aufgesetzt und bei mir kommt der das widget hoch und funktioniert auch.

SamNitro

Kann es mit dem ftuisvr zusammen hängen?!?


Gesendet von iPhone mit Tapatalk
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

choetzu

Zitat von: klausw am 28 Februar 2017, 15:47:21
Bei mir lässt sich der wdtimer öffnen, allerdings ist die Eingabemaske unten an die Seite angefügt (Siehe Bilder).

Außerdem kommt ein Fehler beim öffnen:
jquery.min.js:4 TypeError: f.getClientRects is not a function

Da ich FTUI auf dem Apache laufen habe und die Verzeichnissstruktur etwas anders ist ist mir aufgefallen, das nicht alle Dateipfade relativ zum basedir sind.
Aktuell:
function init() {
if (!$.fn.datetimepicker){
ftui.dynamicload('lib/jquery.datetimepicker.js', null, null, false);
$('head').append('<link rel="stylesheet" href="./lib/jquery.datetimepicker.css" type="text/css" />');   
}
if (!$.fn.Switchery){
ftui.dynamicload('lib/switchery.min.js', null, null, false);
$('head').append('<link rel="stylesheet" href="./lib/switchery.min.css" type="text/css" />');
}
if (!$.fn.draggable){
ftui.dynamicload('../pgm2/jquery-ui.min.js', null, null, false);
}


muss meiner Meinung nach so sein:
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);
}


Edit:
Fehler korrigiert

Hallo klausw,

Du wendest weekdaytimer auf dem Smartphone an. Musstest du für die Darstellung noch was spezielles konfigurieren?  Odr wird es automatisch angepasst?

Lg c
Raspi3, EnOcean, Zwave, Homematic

klausw

Das müsste original sein.
Ich weiß es nicht mehr, kann aber gerade nicht schauen. Die Breite habe ich auf auto gesetzt.
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

choetzu

danke, ich habs hingekriegt mit einer Breite von 375 und einer Höhe von 500.

Ich musste jedoch die Icons in der fhem-tablet-ui-wdtimer.css etwas kleiner machen. Sprich Papierkorb-, Pfeilesymbole von 35x35px auf 30x30px. 

Wenn ich die Änderung anstatt im fhem-tablet-ui-wdtimer.css in meinem fhem-tablet-ui-customs.css machen will, geht das nicht. Es geht lediglich alternativ in fhem-tablet-ui-user.css.. Gehen da aber bei einem Update die Aenderungen nicht verloren? Ich möchte sie eigentlich im fhem-tablet-ui-custom.css haben.

Im Header habe ich alle css eingebunden.

Danke für die Hilfe..
Raspi3, EnOcean, Zwave, Homematic

SamNitro

Zitat von: choetzu am 19 März 2017, 00:11:00
Wenn ich die Änderung anstatt im fhem-tablet-ui-wdtimer.css in meinem fhem-tablet-ui-customs.css machen will, geht das nicht. Es geht lediglich alternativ in fhem-tablet-ui-user.css.. Gehen da aber bei einem Update die Aenderungen nicht verloren? Ich möchte sie eigentlich im fhem-tablet-ui-custom.css haben.

Im Header habe ich alle css eingebunden.

Danke für die Hilfe..

Habe bei mir auch ein problem gehabt das die Änderungen nicht übernommen worden, habe jeweils ein !important hinter jedem wert geschrieben dann ging es.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

choetzu

Das wars!! Herzlichen Dank! Lg c


Gesendet von iPhone mit Tapatalk Pro
Raspi3, EnOcean, Zwave, Homematic

klausw

Das wdtimer Widget funktioniert vermutlich nicht mit Devices die mehr als einen Punkt im Namen haben.

Um das zu beheben muss

device.replace(/\./,'\\.')
überall durch
device.replace(/\./g,'\\.')
ersetzt werden.
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