custom-components / ble_monitor

BLE monitor for passive BLE sensors
https://community.home-assistant.io/t/passive-ble-monitor-integration/
MIT License
1.92k stars 248 forks source link

[New Sensor]: AirHeaterBLE Diesel Heater #1280

Closed spin877 closed 10 months ago

spin877 commented 10 months ago

Sensor Description

Vevor AirHeaterBLE

Additional information

it_ZCJRQFT12V5KWST3PV9_original_img-v5_diesel-heater-m100-1 2

here is some of my brutal code "https://github.com/spin877/Bruciatore_BLE"

APP Android here: AirHeaterBLE "https://play.google.com/store/apps/details?id=com.clj.airheater"

service_uuid: 0000ffe0-0000-1000-8000-00805f9b34fb characteristic_uuid: 0000ffe1-0000-1000-8000-00805f9b34fb

Through my exploration, I've identified the following commands that the Bruciatore sensor accepts:

Send Byte Command:

common_bytes = bytearray([0xaa, 0x55, 0x0c, 0x22]) cmd1 = common_bytes + bytearray([0x01, 0x00, 0x00, 0x2f]) # read 19 byte data

cmd8 = common_bytes + bytearray([0x03, 0x00, 0x00, 0x31]) # OFF cmd10 = common_bytes + bytearray([0x03, 0x01, 0x00, 0x32]) # ON

cmd11 = common_bytes + bytearray([0x04, 0x01, 0x00, 0x33]) #1 cmd12 = common_bytes + bytearray([0x04, 0x02, 0x00, 0x34]) #2 cmd13 = common_bytes + bytearray([0x04, 0x03, 0x00, 0x35]) #3 cmd14 = common_bytes + bytearray([0x04, 0x04, 0x00, 0x36]) #4 cmd15 = common_bytes + bytearray([0x04, 0x05, 0x00, 0x37]) #5 cmd16 = common_bytes + bytearray([0x04, 0x06, 0x00, 0x38]) #6 cmd17 = common_bytes + bytearray([0x04, 0x07, 0x00, 0x39]) #7 cmd18 = common_bytes + bytearray([0x04, 0x08, 0x00, 0x3a]) #8 cmd19 = common_bytes + bytearray([0x04, 0x09, 0x00, 0x3b]) #9

cmd8 and cmd 10 turns the burner on and off. cmd11 at 19 sets the power from 1 to 10. then to read the various sensor data it must periodically send cmd1 and read the relevant 19 bytes byte x[3] = State byte x[5] = State glow plug byte x[9] = Power Sate (1-10) byte x[10] = fanspeed byte x[13]= temp output byte x[19]= temp internal core byte x[11]= volt battery /10.0 byte x[6] = altitude

Could someone kindly provide a basic code snippet for Home Assistant? I am not proficient in coding, and I've shared all the information I've discovered. I'm willing to serve as a beta tester if someone more skilled than me could implement the code.

BLE advertisements

No response

Ernst79 commented 10 months ago

Unfortunately, BLE monitor can only passively monitor devices, it can’t send commands to devices to turn it in/off. You could look into ESPhome, which does have a module to send BLE data to a device.

https://esphome.io/components/ble_client