Wanneer je een RaspBee gebruikt op een Raspberry Pi, dan is het gebruik van de ingebouwde bluetooth helaas niet mogelijk. Aangezien Hass.io geen bluetooth dongels ondersteunt, kiezen we ervoor een tweede Raspberry Pi in te zetten voor het uitlezen van de Mi Flora waardes.

Op deze tweede Raspberry Pi draait een Docker container die de waardes naar een MQTT broker die draait op de Raspberry Pi met Hass.io.

 

Op de HASS RPi installeren we de Mosquitto MQTT add-on

  1. Installeer Mosquitto MQTT broker via de HASS add-on store.
  2. Configureer de add-on (username, password) via de HASS interface en start de add-on

Op een andere RPi halen we middels een docker image via bluetooth de waardes uit de Mi Flora:

  1. Download de pschmitt/plantgateway docker image (https://hub.docker.com/r/pschmitt/plantgateway/) middels onderstaand commando maar start deze vervolgens niet.
    docker pull pschmitt/plantgateway 
  2. Maak in de home folder van de Pi gebruiker plantgw.yaml aan op basis van https://github.com/ChristianKuehnel/plantgateway/blob/master/plantgw.yaml 
    • Pas server adres, prefix (bijvoorbeeld 'plants') portnummer en username/password van MQTT broker (Mosquotto add-on van HASS in dit geval) aan. 
    • Vul MAC adres en alias (bijvoorbeeld 'Kamerplant') van plant(en) toe. (MAC adresssen op te zoeken via:
      sudo hcitool lescan
  3. Start de docker image (inclusief mappen van lokale plantgw.yaml met onderstaand commando (docker start eenmalig en published waardes in MQTT topic ('plants' in dit geval).
docker run --name=plantgateway --net=host -v /home/pi/plantgw.yaml:/config/plantgw.yaml:ro pschmitt/plantgateway

In HASS voegen we een aantal sensors toe waarin de MQTT waardes opgehaald worden:

- platform: mqtt
state_topic: "plants/Kamerplant/"
unit_of_measurement: "%"
force_update: true
value_template: '{{ value_json.battery }}'
name: Kamerplantbatterij
- platform: mqtt
state_topic: "plants/Kamerplant/"
force_update: true
unit_of_measurement: "lux"
value_template: '{{ value_json.brightness }}'
name: Kamerplantlicht
- platform: mqtt
state_topic: "plants/Kamerplant/"
force_update: true
unit_of_measurement: "µS/cm"
value_template: '{{ value_json.conductivity }}'
name: Kamerplantvoedingswaarde
- platform: mqtt
state_topic: "plants/Kamerplant/"
unit_of_measurement: "%"
force_update: true
value_template: '{{ value_json.moisture }}'
name: Kamerplantvochtigheid
- platform: mqtt
state_topic: "plants/Kamerplant/"
unit_of_measurement: "°C"
force_update: true
value_template: '{{ value_json.temperature }}'
name: Kamerplanttemperatuur

Deze sensoren tonen we in een page/zone naar keuze: 

 - sensor.kamerplantvochtigheid
- sensor.kamerplantvoedingswaarde
- sensor.kamerplantlicht

Maak een Cronjob op de MQTT broker RPi aan:

crontab -e

Om de docker container elke 30 minuten te starten en waardes naar de MQTT te sturen voeg je onderstaande toe aan crontab.

*/30 * * * * sudo docker start plantgateway

Het resultaat in HASS dat elke 30 minuten automatisch wordt bijgewerkt

miflora