mirror of
https://github.com/openshwprojects/OpenBK7231T_App.git
synced 2026-02-04 18:25:45 +00:00
40 KiB
40 KiB
Drivers
Here is the latest, up to date drivers list. This file was autogenerated by running 'node scripts/getcommands.js' in the repository. All descriptions were taken from code. Remember that some drivers might not be yet enabled on certain platforms, but we can enable them for you per request. Some drivers might also be WIP. Do not add anything here, as it will overwritten with next rebuild.
| Driver | Description |
|---|---|
| TuyaMCU | TuyaMCU is a protocol used for communication between WiFI module and external MCU. This protocol is using usually RX1/TX1 port of BK chips. See TuyaMCU dimmer example, see TH06 LCD humidity/temperature sensor example, see fan controller example, see simple switch example. Enabled by defining "ENABLE_DRIVER_TUYAMCU" for your platform in obk_config.h (for Details see here). See also TuyaMCU on forum. |
| tmSensor | The tmSensor must be used only when TuyaMCU is already started. tmSensor is a TuyaMcu Sensor, it's used for Low Power TuyaMCU communication on devices like TuyaMCU door sensor, or TuyaMCU humidity sensor. After device reboots, tmSensor uses TuyaMCU to request data update from the sensor and reports it on MQTT. Then MCU turns off WiFi module again and goes back to sleep. See an example door sensor here. Enabled by defining "ENABLE_DRIVER_TUYAMCU" for your platform in obk_config.h (for Details see here). See also tmSensor on forum. |
| GirierMCU | TODO. Enabled by defining "ENABLE_DRIVER_GIRIERMCU" for your platform in obk_config.h (for Details see here). See also GirierMCU on forum. |
| TCA9554 | TCA9554. Enabled by defining "ENABLE_DRIVER_TCA9554" for your platform in obk_config.h (for Details see here). See also TCA9554 on forum. |
| DMX | DMX. Enabled by defining "ENABLE_DRIVER_DMX" for your platform in obk_config.h (for Details see here). See also DMX on forum. |
| Freeze | Freeze is a test driver for watchdog. Enabling this will freeze device main loop. Enabled by defining "ENABLE_DRIVER_FREEZE" for your platform in obk_config.h (for Details see here). See also Freeze on forum. |
| TESTSPIFLASH | TESTSPIFLASH. Enabled by defining "ENABLE_DRIVER_TESTSPIFLASH" for your platform in obk_config.h (for Details see here). See also TESTSPIFLASH on forum. |
| PIR | PIR. Enabled by defining "ENABLE_DRIVER_PIR" for your platform in obk_config.h (for Details see here). See also PIR on forum. |
| PixelAnim | PixelAnim provides a simple set of WS2812B animations. Enabled by defining "ENABLE_DRIVER_PIXELANIM" for your platform in obk_config.h (for Details see here). See also PixelAnim on forum. |
| Drawers | WS2812B driver wrapper with REST API for smart drawers project. Enabled by defining "ENABLE_DRIVER_DRAWERS" for your platform in obk_config.h (for Details see here). See also Drawers on forum. |
| HGS02 | HGS02. Enabled by defining "ENABLE_DRIVER_HGS02" for your platform in obk_config.h (for Details see here). See also HGS02 on forum. |
| PinMutex | PinMutex. Enabled by defining "ENABLE_DRIVER_PINMUTEX" for your platform in obk_config.h (for Details see here). See also PinMutex on forum. |
| GosundSW2 | GosundSW2. Enabled by defining "ENABLE_DRIVER_GOSUNDSW2" for your platform in obk_config.h (for Details see here). See also GosundSW2 on forum. |
| TCL | Driver for TCL-based air conditioners. Enabled by defining "ENABLE_DRIVER_TCL" for your platform in obk_config.h (for Details see here). See also TCL on forum. |
| OpenWeatherMap | OpenWeatherMap integration allows you to fetch current weather for your lat/long. You can later extract temperatura, humidity and pressure data and display it on main page. Enabled by defining "ENABLE_DRIVER_OPENWEATHERMAP" for your platform in obk_config.h (for Details see here). See also OpenWeatherMap on forum. |
| Widget | Widget driver allows you to create custom HTML snippets that are displayed on main OBK page. Snippets are loaded from LittleFS file system and can use OBK REST API. Enabled by defining "ENABLE_DRIVER_WIDGET" for your platform in obk_config.h (for Details see here). See also Widget on forum. |
| TestCharts | Development only driver - a sample of chart generation with chart.js. Enabled by defining "WINDOWS" for your platform in obk_config.h (for Details see here). See also TestCharts on forum. |
| Charts | Charts driver allows you to create a customizable chart directly on your device. See tutorial. Enabled by defining "ENABLE_DRIVER_CHARTS" for your platform in obk_config.h (for Details see here). See also Charts on forum. |
| NTP | NTP driver is required to get current time and date from web. Without it, there is no correct datetime. Put 'startDriver NTP' in short startup line or autoexec.bat to run it on start. Enabled by defining "ENABLE_NTP" for your platform in obk_config.h (for Details see here). See also NTP on forum. |
| DS3231 | Driver for DS3231 RTC. Start with "startdriver DS3231 <CLK-Pin> <DATA-Pin> [<optional sync>]". Sync values: 0 - do nothing / 1: set device clock to RTC on driver start / 2: regulary (every minute) set device clock to RTC (so RTC is time source). Enabled by defining "ENABLE_DRIVER_DS3231" for your platform in obk_config.h (for Details see here). See also DS3231 on forum. |
| HTTPButtons | This driver allows you to create custom, scriptable buttons on main WWW page. You can create those buttons in autoexec.bat and assign commands to them. Enabled by defining "ENABLE_DRIVER_HTTPBUTTONS" for your platform in obk_config.h (for Details see here). See also HTTPButtons on forum. |
| TESTPOWER | This is a fake POWER measuring socket driver, only for testing. Enabled by defining "ENABLE_DRIVER_TESTPOWER" for your platform in obk_config.h (for Details see here). See also TESTPOWER on forum. |
| TESTLED | This is a fake I2C LED driver, only for testing. Enabled by defining "ENABLE_DRIVER_TESTLED" for your platform in obk_config.h (for Details see here). See also TESTLED on forum. |
| TESTUART | G. Enabled by defining "ENABLE_DRIVER_TESTUART" for your platform in obk_config.h (for Details see here). See also TESTUART on forum. |
| Test | Self test of the device. Enabled by defining "ENABLE_TEST_COMMANDS" for your platform in obk_config.h (for Details see here). See also Test on forum. |
| SimpleEEPROM | SimpleEEPROM. Enabled by defining "ENABLE_SIMPLEEEPROM" for your platform in obk_config.h (for Details see here). See also SimpleEEPROM on forum. |
| MultiPinI2CScanner | Qq. Enabled by defining "ENABLE_MULTIPINI2CSCANNER" for your platform in obk_config.h (for Details see here). See also MultiPinI2CScanner on forum. |
| I2C | Generic I2C, not used for LED drivers, but may be useful for displays or port expanders. Supports both hardware and software I2C. Enabled by defining "ENABLE_I2C" for your platform in obk_config.h (for Details see here). See also I2C on forum. |
| RN8209 | WIP driver for power-metering chip RN8209 found in one of Zmai-90 versions. Enabled by defining "ENABLE_DRIVER_RN8209" for your platform in obk_config.h (for Details see here). See also RN8209 on forum. |
| BL0942 | BL0942 is a power-metering chip which uses UART protocol for communication. It's usually connected to TX1/RX1 port of BK. You need to calibrate power metering once, just like in Tasmota. See LSPA9 teardown example. By default, it uses 4800 baud, but you can also enable it with baud 9600 by using 'startDriver BL0942 9600', see related topic. Enabled by defining "ENABLE_DRIVER_BL0942" for your platform in obk_config.h (for Details see here). See also BL0942 on forum. |
| PWMG | PWM Groups (synchronized PWMs) driver for OpenBeken. Enabled by defining "ENABLE_DRIVER_PWM_GROUP" for your platform in obk_config.h (for Details see here). See also PWMG on forum. |
| BL0942SPI | BL0942 driver version for SPI protocol. It's usually connected to SPI1 port of BK. You need to calibrate power metering once, just like in Tasmota. See PZIOT-E01 teardown example. . Enabled by defining "ENABLE_DRIVER_BL0942SPI" for your platform in obk_config.h (for Details see here). See also BL0942SPI on forum. |
| HLW8112SPI | TODO. Enabled by defining "ENABLE_DRIVER_HLW8112SPI" for your platform in obk_config.h (for Details see here). See also HLW8112SPI on forum. |
| ChargingLimit | Mechanism to perform an action based on a max. delta value and max time. Used to control Electric Vehicle chargers. See discussion. Enabled by defining "ENABLE_DRIVER_CHARGINGLIMIT" for your platform in obk_config.h (for Details see here). See also ChargingLimit on forum. |
| BL0937 | BL0937 is a power-metering chip which uses custom protocol to report data. It requires setting 3 pins in pin config: CF, CF1 and SEL. Enabled by defining "ENABLE_DRIVER_BL0937" for your platform in obk_config.h (for Details see here). See also BL0937 on forum. |
| CSE7761 | Unfinished driver for CSE7761, a single-phase multi-purpose electric energy metering chip that incorporates three sigma delta ADCs, a power calculator, an energy frequency converter, one SPI interface, and one UART interface. Enabled by defining "ENABLE_DRIVER_CSE7761" for your platform in obk_config.h (for Details see here). See also CSE7761 on forum. |
| CSE7766 | CSE7766 is a power-metering chip which uses UART protocol for communication. It's usually connected to TX1/RX1 port of BK. Enabled by defining "ENABLE_DRIVER_CSE7766" for your platform in obk_config.h (for Details see here). See also CSE7766 on forum. |
| MAX6675 | Thermocouple driver for measuring high temperatures, see presentation. Enabled by defining "ENABLE_DRIVER_MAX6675" for your platform in obk_config.h (for Details see here). See also MAX6675 on forum. |
| MAX31855 | T. Enabled by defining "ENABLE_DRIVER_MAX31855" for your platform in obk_config.h (for Details see here). See also MAX31855 on forum. |
| PT6523 | Car radio LCD driver, see teardown and presentation. Enabled by defining "ENABLE_DRIVER_PT6523" for your platform in obk_config.h (for Details see here). See also PT6523 on forum. |
| TextScroller | Wrapper utility that can do text scrolling animation on implemented displays (WIP). Enabled by defining "ENABLE_DRIVER_TEXTSCROLLER" for your platform in obk_config.h (for Details see here). See also TextScroller on forum. |
| SM16703P | SM16703P is an individually addressable LEDs controller like WS2812B. Currently SM16703P LEDs are supported through hardware SPI, LEDs data should be connected to P16 (MOSI), here you can read how to break it out on CB2S. Enabled by defining "ENABLE_DRIVER_SM16703P" for your platform in obk_config.h (for Details see here). See also SM16703P on forum. |
| SM15155E | SM15155E is a WS2812B-like single wire LED controller. It's also always using P16 (SPI out) on Beken. See reverse-engineering topic. Enabled by defining "ENABLE_DRIVER_SM15155E" for your platform in obk_config.h (for Details see here). See also SM15155E on forum. |
| IR | IRLibrary wrapper, so you can receive remote signals and send them. See forum discussion here, also see LED strip and IR YT video. undefined(for Details see here). See also IR on forum. |
| RC | . Enabled by defining "ENABLE_DRIVER_RC" for your platform in obk_config.h (for Details see here). See also RC on forum. |
| IR2 | Simple IR2 driver for sending captures from flipper zero. Enabled by defining "ENABLE_DRIVER_IR2" for your platform in obk_config.h (for Details see here). See also IR2 on forum. |
| DDPSend | DDPqqqqqqq. See DDP topic. Enabled by defining "ENABLE_DRIVER_DDPSEND" for your platform in obk_config.h (for Details see here). See also DDPSend on forum. |
| DDP | DDP is a LED control protocol that is using UDP. You can use xLights or any other app to control OBK LEDs that way. See DDP topic. Enabled by defining "ENABLE_DRIVER_DDP" for your platform in obk_config.h (for Details see here). See also DDP on forum. |
| SSDP | SSDP is a discovery protocol, so BK devices can show up in, for example, Windows network section. Enabled by defining "ENABLE_DRIVER_SSDP" for your platform in obk_config.h (for Details see here). See also SSDP on forum. |
| DGR | Tasmota Device groups driver. See forum example and video tutorial. Enabled by defining "ENABLE_TASMOTADEVICEGROUPS" for your platform in obk_config.h (for Details see here). See also DGR on forum. |
| Wemo | Wemo emulation for Alexa. You must also start SSDP so it can run, because it depends on SSDP discovery. Enabled by defining "ENABLE_DRIVER_WEMO" for your platform in obk_config.h (for Details see here). See also Wemo on forum. |
| Hue | Hue emulation for Alexa. You must also start SSDP so it can run, because it depends on SSDP discovery. Enabled by defining "ENABLE_DRIVER_HUE" for your platform in obk_config.h (for Details see here). See also Hue on forum. |
| PWMToggler | PWMToggler is a custom abstraction layer that can run on top of raw PWM channels. It provides ability to turn off/on the PWM while keeping it's value, which is not possible by direct channel operations. It can be used for some custom devices with extra lights/lasers. See example here. Enabled by defining "PLATFORM_BEKEN |
| DoorSensor | DoorSensor is using deep sleep to preserve battery. This is used for devices without TuyaMCU, where BK deep sleep and wakeup on GPIO is used. This drives requires you to set a DoorSensor pin. Change on door sensor pin wakes up the device. If there are no changes for some time, device goes to sleep. See example here. If your door sensor does not wake up in certain pos, please use DSEdge command (try all 3 options, default is 2). . Enabled by defining "PLATFORM_BEKEN |
| ADCButton | This allows you to connect multiple buttons on single ADC pin. Each button must have a different resistor value, this works by probing the voltage on ADC from a resistor divider. You need to select AB_Map first. See forum post for details. Enabled by defining "ENABLE_DRIVER_ADCBUTTON" for your platform in obk_config.h (for Details see here). See also ADCButton on forum. |
| MAX72XX_Clock | Simple hardcoded driver for MAX72XX clock. Requires manual start of MAX72XX driver with MAX72XX setup and NTP start. Enabled by defining "ENABLE_DRIVER_MAX72XX" for your platform in obk_config.h (for Details see here). See also MAX72XX_Clock on forum. |
| SM2135 | SM2135 custom-'I2C' LED driver for RGBCW lights. This will start automatically if you set both SM2135 pin roles. This may need you to remap the RGBCW indexes with SM2135_Map command. Enabled by defining "ENABLE_DRIVER_LED" for your platform in obk_config.h (for Details see here). See also SM2135 on forum. |
| BP5758D | BP5758D custom-'I2C' LED driver for RGBCW lights. This will start automatically if you set both BP5758D pin roles. This may need you to remap the RGBCW indexes with BP5758D_Map command. This driver is used in some of BL602/Sonoff bulbs, see video flashing tutorial here. Enabled by defining "ENABLE_DRIVER_LED" for your platform in obk_config.h (for Details see here). See also BP5758D on forum. |
| BP1658CJ | BP1658CJ custom-'I2C' LED driver for RGBCW lights. This will start automatically if you set both BP1658CJ pin roles. This may need you to remap the RGBCW indexes with BP1658CJ_Map command. Enabled by defining "ENABLE_DRIVER_LED" for your platform in obk_config.h (for Details see here). See also BP1658CJ on forum. |
| SM2235 | SM2335 andd SM2235 custom-'I2C' LED driver for RGBCW lights. This will start automatically if you set both SM2235 pin roles. This may need you to remap the RGBCW indexes with SM2235_Map command. This driver also works for SM2185N. Enabled by defining "ENABLE_DRIVER_LED" for your platform in obk_config.h (for Details see here). See also SM2235 on forum. |
| BMP280 | BMP280 is a Temperature and Pressure sensor with I2C interface. Enabled by defining "ENABLE_DRIVER_BMP280" for your platform in obk_config.h (for Details see here). See also BMP280 on forum. |
| MAX72XX | MAX72XX LED matrix display driver with font and simple script interface. See protocol explanation. Enabled by defining "ENABLE_DRIVER_MAX72XX" for your platform in obk_config.h (for Details see here). See also MAX72XX on forum. |
| BMPI2C | Driver for BMP085, BMP180, BMP280, BME280, BME68X sensors with I2C interface. Enabled by defining "ENABLE_DRIVER_BMPI2C" for your platform in obk_config.h (for Details see here). See also BMPI2C on forum. |
| CHT83XX | CHT8305, CHT8310 and CHT8315 are a Temperature and Humidity sensors with I2C interface. Enabled by defining "ENABLE_DRIVER_CHT83XX" for your platform in obk_config.h (for Details see here). See also CHT83XX on forum. |
| MCP9808 | MCP9808 is a Temperature sensor with I2C interface and an external wakeup pin, see docs. Enabled by defining "ENABLE_DRIVER_MCP9808" for your platform in obk_config.h (for Details see here). See also MCP9808 on forum. |
| KP18058 | KP18058 I2C LED driver. Supports also KP18068. Working, see reverse-engineering topic. Enabled by defining "ENABLE_DRIVER_KP18058" for your platform in obk_config.h (for Details see here). See also KP18058 on forum. |
| ADCSmoother | ADCSmoother is used for 3-way stairs switches synchronized via extra wire. Enabled by defining "ENABLE_DRIVER_ADCSMOOTHER" for your platform in obk_config.h (for Details see here). See also ADCSmoother on forum. |
| SHT3X | Humidity/temperature sensor. See SHT Sensor tutorial topic here, also see this sensor teardown. Enabled by defining "ENABLE_DRIVER_SHT3X" for your platform in obk_config.h (for Details see here). See also SHT3X on forum. |
| SGP | SGP Air Quality sensor with I2C interface. See this DIY sensor for setup information. Enabled by defining "ENABLE_DRIVER_SGP" for your platform in obk_config.h (for Details see here). See also SGP on forum. |
| ShiftRegister | Simple Shift Register driver that allows you to map channels to shift register output. See related topic. Enabled by defining "ENABLE_DRIVER_SHIFTREGISTER" for your platform in obk_config.h (for Details see here). See also ShiftRegister on forum. |
| AHT2X | AHT Humidity/temperature sensor. Supported sensors are: AHT10, AHT2X, AHT30. See presentation guide. Enabled by defining "ENABLE_DRIVER_AHT2X" for your platform in obk_config.h (for Details see here). See also AHT2X on forum. |
| DS1820 | Very simple driver for oneWire temperature sensor DS1820. Enabled by defining "ENABLE_DRIVER_DS1820" for your platform in obk_config.h (for Details see here). See also DS1820 on forum. |
| DS1820_FULL | Driver for oneWire temperature sensor DS18(B)20. Enabled by defining "ENABLE_DRIVER_DS1820_FULL" for your platform in obk_config.h (for Details see here). See also DS1820_FULL on forum. |
| HT16K33 | Driver for 16-segment LED display with I2C. See protocol explanation. Enabled by defining "ENABLE_DRIVER_HT16K33" for your platform in obk_config.h (for Details see here). See also HT16K33 on forum. |
| TM1637 | Driver for 7-segment LED display with DIO/CLK interface. See TM1637 information. Enabled by defining "ENABLE_DRIVER_TMGN" for your platform in obk_config.h (for Details see here). See also TM1637 on forum. |
| GN6932 | Driver for 7-segment LED display with DIO/CLK/STB interface. See this topic for details. Enabled by defining "ENABLE_DRIVER_TMGN" for your platform in obk_config.h (for Details see here). See also GN6932 on forum. |
| TM1638 | Driver for 7-segment LED display with DIO/CLK/STB interface. TM1638 is very similiar to GN6932 and TM1637. See this topic for details. Enabled by defining "ENABLE_DRIVER_TMGN" for your platform in obk_config.h (for Details see here). See also TM1638 on forum. |
| HD2015 | Driver for 7-segment LED display with I2C-like interface. Seems to be compatible with TM1650. HD2015 is very similiar to GN6932 and TM1637. See this topic for details. Enabled by defining "ENABLE_DRIVER_TMGN" for your platform in obk_config.h (for Details see here). See also HD2015 on forum. |
| Battery | Custom mechanism to measure battery level with ADC and an optional relay. See example here. Enabled by defining "ENABLE_DRIVER_BATTERY" for your platform in obk_config.h (for Details see here). See also Battery on forum. |
| BKPartitions | O. Enabled by defining "ENABLE_DRIVER_BKPARTITIONS" for your platform in obk_config.h (for Details see here). See also BKPartitions on forum. |
| Bridge | A bridge relay driver, added for TONGOU TO-Q-SY1-JWT Din Rail Switch. See linked topic for info. Enabled by defining "ENABLE_DRIVER_BRIDGE" for your platform in obk_config.h (for Details see here). See also Bridge on forum. |
| UartTCP | UART to TCP bridge, mainly for WiFi Zigbee coordinators. Enabled by defining "ENABLE_DRIVER_UART_TCP" for your platform in obk_config.h (for Details see here). See also UartTCP on forum. |
| TXWCAM | TXW81X Camera. Enabled by defining "PLATFORM_TXW81X" for your platform in obk_config.h (for Details see here). See also TXWCAM on forum. |