HMCCU - Absturz bei devicelist create + Warnung

Begonnen von dela2017, 20 April 2017, 19:03:25

Vorheriges Thema - Nächstes Thema

dela2017

Hallo,

ich hab da zwei kleine Fehler gefunden.
Ich wollte ein neues Device anlegen lassen:
get d_ccu devicelist create *Wohnzimmer* t=dev f=HM_%n room=Homematic

Das mag das Modul/FHEM überhaupt nicht und beendet sich komplett.
Im Log kommt die Meldung:
Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE Wohnzimmer*/ at ./FHEM/88_HMCCU.pm line 1414.

Das zweite was ich im Log finde ist eine Warnung:
2017.04.20 18:56:09 3: WARNING: unsupported character in reading ${sysVarPresence} (not A-Za-z/\d_\.-), notify the HMCCU module maintainer.

Kurzes Listing der Readings:
Readings:
     2017-03-27 23:11:58   ${sysVarPresence} true
     2017-04-20 18:56:25   rpcstate        running
     2017-04-20 18:58:06   state           OK

Diese Readings sind so im letzten Monat automatisch angelegt worden.

Als Version setze ich die 4.0 vom HMCCU ein.

Viele Grüße,
Ingo

zap

Danke für die Hinweise. Schaue ich mir an.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

zap

Zitat von: dela2017 am 20 April 2017, 19:03:25
Ich wollte ein neues Device anlegen lassen:
get d_ccu devicelist create *Wohnzimmer* t=dev f=HM_%n room=Homematic

Nach dem "create" erwartet der Befehl einen regulären Ausdruck ("*Wohnzimmer*" ist keiner). Wenn Du für alle CCU-Geräte, die "Wohnzimmer" enthalten, Devices anlegen möchtest, versuche mal das:


get d_ccu devicelist create Wohnzimmer t=dev f=HM_%n room=Homematic


Für alle, die mit "Wohnzimmer" beginnen:


get d_ccu devicelist create ^Wohnzimmer.* t=dev f=HM_%n room=Homematic


Ich werde jedenfalls noch eine Prüfung einbauen, die ungültige reguläre Ausdrücke abfängt.

Zitat
Das zweite was ich im Log finde ist eine Warnung:
2017.04.20 18:56:09 3: WARNING: unsupported character in reading ${sysVarPresence} (not A-Za-z/\d_\.-), notify the HMCCU module maintainer.

Ich kann mir nicht vorstellen. dass das Reading "${sysVarPresence}" von alleine angelegt wurde. Gibt es in der CCU eine Systemvariable mit diesem (ungewöhnlichen) Namen? Hast Du irgendwann mal den Befehl "get vars ..." ausgeführt?
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

dela2017

Das erste hab ich mir schon gedacht.
Device hab ich anlegen können.

Hmm.. Eine Variable habe ich in der CCU2 nicht angelegt.
Aber es ist eine vorhanden, die passen würde, nur halt auf Deutsch:
Name: Anwesenheit

Und ja ... Den get vars hab ich in der Anfangszeit bestimmt zum Ausprobieren einfach mal ausführt.

zap

Also "get vars Anwesen" funktioniert bei mir.

Du solltest dieses Reading löschen. Sonst kommt das Warning bei jedem FHEM Start.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

dela2017

Glaub ich stell mich grad echt blöd an ...
deletereading d_ccu "${sysVarPresence}"
deletereading d_ccu ${sysVarPresence}
Aber das Reading bleibt ... Wie bekomm ich das weg ?!

Mit "get d_ccu vars A*" wird übrigens der Timestamp bei genau diesem Reading aktualisiert.

zap

Und sonst keine?

Weil: A* steht für A oder beliebiges Zeichen. Ich nehme an, Du meinst A.*

Wenn ich bei mir "get A*" ausführe, werden alle ca. 30 Systemvariablen bzw. die Readings aktualisiert.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

dela2017

A.* steht im Wiki .. Ich hab aber in der Tat A* gemacht.

Ich hab praktisch eine "jungfräuchliche" CCU2; hab nur ein paar Thermostate bisher angelernt.

Gerade nochmal A* gemacht und folgende Readings hab ich:
Readings:
     2017-04-21 18:18:17   ${sysVarPresence} true
     2017-04-21 17:18:02   rpcstate        running
     2017-04-21 18:18:17   state           OK

zap

zum Löschen: versuch mal:


deletereading d_ccu \$\{sysVarPresence\}


oder


deletereading d_ccu sysVarPresence
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

dela2017

das erste Command passt.
Danke!

Aber ich kann das reproduzieren :-)
mit get vars A* ist das Reading wieder da.

zap

Du hast also nur eine Variable in der CCU?
Ich kann jetzt bei mir leider nicht alle Variablen löschen. Kannst Du mal bei Dir eine zweite Variable in der CCU anlegen und dann den Befehl nochmal ausführen?
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

dela2017

Ich hab eine Variable "Test" angelegt.
Dann get vars A* gemacht.
Reading wird automatisch angelegt.

zap

Gibt es jett Readings für Test und Anwesenheit oder Test und ${sys.... ?
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

dela2017

Sorry, dass ich erst jetzt schreibe.
Genau.
Es gibt dann Test und ${sys....