custom-components / ble_monitor

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

[New Sensor]: AirHeaterBLE Diesel Heater #1280

Closed spin877 closed 8 months ago

spin877 commented 8 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 8 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