Hauptmenü

FHEM grep

Begonnen von dev0, 08 September 2015, 11:11:05

Vorheriges Thema - Nächstes Thema

dev0

define grep cmdalias grep .* AS {qx(grep -i \'$EVENT\' *.cfg FHEM/99*.pm)}

z.b. grep event-min-interval

fhem.cfg:attr BA_SENSOR_TEMP_HUM event-min-interval voltage:14400,temperature:900,humidity:900
myHeizung.cfg:attr ST_HEIZUNG event-min-interval measured-temp:900,desired-temp:900,actuator:900,batt.*:14400,Activity:86400
mySysinfo.cfg:attr SystemMem event-min-interval mem.*:3600
FHEM/99_myMotionUtils.pm:fhem("attr $mdName event-min-interval .*:3600");


Simpel aber hilfreich, wenn gerade keine Console offen ist...

justme1968

und wenn einem die aktuellen werte der vorhanden devices reichen geht es auch mit einem lis.t z.b.:

  list .* event-min-interval

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

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

dev0

Hi Andre, es gibt bestimmt viele Wege...
...ich suchte gerade eine Sub, die von einem Notify aufgerufen wird. Dabei bin in eher zufällig über den cmdalias Befehl gestolpert, den ich für temporäre Devices eingesetzt hatte. Da kam mir diese Idee.

/Uli

justme1968

das war auch nicht als kritik gedacht sondern nur als zusätzliche vatiante die viele vermutlich nicht kennen.

deine version kann nach allem möglichen suchen. das list nur nach internals, readings und attributen. dafür aber im web interface anklickbar.

mit cmdalias kann man noch ganz andere schöne sachen machen.

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

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

dev0

Mich hatte gewundert, dass bei "meiner Variante" die Devices anclickbar sind. Versuche selbst etwas mit html Tags auf der webkonsole auszugeben sind bisher gescheitert, da sie nur angezeigt und nicht angewendet werden.

justme1968

du hast recht. ich hatte das anklickbar machen von device namen damals so eingebaut das es generell ging und nicht nur bei list funktioniert.

wenn du deinen text in <html>...</html> einschließt werden html tags interpretiert statt angezeigt.

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

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

Brockmann

Danke für den Codeschnipsel. Gute Idee. Habe ich direkt mal eingefügt. Kann man bestimmt immer mal gut gebrauchen.
Ja, cmdalias ist eine feine Sache. Für mich eines der meistunterschätzten Feature von FHEM.

dev0

Zitat von: justme1968 am 08 September 2015, 15:56:27
wenn du deinen text in <html>...</html> einschließt werden html tags interpretiert
Daran lag es nicht. Wenn hinter dem abschließenden "</html>" weiterer Text (in der gleichen Zeile?) existiert, dann werden die html Tags nicht interpretiert.

Btw: Hast Du (oder auch alle anderen) noch weitere Ideen, wie man cmdalias pfiffig einsetzen kann?

justme1968

der komplette text muss von anfang bis ende ein mal in ein <html> tag eingeschlossen sein.

man kann damit z.b. einem device neue set kommandos verpassen die sich auch auf das devStateIcon legen lassen.  z.b. um das ein oder aus schalten per wol oder ssh nachzurüsten wenn das device das nicht von sich aus kann.

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

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

dev0

Zitat von: justme1968 am 09 September 2015, 13:13:44
man kann damit z.b. einem device neue set kommandos verpassen die sich auch auf das devStateIcon legen lassen
Wau, gute Idee! Wäre ich wahrscheinlich nicht drauf gekommen.
<offtopic>Vielleicht auch deshalb, weil ich FHEMWEB nur noch zum Administrieren einsetze, da andere Frontends (bei mir smartVISU) einfach attraktiver zur Visualisierung sind. Eigentlich schade, wenn ich mir vorstelle, dass alle Entwickler an einem gemeinsamen (Frontend-)Strang ziehen würden, würde unterm Strich mehr raus kommen. Just my thoughts...</offtopic>

/Uli

justme1968

ebenso off-topic: mit fhemweb ist sehr sehr viel mehr möglich als auf den ersten blick sichtbar ist. wenn man hier gemeinsam an backend/frontend/design entwickeln würde könnte man sehr viel was die neunen frintends wie smartvisu und ftui ermöglichen auch mit fhemweb machen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

P.A.Trick

Zitat von: dev0 am 08 September 2015, 11:11:05
define grep cmdalias grep .* AS {qx(grep -i \'$EVENT\' *.cfg FHEM/99*.pm)}

z.b. grep event-min-interval

fhem.cfg:attr BA_SENSOR_TEMP_HUM event-min-interval voltage:14400,temperature:900,humidity:900
myHeizung.cfg:attr ST_HEIZUNG event-min-interval measured-temp:900,desired-temp:900,actuator:900,batt.*:14400,Activity:86400
mySysinfo.cfg:attr SystemMem event-min-interval mem.*:3600
FHEM/99_myMotionUtils.pm:fhem("attr $mdName event-min-interval .*:3600");


Simpel aber hilfreich, wenn gerade keine Console offen ist...

Habe den grep ins Wiki übernommen!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

frank

#12
könnte man eventuell mit dem grep auch die zeile herausfinden?
danke, nicht mehr nötig.  :)

gruss frank
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

Carsten K.

Hallo,
ich verwende "grep" recht häufig, allerdings habe ich oft Treffer aus fhem.cfg. D.h., ich muss erst in der fhem.cfg nachschauen, zu welchem Device es gehört.
Ich habe einen Weg gefunden, der mir wie gewohnt die Treffer anzeigt, jedoch zusätzlich in fhem.cfg ÜBER dem Treffer das dazugehörige "define".
Über den Device-Namen aus der "define"-Zeile kann ich dann direkt den Code zu meiner Suche öffnen.

Ich habe bei mir das c_grep Device überschrieben, aber man kann selbstverständlich auch ein neues CMDALIAS anlegen...

defmod c_grep cmdalias grep .* AS {qx(grep -inE \'$EVENT|define\' *.cfg FHEM/99*.pm|grep -i -B 1 \'$EVENT\')}
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k