neues Attribut: uiTable - DOIF User Interface, neues Attribut: DOIF_Readings

Begonnen von Damian, 07 Oktober 2017, 23:29:48

Vorheriges Thema - Nächstes Thema

Damian

Bei mir funktioniert datetime-Picker mit inline:false und inline:true siehe Anhang
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Zitat von: Kai-Alfonso am 09 Januar 2018, 12:46:51
ich muss noch einmal nerven: irgendwie schein in einem doif das DateTimePicker Widget nur "inline" zu funktionieren. Bei einem dummy klickt man auf das Input Feld und der Picker erscheint - oder wenn er per Option inline dargestellt wird, dann auf klick aufs input Feld. Bei uitable scheint nur das Widget inline zu gehen. Kann das mal jemand verifizieren?

defmod doif.MicroServer DOIF (A)(B)
attr doif.MicroServer icon it_nas
attr doif.MicroServer room Dachgeschoß
attr doif.MicroServer setList state:datetime,timepicker:false
attr doif.MicroServer uiTable "Werktag"|WID ([$SELF:Werktag],"datetime,datepicker:false,timepicker:true,format:H:i,inline:false")\


setstate doif.MicroServer initialized
setstate doif.MicroServer 2018-01-09 12:44:16 Werktag 17:00
setstate doif.MicroServer 2018-01-08 13:48:31 cmd 0
setstate doif.MicroServer 2018-01-08 13:48:31 state initialized

Könnte an der Format-Option liegen, nimm sie raus oder stell sie ans Ende.

Kai-Alfonso

Zitat von: Ellert am 09 Januar 2018, 16:44:20
Könnte an der Format-Option liegen, nimm sie raus oder stell sie ans Ende.

ich habe uitable mal wie folgt geändert:

"Werktag"|WID ([$SELF:Werktag_Start],"datetime,inline:false")|WID ([$SELF:Werktag_Shutdown],"datetime,inline:false")
"Wochenende"|WID ([$SELF:Wochenende_Start],"datetime,inline:false")|WID ([$SELF:Wochenende_Shutdown],"datetime,inline:false")


Er zeigt mir in den Feldern die Werte für die Readings an, ich kann aber durch klick auf das Input Feld nicht den Kalender hervorholen.

Wenn ich den Aufruf wie folgt änder:

"Werktag"|WID ([$SELF:Werktag_Start],"datetime,inline:true")|WID ([$SELF:Werktag_Shutdown],"datetime,inline:true")
"Wochenende"|WID ([$SELF:Wochenende_Start],"datetime,inline:true")|WID ([$SELF:Wochenende_Shutdown],"datetime,inline:true")


zeigt er die Kalender inline an und er ändert entsprechend die Readings.

Hmmm....

Achja, als Dummy funktioniert es wie beschrieben
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

Ellert

Ich kann den Fehler nicht nachstellen, wie bei Damian funktioniert inline true/false bei mir auch, wie es soll.

Kai-Alfonso

Zitat von: Ellert am 09 Januar 2018, 17:30:30
Ich kann den Fehler nicht nachstellen, wie bei Damian funktioniert inline true/false bei mir auch, wie es soll.

Hab schon vermutet, das es irgendwie bei mir liegt - hast Du mal die raw definitions eines funktionierenden Test-Device?
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

Ellert

Habs hier mit eingebaut:
defmod swapValues_Labor DOIF (1) ## HMsensor_Labor HMdummy_Labor
attr swapValues_Labor group Labor: uiTable
attr swapValues_Labor room DOIF_Labor,DOIFalone
attr swapValues_Labor uiTable "<div class='humchange' >".STY([HMdummy_Labor:level],"font-size:16pt;;font-weight:bold;;color:red;;")." relH%</div>\
<div class='tempchange' >".STY([$SELF:temperature:d1],"font-size:16pt;;font-weight:bold;;color:blue;;")."°C</div>"\
WID([$SELF:datim1],"datetime,theme:default,step:5,inline:false")

setstate swapValues_Labor 2018-01-09 16:40:59 datim1 10.01.2018 16:37
setstate swapValues_Labor 2018-01-03 19:04:51 temperature 20.7


Kai-Alfonso

Danke Ellert,

das funktioniert bei mir auch - also liegt das Problem irgendwo bei mir. Vielen Dank
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

