erweiterung autocreate

Begonnen von justme1968, 07 Juni 2015, 22:37:26

Vorheriges Thema - Nächstes Thema

justme1968

bei einigen der sensoren die mit dem lacrosse modul ausgewertet werden können gibt es das problem das es falsch positive gibt die sich dann in automatisch angelegten devices äussern die dann aber nie wirkliche werte bekommen weil die nachrichten nur sehr selten auftreten.

da das ganze mehrere module betrifft gibt es die idee das an einer zentralen stelle abzufangen.

anbei ein vorschlag zur erweiterung von autocreate um einen mechanismus mit dem sich festlegen lässt das ein device erst dann erzeugt wird wenn es innerhalb einer bestimmten zeit eine bestimmte anzahl an nachrichten erzeugt hat.

das ganze lässt sich im modul per$hash->{AutoCreate} = { "LaCrosse.*" => { autocreateThreshold => "<count>:<timeout>" } }; auf default werte setzen oder über ein autocreateThreshold attribut im autocreate device vom anwender konfigurieren:attr autocreate autocreateThreshold LaCrosse:2:30,EMT7110:2:60

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rudolfkoenig

- kannst du bitte {helper} entfernen?
- ich meine es gibt etliche Perl-Warnungen, falls autocreateThreshold nicht, aber AutoCreate gesetzt ist. Kannst du das bitte pruefen?
- kannst du bitte im foreach $arg umbenennen, ist etwas irritierend 2x $arg in einer Routine zu haben.

justme1968

- {helper} ist weg

- die warnungen auch
  ich hatte extra drauf geachtet und mich schon gewundert das keine waren.
  da muss das 'warnungen nur ein mal ausgeben' dazwischen gekommen sein

- $arg ist umbenannt (und $type auch gleich :) )

ich habe noch ein LoadModule eingebaut weil sonst $modules{$type}{AutoCreate} für das aller erste autocreate noch nicht vorhanden ist.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rudolfkoenig


Dr. Boris Neubert

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

rudolfkoenig

Habe ein Problem entdeckt: CUL_WS Geraete werden erst nach einem default threshold (2,60) angelegt, obwohl nicht bestellt. Reproduzierbar mit:
{ Dispatch($defs{CUL}, "K11005262", undef) }
Ich habe das zwar jetzt angepasst, bin aber relativ sicher, dass es ungewuenschte Nebeneffekte hat.

@Andre: kannst du das bitte pruefen?

justme1968

das hat in der tat nebeneffekte. die im modul definierten autocreateThreshold aus $hash->{AutoCreate} gehen damit nich mehr.

anbei ein patch der das problem richtig reparieren sollte.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rudolfkoenig


Sidey

Hi,

ich wollte mal sagen:
Das ist eine Super Funktion finde ich.

Ich hab mir schon den Kopf zerbrochen, wie man das in den Modulen abfängt, aber jetzt ist das sehr gut und übergreifend gelöst.
Wie ist denn jetzt das Default verhalten, wenn man die Schwellwerte in seinen Modulen noch nicht gesetzt hat?


Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

justme1968

wenn nichts gesetzt ist wird wie vorher ein device bei der ersten nachricht angelegt.

man kann per autocreateThreshold attribut im autocreate device defaults für einzelne devices setzen wenn hier nichts vom anwender nichts passendes gesetzt wurde wird jeweils in $hash->{AutoCreate} der module die für die nachrichten zuständig sind geschaut.

das format ist so wie im ersten beitrag ganz oben beschrieben. wenn count nichts gesetzt ist gibt es einen default von 2 wenn timeout nicht gesetzt ist gibt es einen default von 60 sekunden.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Sidey

Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker