Home-Is-Where-You-Hang-Your-Hack / sensor.goveetemp_bt_hci

Govee Temperature/Humidity BLE Home Assistant Component
MIT License
161 stars 29 forks source link

Component does not work on standard HASSio installation #10

Closed pebbletjb closed 4 years ago

pebbletjb commented 4 years ago

The provided Raspberry Pi image does not contain hcitool/hcidump, and I haven't been able to figure out how to install them such that they work inside the HA Docker container. (Bluetooth is working on my device and I can see my hygrometers with bluetoothctl.)

Thrilleratplay commented 4 years ago

Inside which docker container? Home Assistant is a collection of multiple Docker containers. I am guessing you are SSHing into HASSio which does not contain hcitool and hcidump, although it does not contain bluetoothctl either. I am running homeassistant 0.112.1 on a Raspberry Pi and it is working. Can you provide the steps you have tired to connect and test bluetoothctl?

pebbletjb commented 4 years ago

Good question, I'm not that familiar with Home Assistant at all (having just installed it for the first time yesterday...) I just used the standard Raspberry Pi image, installed the "SSH and Web Terminal" plugin, then added my public key to the web-based configuration utility. I then logged in and downloaded the files. Running bluetoothctl scan on gave me the MAC addresses of the hygrometers I have, so I set up the config file as instructed... it's certainly possible that I'm missing something somewhere, but the installation seemed reasonably straightforward. However, there are no hcitool/hcidump binaries anywhere in here that I can see...

Thrilleratplay commented 4 years ago

@pebbletjb I installed HASS on top of Debian which gives me more control of the underlying system and helps me debug problems. This also allows me to see and connect to the individual containers. What is not obvious from the UI or HASS cli is each add on has its own unique container to allow easier segregation of dependencies/updating/adding/removing/etc which means when you SSH into Home Assistant you are within a container unique to the SSH addon. I am not sure where you would be able to find this information in the UI so being confused is a given.

I would suggest installing through Home Assistant Community Store/HACS to save a bunch of headaches not only with this component but others as well. After installing and setting up this this component if you are still having issues seeing the devices set hcitool_active: true, this seems to solve the problem for most.

pebbletjb commented 4 years ago

Okay, I went ahead and set up HACS and installed the component. However, I seem to be in the same situation as before - I still can't see the device anywhere. I enabled logging as described somewhere and get the following once per minute:

2020-07-03 20:30:20 DEBUG (SyncWorker_12) [custom_components.govee_ble_hci.sensor] update_ble called
2020-07-03 20:30:20 DEBUG (SyncWorker_12) [custom_components.govee_ble_hci.sensor] Discovering Bluetooth LE devices
2020-07-03 20:30:20 DEBUG (SyncWorker_12) [custom_components.govee_ble_hci.sensor] Stopping
2020-07-03 20:30:20 DEBUG (SyncWorker_12) [custom_components.govee_ble_hci.sensor] Stop receiving broadcasts
2020-07-03 20:30:20 DEBUG (SyncWorker_12) [custom_components.govee_ble_hci.sensor] Analyzing
2020-07-03 20:30:20 DEBUG (SyncWorker_12) [custom_components.govee_ble_hci.sensor] {'E35ECC82E8FA': 'Device 1'}
2020-07-03 20:30:20 DEBUG (SyncWorker_12) [custom_components.govee_ble_hci.sensor] reading hcidump...
2020-07-03 20:30:20 DEBUG (SyncWorker_12) [custom_components.govee_ble_hci.sensor] Start receiving broadcasts

Not sure what I'm missing...

Thrilleratplay commented 4 years ago

What model do you have? Can you post your config for the sensor?

pebbletjb commented 4 years ago

It's an H5074. Here's my config:

sensor:
  - platform: govee_ble_hci
    hcitool_active: true
    period: 60
    govee_devices:
    - mac: "E3:5E:CC:82:E8:FA"
      name: "Device 1"
logger:
  default: critical
  logs:
          custom_components.govee_ble_hci: debug
Thrilleratplay commented 4 years ago

Hmmm. It may need to be a True with a capital T. If changing that and restarting the service does not correct it, rebooting the Raspberry Pi sometimes works.

