Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parse temperature and humidity from GVH5101 #13

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 14 additions & 9 deletions blerry/blerry_model_GVH5075.be
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,20 @@ def handle_GVH5075(value, trigger, msg)
output_map['Time_via_' + device_topic] = output_map['Time']
output_map['RSSI_via_' + device_topic] = output_map['RSSI']
end
var basenum = (bytes('00') + adv_data[3..5]).get(0,-4)
if basenum >= 0x800000
output_map['Temperature'] = (0x800000 - basenum)/10000.0
output_map['Humidity'] = ((basenum - 0x800000) % 1000)/10.0
else
output_map['Temperature'] = basenum/10000.0
output_map['Humidity'] = (basenum % 1000)/10.0
var dev_type = adv_data.get(0,-2)
var basenum = 0x00000000
if dev_type == 0x88EC # GVH5075
basenum = (bytes('00') + adv_data[3..5]).get(0,-4)
if basenum >= 0x800000
basenum -= 0x800000
end
output_map['Battery'] = adv_data.get(6,1)
elif dev_type == 0x0100 # GVH5101
basenum = (bytes('00') + adv_data[4..6]).get(0,-4)
output_map['Battery'] = adv_data.get(7,1)
end
output_map['Battery'] = adv_data.get(6,1)
output_map['Temperature'] = basenum/10000.0
output_map['Humidity'] = (basenum % 1000)/10.0
output_map['DewPoint'] = round(get_dewpoint(output_map['Temperature'], output_map['Humidity']), this_device['temp_precision'])
output_map['Temperature'] = round(output_map['Temperature'], this_device['temp_precision'])
output_map['Humidity'] = round(output_map['Humidity'], this_device['humi_precision'])
Expand All @@ -63,4 +68,4 @@ end

# map function into handles array
device_handles['GVH5075'] = handle_GVH5075
require_active['GVH5075'] = false
require_active['GVH5075'] = false