Autor Thema: FHEM grep  (Gelesen 4891 mal)

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3578
    • _.:|:._
FHEM grep
« 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...

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21339
Antw:FHEM grep
« Antwort #1 am: 08 September 2015, 12:50:17 »
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

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3578
    • _.:|:._
Antw:FHEM grep
« Antwort #2 am: 08 September 2015, 13:07:47 »
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

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21339
Antw:FHEM grep
« Antwort #3 am: 08 September 2015, 13:18:00 »
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

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3578
    • _.:|:._
Antw:FHEM grep
« Antwort #4 am: 08 September 2015, 14:02:56 »
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.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21339
Antw:FHEM grep
« Antwort #5 am: 08 September 2015, 15:56:27 »
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

Offline Brockmann

  • Sr. Member
  • ****
  • Beiträge: 917
Antw:FHEM grep
« Antwort #6 am: 08 September 2015, 16:23:05 »
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.

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3578
    • _.:|:._
Antw:FHEM grep
« Antwort #7 am: 09 September 2015, 13:08:45 »
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?

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21339
Antw:FHEM grep
« Antwort #8 am: 09 September 2015, 13:13:44 »
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

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3578
    • _.:|:._
Antw:FHEM grep
« Antwort #9 am: 09 September 2015, 16:05:38 »
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

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21339
Antw:FHEM grep
« Antwort #10 am: 09 September 2015, 16:08:34 »
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

Offline P.A.Trick

  • Hero Member
  • *****
  • Beiträge: 1940
  • Love it, change it or leave it
Antw:FHEM grep
« Antwort #11 am: 03 September 2016, 02:42:53 »
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

Offline frank

  • Hero Member
  • *****
  • Beiträge: 11261
Antw:FHEM grep
« Antwort #12 am: 03 September 2016, 21:01:14 »
könnte man eventuell mit dem grep auch die zeile herausfinden?
danke, nicht mehr nötig.  :)

gruss frank
« Letzte Änderung: 03 September 2016, 21:04:37 von 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

Offline Carsten K.

  • Full Member
  • ***
  • Beiträge: 163
Antw:FHEM grep
« Antwort #13 am: 04 November 2022, 10:00:59 »
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, CC1101-USB-Lite 868MHz; RPi B+ FHEM; RPi B Sandbox
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
Gefällt mir Gefällt mir x 3 Liste anzeigen

 

decade-submarginal