neue Features: defaultvalue, readingList, Ereignisfilter, Attribut checkall

Begonnen von Damian, 05 Oktober 2016, 19:58:14

Vorheriges Thema - Nächstes Thema

JoeALLb

Zitat von: Brockmann am 13 Dezember 2016, 08:14:46
Wie verhält sich das Konstrukt bei einem Neustart? Wird dann nicht P_weckzeit aus dem Save-File wiederhergestellt und erhält einen neuen Zeitstempel? Würde das den Wecker jedes Mal aktivieren?
Es wird auch die Zeit wiederhergestellt, zu der das Reading geschrieben wurde. Und da diese mitgeprüft wird, funktioniert das.
Einzig, wenn die Weckzeit GENAU während dem Reboot ablaufen würde, würde diese auf den nächsten Tag verschoben werden... dies könnte man auch abfangen indem man
hier den letzten Part ergänzt.

DOELSEIF ([?$SELF:P_einaus,"off"] eq "on" and [[$SELF:P_weckzeit,"12:00"]] and [$SELF:P_weckzeit:sec]< 86400)

FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Per

Habe es endlich mal geschafft, mit readingList rumzuspielen.
Mein Problem: wie bekomme ich devStateIcon mit ins Boot? ist_Befehl:icon:Userreading:soll_Befehl geht nicht, das ist ein Doppelpunkt zuviel.

abc2006

Zitat von: Ellert am 08 November 2016, 10:49:15
Hier nochmal mein Testgerät

define Test DOIF (["$SELF:mybutton: ein"]) DOELSEIF (["$SELF:mybutton: aus"])
attr Test cmdState ein|aus
attr Test readingList mybutton
attr Test room 0_Test
attr Test setList mybutton:ein,aus
attr Test webCmd mybutton


Hey,
coole Sache! Danke euch beiden, dass ihr euch so viel Mühe macht!

Ich habe zu deinem "testgerät" nochmal eine Frage.
Mit deinem Original-Code bekomme ich ein Dropdown-Menü.
Mit
define DF_test DOIF ([1])()
attr DF_test readingList mybutton
attr DF_test room _doif,x_devel
attr DF_test setList mybutton:ein,aus
attr DF_test webCmd mybutton
attr DF_test widgetOverride mybutton:uzsuSelectRadio,ein,aus


bekomme ich zwei eckige Buttons. Bisher habe ich (z.B. bei dummies) mit

setList an aus
webCmd an:aus

überall diese Standard-Buttons. Falls das nur eine zu ändernde Option ist, die ich nicht kenne, würde ich gerne einheitlich bleiben und auch bei den DOIF's die Standard-Buttons verwenden. Geht das ?

Danke
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Ellert

Das "normale" Eingabeelement wird mit "widgetOverride" geändert, wenn Du das nicht möchtest, lösche das Attribut widgetOverride.attr DF_test widgetOverride mybutton:uzsuSelectRadio,ein,aus "uzsuSelectRadio" schaltet die Radiobutton ein.


abc2006

Hi Ellert, danke für deine Antwort!

Zitat von: Ellert am 17 Januar 2017, 18:10:42
Das "normale" Eingabeelement wird mit "widgetOverride" geändert
Ja, ist mir klar.

Zitat von: Ellert am 17 Januar 2017, 18:10:42
attr DF_test widgetOverride mybutton:uzsuSelectRadio,ein,aus "uzsuSelectRadio" schaltet die Radiobutton ein.
Ist auch klar.

Zitat von: Ellert am 17 Januar 2017, 18:10:42
wenn Du das nicht möchtest, lösche das Attribut widgetOverride.

Vermutlich habe ich mich nicht verständlich ausgedrückt:
Bitte schaue dir oben nochmal das Bild Standard-Buttons sowie das Bild Dropdown_Ellert an. ( in der Bearbeiten-Ansicht kann ich leider nicht mehr sehen, wie die Bilder wirklich heissen)

Wenn das Attribut widgetOverride nicht gesetzt ist (= gelöscht), habe ich ein Dropdown, wie im Bild Dropdown_Ellert zu sehen.
Wenn das Attribut widgetOverride mybutton:uzsuSelectRadio,ein,aus gesetzt (also vorhanden) ist, habe ich die großen, viereckigen Knöpfe ( wie im Bild widget-override zu sehen.

Ich möchte aber weder das Dropdown, noch die viereckigen Knöpfe, sondern die standard-fhem-Textlinks (wie im Bild Standard... ) zu sehen.
Das erreiche ich offensichtlich weder durch setzen, noch durch weglassen von widgetOverride...


Hoffe, mein Anliegen ist jetzt etwas klarer geworden.

FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Ellert

setList an aus
webCmd an:aus

Das funktioniert nicht, weil Du damit den Status setzt, das ist im DOIF nicht zugelassen.
Du kanst nur Readings setzen, die mit readingList definiert sind.

Ellert

Um das zu präzisieren:
attr DF_test readingList mybutton
attr DF_test setList mybutton:ein,aus


Um mybutton zu ein zu setzen müsste das webCmd so aussehen:

webCmd mybutton ein

das funktioniert aber nicht, weil ein Leerzeichen im webCmd nicht erlaubt ist.

Deshalb musst Du mit eventMap mybutton ein auf einen Befehl mappen, der leerzeichenfrei ist, z.B. mybutton_ein.

Dann sieht es für einen Befehl so aus:

eventMap /mybutton ein:mybutton_ein/
webCmd mybutton_ein


Edit: es funktioniert doch.

Per

Zitat von: Ellert am 18 Januar 2017, 10:25:21das funktioniert aber nicht, weil ein Leerzeichen im webCmd nicht erlaubt ist.

Deshalb musst Du mit eventMap mybutton ein auf einen Befehl mappen, der leerzeichenfrei ist, z.B. mybutton_ein.
Hier schön erklärt!

abc2006

Zitat von: Ellert am 18 Januar 2017, 10:25:21
das funktioniert aber nicht, weil ein Leerzeichen im webCmd nicht erlaubt ist.

Zitat von: Per am 18 Januar 2017, 12:44:45
Hier schön erklärt!

Hi,
danke für eure Antworten. Mit fehlt aber der Bezug zu meiner Frage:

Dass das nicht funktioniert (wegen dem Leerzeichen) ist mir ja klar. Mir gings doch rein lediglich ausschließlich um die Darstellung ...
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Ellert

Zitat von: abc2006 am 18 Januar 2017, 13:34:52
Hi,
danke für eure Antworten. Mit fehlt aber der Bezug zu meiner Frage:

Dass das nicht funktioniert (wegen dem Leerzeichen) ist mir ja klar. Mir gings doch rein lediglich ausschließlich um die Darstellung ...

Wenn das nicht die Antwort war, dann versuche es so

zum Import mit Raw definition
defmod DOIF DOIF ##
attr DOIF readingList mybutton
attr DOIF webCmd mybutton an:mybutton aus

abc2006

das ist ja fast so, wie ichs wollte, so nehm ichs aber auch. Danke!

Grüße
Stephan

FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX