Hi,
ich habe für mein Gerät danalock_V3 eine eigne Logdatei, in die wird der Status des Schlosses geschrieben aber sonst nirgendwo anders hin.
2018-03-09_18:22:09 danalock_V3 doorLockOperation: mode: unsecured outsideHandles: 0001 insideHandles: 0001 door: open bolt: [i][b]unlocked[/b][/i] latch: open timeoutSeconds: not_supported
2018-03-09_18:22:33 danalock_V3 alarm_AccessControl: Auto Lock Locked Operation, notificationIsOn
2018-03-09_18:22:34 danalock_V3 doorLockOperation: mode: secured outsideHandles: 0001 insideHandles: 0001 door: closed bolt: [i][b]locked[/b][/i] latch: closed timeoutSeconds: not_supported
Wichtig ist nur locked oder unlocked und dann nur jeweils die letzte Meldung. Ich habe natürlich das Forum etc durchforstet und einen Tread mit dem Hinweis mit grep gesehen.
Wenn ich aber zum Testen in die oberste Zeile eingebe:
grep -a locked /opt/fhem/log/danalock_V3-2018.log
kommt "unbekanntes Kommando"
Ich denke da das Pearl ist, muss das in geschweifte Klammern, dann kommt aber:
"Search pattern not terminated at (eval 20873) line 1."
Ziel ist es den Wert zu suchen und daraus dann eine Anzeige zu machen. Was muss ich lesen um weiter zu kommen? Bitte keine fertige Lösung, nur sagen wo ich falsch denke! Ich will es ja begreifen und lernen!
Schönes Wochenende AM
Hi,
grep ist ein system Befehl, mit oberster Zeile meinst Du die Kommandozeile von FHEM richtig? Dort kannst Du keine system Befehle auf diese Art eingeben.
Ginge in der Art "Befehl" allerdings landet die Ausgabe (stdout) im Logfile.
Doku dazu -> https://fhem.de/commandref_DE.html#command
Allerdings hilft das noch nicht zu Deinem Problem.
Es gibt FHEM (Perl) Funktionen die eventuell helfen können -> https://wiki.fhem.de/wiki/DevelopmentModuleAPI
BTW: Pearl wäre der Internet Versender :)
Gruß Otto
Einfach mit putty oder einem anderen ssh client mit dem FHEM Server verbinden und in der Konsole
grep "locked" /opt/fhem/log/danalock_V3-2018.log
eingeben.
AlterMann:
was möchtest Du erreichen und wie kommen die Daten ins log ?
Ist Danalock ein fhem device ?
Produziert es events ? und ist "locked" und "unlocked" teil der events (oder rein reading des device) ?
Hi zu den Fragen,
Es geht ums Türschloss DanalockV3 und das ist über ZWave in FHEM mit Security eingebunden. Dafür habe ich ein eigenes Log erstellt weril es erst gar nicht redete. Jetzt redet es und im Log und bei Readings erscheint unter:
doorLockOperation "mode: secured outsideHandles: 0001 insideHandles: 0001 door: closed bolt: locked latch: closed timeoutSeconds: not_supported"
ich brauche nur locked oder eben unlocked um daraus irgendwie ne Anzeige grafische Anzeige zu basteln.....
Im Moment seht ich auf dem Schlauch zu wenig Wissen. Deshalb brauche ich Futter und bei dem Wust an Infos hier den richtigen link...
Grüße und Sorry ihr dürft ruhig dern Kopf schütteln aber ich bastele seit einer Woche um das Teil zum reden zu bekommen, jetzt redet es und ich bin zu doof es auszuwerten!
AM
Wenn das im Reading steht würde es sich anbieten, ein userreading zu erstellen, das den Status per regex abgreift.
Userreadings ok danke für den Tip, bin wohl etwas tröge heute....
AM
stell mal ein list vom lock und ein list vom filelog ein.
Hi Herrmannj, im Eventmonitor sehe ich unter anderem das:
Zitat
2018-03-12 11:38:27 ZWave danalock_V3 alarm_AccessControl: Auto Lock Locked Operation, notificationIsOn
2018-03-12 11:38:27 ZWave danalock_V3 doorLockOperation: mode: secured outsideHandles: 0001 insideHandles: 0001 door: closed bolt: locked latch: closed timeoutSeconds: not_supported
wie schon erwähnt habe ich für das Danalock einen eigenen Log:
FileLog_danalock_V3 danalock_V3-2018.log text
in dem steht das Gleiche und im Device bei Redings steht dann:
Zitat
alarm_AccessControl: Auto Lock Locked Operation, notificationIsOn 2018-03-12 11:38:27
doorLockOperation mode: secured outsideHandles: 0001 insideHandles: 0001 door: closed bolt: locked latch: closed timeoutSeconds: not_supported 2018-03-12 11:38:27
state doorLockOperation open 2018-03-12 11:37:48
timeToAck 0.030 2018-03-12 11:38:27
transmit OK 2018-03-12 11:38:27
ich habe nur das gelistet was sich verändert. Wenn ich das Schloss mit dem Wohnungstür-Dummy öffne tut sich bei den Readings vom Device gar nix, is aber nicht schlimm da das Dummy ja ein State-reading "off" bringt. Is eher ein Danalock Problem also Herstellerspezifisch...
Ich habe jetzt einiges gelesen und schau mal was ich wie tun kann. Wichtiger war das Schloss über FHEM öffenen zu können, damit ich es von fern kann. Das Symbol nach Zustand ist dann eher noch eine kosmetische Angelegenheit, Später will ich daraus mal ne Folgereaktion machen, wie Tür auf Kamera aus oder Licht im Flur an. Eventuell ist auch noch das öffen bei Annäherung dran. Das geht mit der App nicht richtig weil Bluetooth oft zu dröge ist. So weit denke ich aber noch nicht mit meinen vier Geräten in FHEM :D
Liebe Grüße Alter Mann
Hallo,
ich habe mir mal sowas ähnliches für WARNING und ERROR in FHEM-Log gebaut:
fhemlogparse.DUM ist ein dummy. tail -1 gibt nur den jeweils letzten Eintrag des Logfiles aus.
#!/bin/bash
warning=$(grep -a WARNING /opt/fhem/log/fhem-$(date +%Y-%m-%d).log | tail -1)
error=$(grep -a ERROR /opt/fhem/log/fhem-$(date +%Y-%m-%d).log | tail -1)
if [ "$warning" != "" ]; then
perl /opt/fhem/fhem.pl 7072 "setreading fhemlogparse.DUM warning $warning" &>/dev/null
else
perl /opt/fhem/fhem.pl 7072 "setreading fhemlogparse.DUM warning keine"
fi
if [ "$error" != "" ]; then
perl /opt/fhem/fhem.pl 7072 "setreading fhemlogparse.DUM error $error" &>/dev/null
else
perl /opt/fhem/fhem.pl 7072 "setreading fhemlogparse.DUM error keine"
fi
Das kannst Du dann regelmäßig ausführen lassen - entweder im System per CRON oder in FHEM mit einem cmdalias und at/doif/notify...
Der cmdalias bei mir sieht so aus (als RAW):
defmod fhemlog cmdalias logcheck AS "/opt/fhem/scripts/fhemlogparse.sh"
VG Sebastian