IR-Codes speichern

Ich habe mir mit ESPhome einen remote_receiver gebaut und möchte damit meine diversen IR-Fernbedienungen auslesen und die Codes später in HA verwenden.

Im Log tauchen die ja auf:

[16:30:41][I][remote.pronto:234]: Received Pronto: data=
[16:30:41][I][remote.pronto:236]: 0000 006D 0024 0000 015A 00AB 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0040 0016 0015 0016 0040 0016 0040 0016 0040 0016 0040 0016 0015 0016 0040 0016 0040 0016 0015 0016 0040 0016 0040 0016 0015 0015 0016 0016 0040 
[16:30:41][I][remote.pronto:236]: 0016 0015 0016 0040 0016 0040 0016 0040 0016 0015 0016 0040 0016 0040 0015 0016 0016 0040 0015 0016 0016 0015 0016 0015 0016 05E9 015A 0056 0016 0602 06C3
[16:30:43][I][remote.pronto:234]: Received Pronto: data=
[16:30:43][I][remote.pronto:236]: 0000 006D 0024 0000 015A 00AB 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0040 0016 0015 0016 0040 0016 0040 0016 0040 0016 0040 0016 0015 0016 0040 0016 0040 0016 0015 0016 0040 0016 0015 0016 0015 0016 0040 0016 0040 
[16:30:43][I][remote.pronto:236]: 0016 0015 0016 0040 0015 0016 0016 0040 0015 0041 0016 0040 0016 0015 0015 0016 0016 0040 0015 0016 0016 0040 0016 0015 0016 05E8 015A 0056 0016 0602 06C3
[16:30:45][I][remote.pronto:234]: Received Pronto: data=
[16:30:45][I][remote.pronto:236]: 0000 006D 0024 0000 015A 00AB 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0040 0016 0015 0016 0040 0016 0040 0016 0040 0016 0040 0016 0015 0016 0040 0016 0040 0016 0015 0016 0040 0016 0015 0016 0040 0016 0015 0016 0040 
[16:30:45][I][remote.pronto:236]: 0016 0040 0016 0040 0016 0040 0016 0040 0016 0040 0016 0015 0016 0040 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 05E8 015A 0056 0016 0602 06C3

Problem ist, dass die Daten über mehrere Logzeilen verteilt sind, deswegen muss ich die nach den Herauskopieren editieren, um den Logoutput daraus zu entfernen.

Gibt es eine elegantere Methode?

Selbstantwort: offenbar nicht.

Ich benutze vi als Editor, da geht es ein wenig einfacher - wenn auch monoton:

  • Zeilen aus dem Log kopieren, im Editor einfügen
  • auf die erste Spalte gehen, dann d/00, um alles bis zum ersten Hexadezimalcode zu löschen
  • nächste Zeile, ., um dasselbe auf dieser Zeile zu machen
  • wiederholen auf jeder weiteren Zeile
  • auf die erste Zeile gehen, dann so oft J, bis alle Zeilen in einer zusammengeführt sind
  • gqq, um auf Zeilen mit 80 Zeichen umzubrechen

Und das natürlich für jede erfasste Taste der Fernbedienung…