Kai-Alfonso

So, ich konnte meinen Fehler nachstellen. Scheint ein Bug (?) zu sein.

Ich habe meine doifs immer so benannt: doif.Funktion - anscheinend kommt da irgendwie der Punk im Namen in die Quere. Benenne ich das doif um nach Funktion, dann geht es - ändere ich den Namen wieder zurück auf doif.Funktion, dann geht es nicht.

Achja, und damit $SELF nach der Umbenennung greift, muss man einmal uitable in codemirror öffnen und wieder schließen bzw einmal das Attribut neu schreiben lassen.

Edit: Bindestrich macht keine Probleme
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)


Kai-Alfonso

Den Hinweis kannte ich noch nicht und da ich bis jetzt keine Probleme hatte, hab ich mir da auch noch keinen Kopf drum gemacht. Also dann kein Bug, sondern eher eine Überschreitung der Namenskonventionen ;-)

Ich pass dann mal alle Geräte bei mir an * :o :o :o
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

RoBra81

Zitat von: Ellert am 10 Januar 2018, 15:24:30
Zur Namensgebung gibt es einen Hinweis im Wiki https://wiki.fhem.de/wiki/Ger%C3%A4tename#Restriktionen
Im gleichen Artikel gibt's aber auch einen link auf einen Vorschlag zur Namenskonvention nach dem ich mich am Anfang (vor einigen Jahren) gerichtet habe und da werden Punkte als Trenner vorgeschlagen - wenn ich bei mir alles umbenennen müsste wäre das ein riesen Aufwand (wobei mich das oben genannte Problem zur Zeit nicht betrifft)

Ronny

Gesendet von meinem SM-G935F mit Tapatalk


Amenophis86

Zitat von: Ellert am 10 Januar 2018, 15:24:30
Zur Namensgebung gibt es einen Hinweis im Wiki https://wiki.fhem.de/wiki/Ger%C3%A4tename#Restriktionen

Naja, das Wiki ist nicht bindend. Und die Duiskussion bezüglich Punkt im Namen wurde nie weiter geführt, daher ist es aktuell noch erlaubt. Ich nutze zB auch in vielen Namen einen Punkt und für Zugehörigkeiten einen Unterstrich.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Damian

Bei anderen Widgets ist das offenbar kein Problem.

So etwas:

WID([bla.bla:status],"iconSwitch,off,Icon_Fisch\@DarkOrange,on,Icon_Fisch")

funktioniert bei mir ohne Problem. bla.bla ist ein Dummy.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Das datetimepicker-Problem ist aber nicht DOIF spezifisch, der Punkt im Namen funktioniert auch beim Dummy nicht

Das funktioniert nicht:
defmod du.test dummy
attr du.test readingList datim1
attr du.test room 0_Test
attr du.test setList datim1:datetime,inline:false
attr du.test webCmd datim1

setstate du.test initialized
setstate du.test 2018-01-10 20:35:53 datim1 10.01.2018 20:21
setstate du.test 2018-01-10 20:26:00 state initialized



dies funktioniert:
defmod du_test dummy
attr du_test readingList datim1
attr du_test room 0_Test
attr du_test setList datim1:datetime,inline:false
attr du_test webCmd datim1

setstate du_test 2018-01-10 20:35:52 datim1 10.01.2018 20:31

Damian

Zitat von: Ellert am 10 Januar 2018, 20:37:26
Das datetimepicker-Problem ist aber nicht DOIF spezifisch, der Punkt im Namen funktioniert auch beim Dummy nicht

Das funktioniert nicht:
defmod du.test dummy
attr du.test readingList datim1
attr du.test room 0_Test
attr du.test setList datim1:datetime,inline:false
attr du.test webCmd datim1

setstate du.test initialized
setstate du.test 2018-01-10 20:35:53 datim1 10.01.2018 20:21
setstate du.test 2018-01-10 20:26:00 state initialized



dies funktioniert:
defmod du_test dummy
attr du_test readingList datim1
attr du_test room 0_Test
attr du_test setList datim1:datetime,inline:false
attr du_test webCmd datim1

setstate du_test 2018-01-10 20:35:52 datim1 10.01.2018 20:31


ja, das habe ich mir schon gedacht.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF