autocreate ignoreTypes bei CUL_TX

Begonnen von Funsailor, 06 Januar 2016, 15:50:20

Vorheriges Thema - Nächstes Thema

Funsailor

Hallo,
habe mal wieder Zeit gehabt und mein 433 CUL mit der neuen "Alternative culfw" Firmware geflasht.
Läuft echt gut (mit der Version 1.10.02), bekomme endlich meine Auriol (Lidl Ware) Temperaturgeber ordentlich empfangen  :D und ich sehe eine Menge fremde Geräte.
Nun wollt ich die nervigen CUL_TX_xy Geräte mit "attr autocreate ignoreTypes CUL_TX_%"abstellen, aber das funktioniert nicht.
Ich habe auch die Version attr autocreate ignoreTypes CUL_TX_$ versucht, genauso erfolglos.
Funktioniert das "attr autocreate ignoreTypes" bei den CUL_TX überhaupt?

Wo wird das genau gemacht? In der 98_autocreate.pm oder in der 14_CUL_TX.pm
Ich finde "ignoreTypes" nur in der 98_autocreate.pm, aber was da genau abgeht  :-\
Mit Pearl stehe ich noch auf Kriegsfuß, da muss ich noch viel Zeit investieren.

Oder muss ich den mühsamen Weg gehen und jedes CUL_TX_xy einzeln vom Autocreate ausschließen :( ?

- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

rudolfkoenig

ZitatNun wollt ich die nervigen CUL_TX_xy Geräte mit "attr autocreate ignoreTypes CUL_TX_%"abstellen, aber das funktioniert nicht.
Ich habe auch die Version attr autocreate ignoreTypes CUL_TX_$ versucht, genauso erfolglos.

ignoreTypes ist ein Regexp (wie es in der commandref mit Beispielen dokumentiert ist). Da der Syntax von Regexp schwer zu raten ist, wuerde ich dessen Studium empfehlen, z.Bsp. hier: http://perldoc.perl.org/perlretut.html

ZitatMit Pearl stehe ich noch auf Kriegsfuß, da muss ich noch viel Zeit investieren.
Ich wuerde mit der Schreibweise von perl anfangen.

Funsailor

Hallo,
mit
attr autocreate ignoreTypes CUL_TX_.*
klappt es nun



- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

ph1959de

@rudolfkoenig: da hier in den letzten Tagen mehrfach die (korrekte) Funktion des ignoreTypes-Attributs angezweifelt wurde (z.B. auch in diesem Thread) habe ich mir die commandref und einige andrere Threads zu dem Thema noch mal angeschaut ... und jetzt die folgenden Fragen:


  • Semantik - auf was bezieht sich die Type-Angabe?

    • device Type (kann man alle neuen Devices eines Moduls unterdrücken)?
    • device Name (muss da also sinnvollerweise immer ein ".*" angehängt werden)?
  • Was sind gültige Angaben? Die folgenden Schreibweisen habe ich in verschiedenen Threads gefunden:

    • NamePrefix1.*|NamePrefix2.*
    • NamePrefix1.* | NamePrefix2.* <- Leerzeichen vor/nach Delimiter erlaubt?
    • TYPE=FS20 <- würde damit der Device-Typ (=Modul) ignoriert?
    • devspec Syntax? (also Spec1,Spec2 oder Spec1, Spec2) Sind das gültige Angaben?

Danke,
Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

rudolfkoenig

Zitatda hier in den letzten Tagen mehrfach die (korrekte) Funktion des ignoreTypes-Attributs angezweifelt wurde
Liegt daran, dass der Betroffene angenommen hat, dass Perl-Regexps DWIM faehig sind. Ich wuensche es manchmal auch, ist aber nicht der Fall. Oder ohne Umschweife: Der Regexp wird nie zutreffen, da Geraetenamen keine Leerzeichen enthalten.

ZitatSemantik - auf was bezieht sich die Type-Angabe?
Der Wert des ignoreType Attributes wird als Regexp gegen den vom Modul vorgeschlagenen Geraetenamen geprueft . Falls der Regexp zutrifft, dann wird kein Geraet erstellt. Hat nur soweit mit dem Typ zu tun, dass Module meist den Modulnamen in diesem vorgeschlagenen Geraetenamen aufnehmen. Wie man den Wert setzt, haengt von der Gegebenheiten ab: Falls ich ein Testgeraet mit einem bekannten ID in meinem Produktions-FHEM ignorieren will, dann brauche ich kein .* .

ZitatWas sind gültige Angaben? Die folgenden Schreibweisen habe ich in verschiedenen Threads gefunden:
Man kann Regexps auch nach der gerade modischen "deeplearning" Methode oder durch ausprobieren kennenlernen, ich wuerde andere Methoden vorziehen. Mein Lieblings-Nachschlagewerk (perldoc perlre) ist vermutlich fuer Anfaenger nicht optimal, aber es gibt auf dem Netz unzaehlige Alternativen.

doman75

Ich glaube es würde genügen wenn in Commnadref und wiki steht, das der generierte Name entscheidend ist und nicht der Type, in der Wiki ist das der letzte halbsatz nach dem Komma, danach könnte ich auch Geräte die ich über RFXCom bekomme auf ignore setzen, und gerade bei TRX heissen die wenigstens Geräte wie der Type.

Grüße
Swen

ph1959de

Ich habe den Abschnitt zum ignoreTypes Attribut im Wiki ergänzt (das war ohnehin die Intention meiner Nachfrage in diesem Thread).

@rudolfkoenig: würdest Du die commandref um einen kurzen Hinweis ergänzen, dass das ignoreTypes auf den generierten Devicename verglichen wird?

Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

rudolfkoenig