NOTIFYDEV - wie weit optimieren?

Begonnen von alanblack, 29 Januar 2022, 21:02:32

Vorheriges Thema - Nächstes Thema

Damian

Das Hauptproblem liegt hauptsächlich darin, dass der Modulentwickler oft alle seine Readings mit Event setzt. Er kann ja argumentieren, wenn der User sie nicht haben willst, dann kann er sie mit event-on-update-readings eliminieren. Wenn er aber Readings ohne Event schreibt, dann kann der User das Event nicht nachträglich aktivieren.

Der "Normal"-User wiederum achtet zunächst bei einer Definition eines neuen Devices nicht darauf, welche Events dazu kommen und vor allem in welcher Häufigkeit.

Selbst mir geht es so, dass ich alle paar Monate erschreckend feststelle, was da an Events dazugekommen ist und fange wieder an auszumisten - das dürften aber die wenigsten tun.

Besser für die Gesamtperformance wäre, wenn die Events eines neuen Devices zunächst ausbleiben würden (default z.B.: event-on-update-readings state) und der User sie nach Bedarf bewusst erst einschalten müsste, wenn er sie bräuchte - das wäre aber für den User weniger komfortabel. Und solange man immer leistungsfähigere Hardware kaufen kann ...
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

frank

Zitat von: Damian am 31 Januar 2022, 14:29:49
Das Hauptproblem liegt hauptsächlich darin, dass der Modulentwickler oft alle seine Readings mit Event setzt. Er kann ja argumentieren, wenn der User sie nicht haben willst, dann kann er sie mit event-on-update-readings eliminieren. Wenn er aber Readings ohne Event schreibt, dann kann der User das Event nicht nachträglich aktivieren.
doch, das kann man dank rudi mittlerweile "aushebeln".
sehr tricky und gut "versteckt", funktioniert aber hervorragend.  8)
https://forum.fhem.de/index.php/topic,112825.msg1184583.html#msg1184583
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Beta-User

@frank: Ich glaube nicht, dass es für die überwiegende Zahl der User hilfreich ist, wenn man das "bewirbt" (oder gar unter Verweis auf diese Option die Maintainer motivieren will, weniger Events zu zeigen)...

Es ist und bleibt m.E. so, dass es sinnvoll ist, den Usern den sinnvollen Einsatz _aller_ eocr-Optionen zu erläutern und ggf. die (vorhandenen) Hilfsmittel so darzustellen, dass man sie relativ einfach anwenden kann.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

alanblack

#18
Zitat von: Damian am 31 Januar 2022, 12:33:11
Die Optimierungsvorschläge sollte man beherzingen, bevor man Probleme bekommt und nicht erst, wenn es zu spät ist. Und wie optimiert man wohl: Indem man Rechenzeit spart :)
Das möchte ich so nicht stehen lassen. Wenn ich meinem FHEM-Computer soviel Rechenzeit abverlange, dass der Kühlkörper anfängt zu glühen und Leuchten erst nach sechs statt nach 0,5 Sekunden angehen, dann nehme ich dieses Mehr gerne in Kauf, wenn ich dafür nur noch die Hälfte an Strom- und Heizkosten hätte. Ist für mich eine Optimierung des Systems hin zur Kostenreduktion. Eine Optimierung verlangt mMn immer (mindestens) ein Optimierungsziel.

Zitat von: Beta-User am 31 Januar 2022, 13:07:50
Allerdings hätte ich in meiner eigenen Installation mit der pauschalen (nachträglichen) ".*"-Lösung gleich zwei Probleme verursacht:
[...]- zum Teil würden manche Eventhandler damit (manchmal!) nicht funktionieren, z.B. (mehr oder weniger) alles, was mit (mehrfach-) Tastern zu tun hat.
So nicht ganz vollständig: setze ich bei diesen Devices noch ein eour (event-on-update-reading)z.B. ein state, funktionieren diese 1a.

Zitat von: Beta-User am 31 Januar 2022, 13:44:11
Mir ist das klar, aber das würde trotzdem bedeuten, dass praktisch alle Event-Handler nicht mehr (richtig) funktionieren, die Taster-Devices auswerten.
Wie gerade geschrieben: es gibt auch event-on-update-reading.

Zitat von: Beta-User am 31 Januar 2022, 15:07:44
@frank: Ich glaube nicht, dass es für die überwiegende Zahl der User hilfreich ist, wenn man das "bewirbt" (oder gar unter Verweis auf diese Option die Maintainer motivieren will, weniger Events zu zeigen)...
Jepp!

ZitatEs ist und bleibt m.E. so, dass es sinnvoll ist, den Usern den sinnvollen Einsatz _aller_ eocr-Optionen zu erläutern und ggf. die (vorhandenen) Hilfsmittel so darzustellen, dass man sie relativ einfach anwenden kann.
Ja, aller eocr (event-on-change-reading) aber auch aller eour (event-on-update-reading) Optionen.

Grüße

Nachtrag (leicht offtopic):
Zitat von: Benni am 31 Januar 2022, 13:30:50

attr .*:FILTER=event-on-change-reading!~.+ event-on-change-reading .*

[...]
(Ggf. auftretende Log-Meldungen, wg. nicht unterstütztem eocr sind dabei allerdings zu ignorieren ;) )
Beim Aufruf über die Commandozeile gibt es keine Einträge im Log.  8)
FHEM 6.0 auf raspi3&ODROID XU4 mit HMLAN und HM-MOD-RPI-PCB, LaCrosse via JeeLink, COC868 und CUL433, Xiaomi Aqara+div. Zigbee via deCONZ, Dooya via SIGNALDuino, ZWave mit Danalock
Jeder Witz kann ein Einzeiler sein mit genügend Semikolons

Benni

Zitat von: alanblack am 31 Januar 2022, 22:21:40
Das möchte ich so nicht stehen lassen. Wenn ich meinem FHEM-Computer soviel Rechenzeit abverlange, dass der Kühlkörper anfängt zu glühen und Leuchten erst nach sechs statt nach 0,5 Sekunden angehen, dann nehme ich dieses Mehr gerne in Kauf, wenn ich dafür nur noch die Hälfte an Strom- und Heizkosten hätte. Ist für mich eine Optimierung des Systems hin zur Kostenreduktion. Eine Optimierung verlangt mMn immer (mindestens) ein Optimierungsziel.

Jetzt wird's aber OT!  ;)
Optimierungsziel dieses Threads war bisher doch die Eventlast, bzw. die Verarbeitungslast der auftretenden Events zu reduzieren.
Das hat per se erst mal nix mit Strom und Heizkosten zu tun.

gb#

Beta-User

Zitat von: alanblack am 31 Januar 2022, 22:21:40
Wie gerade geschrieben: es gibt auch event-on-update-reading.
[...]
Ja, aller eocr (event-on-change-reading) aber auch aller eour (event-on-update-reading) Optionen.
Unvollständig.

Mit "_aller_ eocr-Optionen" in
Zitat von: Beta-User am 31 Januar 2022, 15:07:44
Es ist und bleibt m.E. so, dass es sinnvoll ist, den Usern den sinnvollen Einsatz _aller_ eocr-Optionen zu erläutern und ggf. die (vorhandenen) Hilfsmittel so darzustellen, dass man sie relativ einfach anwenden kann.
waren noch weitere Attribute gemeint, die in den Gesamtkontext auch noch reingehören:
event-min-interval, timestamp-on-change-reading und event-aggregator.

U.A. auch deswegen ist der pauschale Hinweis auf das Setzen nur eines Attributs aus der Familie zwar wichtig, aber eben nicht vollständig.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

alanblack

Zitat von: Benni am 01 Februar 2022, 05:54:07
Jetzt wird's aber OT!  ;)
Optimierungsziel dieses Threads war bisher doch die Eventlast, bzw. die Verarbeitungslast der auftretenden Events zu reduzieren.
Das hat per se erst mal nix mit Strom und Heizkosten zu tun.
Hey, das ist doch ein normaler Verlauf in einem Forum:
Optimierung von NOTIFYDEV (notifies/watchdogs/...) => Vermeidung von Events (eocr/eour/emi/...) => Optimierung allgemein => ... => wann wird der nicht optimale Einsatz von FHEM besteuert? [IronieOff]

[ ] Meine Beiträge sind immer on-topic, vollständig und fehlerfrei :o

Ich weiß nicht, aber wenn hier nicht noch Hinweise zu NOTIFYDEV (!) kommen, sollte ich den Thread schließen, oder?

Grüße
FHEM 6.0 auf raspi3&ODROID XU4 mit HMLAN und HM-MOD-RPI-PCB, LaCrosse via JeeLink, COC868 und CUL433, Xiaomi Aqara+div. Zigbee via deCONZ, Dooya via SIGNALDuino, ZWave mit Danalock
Jeder Witz kann ein Einzeiler sein mit genügend Semikolons