Wunsch: DOIF-Variante analog zu userReadings

Begonnen von JoeALLb, 05 Februar 2017, 21:41:40

Vorheriges Thema - Nächstes Thema

JoeALLb

Ich würde mir wünschen, ähnich wie userReadings ein Attribut "doifPRG" (beispielname!!)
bei jedem Device zu haben, indem ich Device-spezifischen Code einbinden kann.
Dies würde die Anzahl der Devices in meiner Installation deutlich verringern und die Übersichtlichkeit dazu steigern.
Meine Devices könnten somit "selbständig" auf gewisse Ereignisse reagieren.

Durch features wie $SELF, etc. denke ich, könnte DOIF ohne große Anpassungen auch solche Attribute
verarbeiten?!?

Beispiel (pseudocode):

attr Luftbefeuchter doifPRG
  ([00:00-12:00] && [temp:humidity] > 50)
(set $SELF disabled 1)


sG
Joe
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

Damian

Zitat von: JoeALLb am 05 Februar 2017, 21:41:40
Ich würde mir wünschen, ähnich wie userReadings ein Attribut "doifPRG" (beispielname!!)
bei jedem Device zu haben, indem ich Device-spezifischen Code einbinden kann.
Dies würde die Anzahl der Devices in meiner Installation deutlich verringern und die Übersichtlichkeit dazu steigern.
Meine Devices könnten somit "selbständig" auf gewisse Ereignisse reagieren.

Durch features wie $SELF, etc. denke ich, könnte DOIF ohne große Anpassungen auch solche Attribute
verarbeiten?!?

Beispiel (pseudocode):

attr Luftbefeuchter doifPRG
  ([00:00-12:00] && [temp:humidity] > 50)
(set $SELF disabled 1)


sG
Joe

Die Idee ist an sich nicht schlecht, allerdings tobt sich das Modul innerhalb seiner Welt ziemlich aus, indem es diverse Readings und Timer setzt, sich Zustände merkt und vor allem den Status verändert - das dürfte mit den meisten Devices nicht gut funktionieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

JoeALLb

Zitat von: Damian am 05 Februar 2017, 22:10:55
Die Idee ist an sich nicht schlecht, allerdings tobt sich das Modul innerhalb seiner Welt ziemlich aus, indem es diverse Readings und Timer setzt, sich Zustände merkt und vor allem den Status verändert - das dürfte mit den meisten Devices nicht gut funktionieren.
Mit einem Prefix "doif_" bei Readings oder ähnlichem ließe sich dies sicherliche in den Griff bekommen, aber ich verstehe, dass es aufwand ist und sicherlich auch ein paar "nerven" kosten würde. Ich fände es halt extrem Benutzerfreundlich ;-), und wollte diese Idee somit nicht für mich behalten... Vielleicht gibts ja irgendwann mal etwas in diese Richtung?!?
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

Ellert

Zitat von: JoeALLb am 05 Februar 2017, 21:41:40
Ich würde mir wünschen, ähnich wie userReadings ein Attribut "doifPRG" (beispielname!!)
bei jedem Device zu haben, indem ich Device-spezifischen Code einbinden kann.
Dies würde die Anzahl der Devices in meiner Installation deutlich verringern und die Übersichtlichkeit dazu steigern.
Meine Devices könnten somit "selbständig" auf gewisse Ereignisse reagieren.

Durch features wie $SELF, etc. denke ich, könnte DOIF ohne große Anpassungen auch solche Attribute
verarbeiten?!?

Beispiel (pseudocode):

attr Luftbefeuchter doifPRG
  ([00:00-12:00] && [temp:humidity] > 50)
(set $SELF disabled 1)


sG
Joe
Wäre es nicht einfacher bei den userReadings anzusetzen, die haben schon eine Trigger-Möglichkeit durch eigene Readings, die müsste erweitert werden, um auf Ereignisse anderer Geräte zu reagieren.

Damian

Zitat von: Ellert am 06 Februar 2017, 09:43:05
Wäre es nicht einfacher bei den userReadings anzusetzen, die haben schon eine Trigger-Möglichkeit durch eigene Readings, die müsste erweitert werden, um auf Ereignisse anderer Geräte zu reagieren.

Ob da jemand allerdings die ganze Funktionalität eines DOIFs nachbauen möchte, wage ich zu bezweifeln.

Ich finde das gar nicht so tragisch ein separates Modul zu definieren. Gerade dann nicht, wenn ohnehin mehrere Devices darin vorkommen.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Zitat von: Damian am 06 Februar 2017, 16:15:11
Ob da jemand allerdings die ganze Funktionalität eines DOIFs nachbauen möchte, wage ich zu bezweifeln.

Ich finde das gar nicht so tragisch ein separates Modul zu definieren. Gerade dann nicht, wenn ohnehin mehrere Devices darin vorkommen.
Mit DOIF hätte ein erweiterter Trigger der userReadings erstmal nichts zu tun, es wäre mehr eine notify-Funktionalität, die ein userReadings benutzt, um eine Perl-Funktion aufzurufen. Ich halte es auch nicht für unbedingt notwendig. Nur, wenn ich so etwas haben wollte, würde ich dort mit einem Vorschlag oder Patch ansetzen.