PyIRDecoder
IR encoder/decoder for Python.
Install / Use
/learn @kdschlosser/PyIRDecoderREADME
pyIRDecoder
Finally an IR encoder/decoder for Python!!!
Supports Python 2.7 and 3.5+
Supports encoding and decoding on the following protocols.
- AdNotham
- Aiwa
- Akai
- Akord
- Amino
- Amino56
- Anthem
- Apple
- Archer
- Audiovox
- Barco
- Blaupunkt
- Bose
- Bryston
- CanalSat
- CanalSatLD
- Denon2
- Denon
- Denon1
- DenonK
- Dgtec
- Digivision
- DirecTV
- DishNetwork
- DishPlayer
- Dyson
- Dyson2
- Elan
- Elunevision
- Emerson
- Entone
- F12
- F120
- F121
- F32
- Fujitsu
- Fujitsu128
- Fujitsu56
- GICable
- GIRG
- GuangZhou
- GwtS
- GXB
- Humax4Phase
- InterVideoRC201
- IODATAn
- Jerrold
- JVC
- JVC48
- JVC56
- Kaseikyo
- Kaseikyo56
- Kathrein
- Konka
- Logitech
- Lumagen
- Lutron
- Matsui
- MCE
- MCIR2kbd
- MCIR2mouse
- Metz19
- Mitsubishi
- MitsubishiK
- Motorola
- NEC
- NEC48
- NECf16
- NECrnc
- NECx
- NECxf16
- Nokia
- Nokia12
- Nokia32
- NovaPace
- NRC16
- NRC1632
- NRC17
- Ortek
- OrtekMCE
- PaceMSS
- Panasonic
- Panasonic2
- PanasonicOld
- PCTV
- PID0001
- PID0003
- PID0004
- PID0083
- Pioneer
- Proton
- Proton40
- RC5
- RC57F
- RC57F57
- RC5x
- RC6
- RC6620
- RC6624
- RC6632
- RC6M16
- RC6M28
- RC6M32
- RC6M56
- RCA
- RCA38
- RCA38Old
- RCAOld
- RECS800045
- RECS800068
- RECS800090
- Revox
- Roku
- RTIRelay
- Sampo
- Samsung20
- Samsung36
- SamsungSMTG
- ScAtl6
- Sharp
- Sharp1
- Sharp2
- SharpDVD
- SIM2
- Sky
- SkyHD
- SkyPlus
- Somfy
- Sony12
- Sony15
- Sony20
- Sony8
- StreamZap
- StreamZap57
- Sunfire
- TDC38
- TDC56
- TeacK
- Thomson
- Thomson7
- Tivo
- Viewstar
- XBox360
- XBoxOne
exceedingly easy to use.
import pyIRDecoder
ir_decoder = pyIRDecoder.IrDecoder()
ir_encoder = pyIRDecoder.IrEncoder()
# the RLC you want to have dcoded most IR receivers
# will also provide the modulation frequency
rlc = []
frequency = 0
code = ir_decoder.decode(rlc, frequency)
if code is not None:
print(code)
This is the quick and dirty, it can get more complex and I am also working on a cached code system and also a server based lookup to provide a user friendls name for the IR code.
The returned code from a decode is a pyIRDecoder.protocol_base.IRCode object. look at that object to see what is available. Some examples are converting the code to an int, getting the code as hex, original and normalized rlc, original and normalized pronto, original and normalized Media Center code (rounded to the nearest 50us) (pronto and rlc) plus many more.
You can also set the frequency matching and also burst patching thresholds per protocol. and also enable and disable the use of a protocol in the decoder.
The average decode time with all protocols enabled is 2 milliseconds.
There are some protocols that will "bump heads" and you may have to disable a protocl that is doing this an example is Tivo and NEC.
Related Skills
node-connect
352.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