pebbletjb commented 4 years ago

Going from true to True didn't have any noticeable effect, but I rebooted the Pi and it works now! I can see temperature and humidity sensors under Entities. (Maybe this could be added to the guide?)

Thank you!

Thrilleratplay commented 4 years ago

Glad that worked. I would prefer users refer to the official documentation on where to find and use the data this component collect to ensure it is not out of date.

eharting commented 4 years ago

Hi - I'm experiencing the same exact thing with similar logger content. I've uninstalled and reinstalled goveetemp_bt_hci twice and restarted HASSIO several times. Any advice?

Thrilleratplay commented 4 years ago

@eharting Have you tried adding hcitool_active: true and reboot the entire device?

eharting commented 4 years ago

Yea, I have - tried both True and true

eharting commented 4 years ago

here's my configuration.yaml entry:

sensor:
  - platform: badnest

# Govee Hygrometer
  - platform: govee_ble_hci
    hcitool_active: True
    period: 60
    govee_devices:
      - mac: "E3:5E:CC:72:70:E8"
        name: Humidor

#Broadlink Config
remote:
  - platform: broadlink
    host: 192.168.1.248

Log Entries: 2020-07-07 11:00:04 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.govee_ble_hci 2020-07-07 11:00:04 DEBUG (SyncWorker_4) [custom_components.govee_ble_hci.sensor] Starting 2020-07-07 11:00:07 DEBUG (SyncWorker_4) [custom_components.govee_ble_hci.sensor] Start receiving broadcasts 2020-07-07 11:00:07 DEBUG (SyncWorker_4) [custom_components.govee_ble_hci.sensor] [OrderedDict([('mac', 'E3:5E:CC:72:70:E8'), ('name', 'Humidor')])] 2020-07-07 11:00:07 INFO (MainThread) [homeassistant.setup] Setup of domain updater took 18.3 seconds. 2020-07-07 11:00:07 INFO (SyncWorker_2) [homeassistant.loader] Loaded binary_sensor from homeassistant.components.binary_sensor 2020-07-07 11:00:07 INFO (MainThread) [homeassistant.setup] Setting up logbook 2020-07-07 11:00:07 INFO (MainThread) [homeassistant.setup] Setup of domain climate took 12.5 seconds. 2020-07-07 11:00:07 DEBUG (SyncWorker_4) [custom_components.govee_ble_hci.sensor] update_ble called 2020-07-07 11:00:07 DEBUG (SyncWorker_4) [custom_components.govee_ble_hci.sensor] Discovering Bluetooth LE devices 2020-07-07 11:00:07 DEBUG (SyncWorker_4) [custom_components.govee_ble_hci.sensor] Stopping 2020-07-07 11:00:07 DEBUG (SyncWorker_4) [custom_components.govee_ble_hci.sensor] Stop receiving broadcasts 2020-07-07 11:00:07 INFO (MainThread) [homeassistant.setup] Setup of domain automation took 12.5 seconds. 2020-07-07 11:00:07 DEBUG (SyncWorker_4) [custom_components.govee_ble_hci.sensor] Analyzing 2020-07-07 11:00:07 DEBUG (SyncWorker_4) [custom_components.govee_ble_hci.sensor] {'E35ECC7270E8': 'Humidor'} 2020-07-07 11:00:07 DEBUG (SyncWorker_4) [custom_components.govee_ble_hci.sensor] reading hcidump... 2020-07-07 11:00:08 DEBUG (SyncWorker_4) [custom_components.govee_ble_hci.sensor] Start receiving broadcasts 2020-07-07 11:00:08 DEBUG (SyncWorker_4) [custom_components.govee_ble_hci.sensor] [OrderedDict([('mac', 'E3:5E:CC:72:70:E8'), ('name', 'Humidor')])] 2020-07-07 11:00:15 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection.2973325264] Sending {'type': 'auth_required', 'ha_version': '0.112.3'} 2020-07-07 11:00:15 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform govee_ble_hci is taking over 10 seconds.

eharting commented 4 years ago

Ok disregard everything above! True works where true does not work to return any values from the H5074

Thrilleratplay commented 4 years ago

@eharting So everything is working?

eharting commented 4 years ago

Looks like it