I’m struggling with the setup and I’m sure someone can help
First of all … I’m running OpenHAB 2.4 stable (openhabian) on my RPi 3b.
What is my status:
I installed Mosquitto MQTT using the OpenHabian config tool.
First question: Do I have to change a Mosquitto config file?
The Python part was already installed and I changed the config to:
reporting_method = mqtt-json
username = openhabian
password = openhabian
Miflora1 = C4:7C:8D:61:B0:67
Miflora2 = C4:7C:8D:61:7C:2E
The script is running without any errors:
**[14:27:41]** **openhabian@openHABianPi** : **/opt/miflora-mqtt-daemon** $ sudo python3 /opt/miflora-mqtt-daemon/miflora-mqtt-daemon.py
**Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon**
**Source: https://github.com/ThomDietrich/miflora-mqtt-daemon**
[2018-12-25 14:41:12] Connecting to MQTT broker ...
[2018-12-25 14:41:12] MQTT connection established
Adding sensor to device list and testing connection ...
Name: "Miflora1"
Internal name: "Miflora1"
Device name: "Flower care"
MAC address: C4:7C:8D:61:B0:67
Firmware: 3.1.9
[2018-12-25 14:41:15] Initial connection to Mi Flora sensor "Miflora1" (C4:7C:8D:61:B0:67) successful
Adding sensor to device list and testing connection ...
Name: "Miflora2"
Internal name: "Miflora2"
Device name: "Flower care"
MAC address: C4:7C:8D:61:7C:2E
Firmware: 3.1.9
[2018-12-25 14:41:19] Initial connection to Mi Flora sensor "Miflora2" (C4:7C:8D:61:7C:2E) successful
[2018-12-25 14:41:19] Announcing Mi Flora devices to MQTT broker for auto-discovery ...
[2018-12-25 14:41:19] Retrieving data from sensor "Miflora1" ...
[2018-12-25 14:41:23] Result: {"moisture": 33, "battery": 99, "light": 97, "conductivity": 1695, "temperature": 20.9}
[2018-12-25 14:41:23] Publishing to MQTT topic "miflora/Miflora1"
[2018-12-25 14:41:23] Retrieving data from sensor "Miflora2" ...
[2018-12-25 14:41:31] Result: {"moisture": 26, "battery": 99, "light": 261, "conductivity": 169, "temperature": 20.8}
[2018-12-25 14:41:31] Publishing to MQTT topic "miflora/Miflora2"
[2018-12-25 14:41:31] Sleeping (300 seconds) ...
In OpenHAB I installed the MQTT Binding (2.4).
The MQTT thing is “Online” (name: broker)
And I installed the JSONPath Transformation
In addition I installed a second thing called “Generic MQTT Thing”
The Generic MQTT Thing is also “Online”
So far so good … everything seems to be okay …
Using Visual Code Studio, I created a miflora.items file with the following content:
// miflora.items - Generated by miflora-mqtt-daemon.
// Adapt to your needs! Things you probably want to modify:
// Room group names, icons,
// "gAll", "broker", ""
// Mi Flora specific groups
Group gMiFlora "All Mi Flora sensors and elements"
Group gLightIntensity "Mi Flora Sunlight Intensity elements" (gMiFlora)
Group gAirTemperature "Mi Flora Air Temperature elements" (gMiFlora)
Group gSoilMoisture "Mi Flora Soil Moisture elements" (gMiFlora)
Group gSoilConductivity "Mi Flora Soil Conductivity/Fertility elements" (gMiFlora)
Group gMFBattery "Mi Flora Sensor Battery Level elements" (gMiFlora)
// Mi Flora "Miflora1" (C4:7C:8D:61:B0:67)
Group gMiflora1 "Mi Flora Sensor Miflora1" (gMiFlora)
Number Miflora1_LightIntensity "Miflora1 Sunlight Intensity [%d lux]" <text> (gMiflora1, gLightIntensity) {mqtt="<[broker:miflora/Miflora1:state:JSONPATH($.light)]"}
Number Miflora1_AirTemperature "Miflora1 Air Temperature [%.1f °C]" <text> (gMiflora1, gAirTemperature) {mqtt="<[broker:miflora/Miflora1:state:JSONPATH($.temperature)]"}
Number Miflora1_SoilMoisture "Miflora1 Soil Moisture [%d %%]" <text> (gMiflora1, gSoilMoisture) {mqtt="<[broker:miflora/Miflora1:state:JSONPATH($.moisture)]"}
Number Miflora1_SoilConductivity "Miflora1 Soil Conductivity/Fertility [%d µS/cm]" <text> (gMiflora1, gSoilConductivity) {mqtt="<[broker:miflora/Miflora1:state:JSONPATH($.conductivity)]"}
Number Miflora1_Battery "Miflora1 Sensor Battery Level [%d %%]" <text> (gMiflora1, gMFBattery) {mqtt="<[broker:miflora/Miflora1:state:JSONPATH($.battery)]"}
// Mi Flora "Miflora2" (C4:7C:8D:61:7C:2E)
Group gMiflora2 "Mi Flora Sensor Miflora2" (gMiFlora)
Number Miflora2_LightIntensity "Miflora2 Sunlight Intensity [%d lux]" <text> (gMiflora2, gLightIntensity) {mqtt="<[broker:miflora/Miflora2:state:JSONPATH($.light)]"}
Number Miflora2_AirTemperature "Miflora2 Air Temperature [%.1f °C]" <text> (gMiflora2, gAirTemperature) {mqtt="<[broker:miflora/Miflora2:state:JSONPATH($.temperature)]"}
Number Miflora2_SoilMoisture "Miflora2 Soil Moisture [%d %%]" <text> (gMiflora2, gSoilMoisture) {mqtt="<[broker:miflora/Miflora2:state:JSONPATH($.moisture)]"}
Number Miflora2_SoilConductivity "Miflora2 Soil Conductivity/Fertility [%d µS/cm]" <text> (gMiflora2, gSoilConductivity) {mqtt="<[broker:miflora/Miflora2:state:JSONPATH($.conductivity)]"}
Number Miflora2_Battery "Miflora2 Sensor Battery Level [%d %%]" <text> (gMiflora2, gMFBattery) {mqtt="<[broker:miflora/Miflora2:state:JSONPATH($.battery)]"}
But saving this file dod not create Miflora items …
So I don’t see any error messages … but I don’t see my items and values.
What is wrong? Is something missing?
Do I have to edit the services/mqtt.cfg file? I thought that this is not necessary because I was able to set the config of the mqtt binding using PaperUI.