versuche gerade zum ersten mal den OpenHab einzurichten und dort erst mal einen Xiaomi flower sensor zu verbinden, leider klappt da gar nichts, habe schon etliche Videos, also auch Forums abgegrast.
als erstes sollt ihr wissen das der Sensor neben dem Gerät liegt und auch über bluetooth hcitool lescan erkannt wird..
als Gerät habe ich CoreElec auf dem Odroid N2 laufen + USB Bluetooth Adapter. Openhab läuft als Docker auf dem Coreelec, wenn ich mich auf den Docker befinde docker exec -ti openhab bash und den bl scan wie oben beschrieben anwerfe, dann erkennt er es auch, also denke ich das der BL Stick auch an den Docker weitergeleitet wurde.
so erstelle ich den Docker..
docker run -d \
--name openhab \
--net=host \
-e TZ=Europe/Berlin \
-e OPENHAB_HTTP_PORT=8082 \
-v /storage/.kodi/userdata/addon_data/service.openhab/conf:/openhab/conf \
-v /storage/.kodi/userdata/addon_data/service.openhab/userdata:/openhab/userdata \
-v /storage/.kodi/userdata/addon_data/service.openhab/addons:/openhab/addons\
--restart=always \
openhab/openhab:snapshot
den Port -e OPENHAB_HTTP_PORT=8082 musste ich anpassen, da der :8080 von Kodi schon verwendet wird.
in ein paar Videos zu ffhem oder iobroker, habe den binding "bluetooth Low energy" gesehen, den ich aber unter Openhab nicht finden kann, liegt es vielleicht daran?
dann habe ich hier gelesen https://community.openhab.org/t/xiaomi-mi-fl…nt-daemon/33119 das man den Sensor erst in den mqtt einbindet und dann zu openhab weiterleitet, das war mir aber alles zuviel und ich dachte ich hacke hier erst mal nach.
wird es überhaupt mit einem Normalen bluetooth stick funktionieren oder braucht man dafür eher den berühmten Zigbee Stick?
was ich noch bemerkt habe ist, das der bluetooth Empfang nach nur knapp 2 Meter Entfernung verloren geht, wie hat der @horschte dieses Reichweite Problem gelöst
Update..
So habe ich das jetzt laufen und es funktioniert mit Openhab 2.4
Diese Sachen werden im Openhab benötigt. Können aus der PaperUi Installiert werden.
Bindigs: MQTT Binding
Misc: Embedded MQTT Broker
Transformationes: Javascript, JSONPath, RegEx Transformations
Bridge mqtt:systemBroker:embedded-mqtt-broker "MQTT Bridge" [ brokerid="embedded-mqtt-broker", clientID="openhab2" ]
{
Thing topic Ficus "Ficus Benjamin" @ "Wohnzimmer"
{
Channels:
Type number : light "Light Intensity" [ stateTopic="miflora/Ficus", transformationPattern="JSONPATH:$.light" ]
Type number : temperature "Temperature" [ stateTopic="miflora/Ficus", transformationPattern="JSONPATH:$.temperature" ]
Type number : conductivity "Soil Fertility" [ stateTopic="miflora/Ficus", transformationPattern="JSONPATH:$.conductivity" ]
Type number : moisture "Soil Moisture" [ stateTopic="miflora/Ficus", transformationPattern="JSONPATH:$.moisture" ]
Type number : battery "Battery Charge" [ stateTopic="miflora/Ficus", transformationPattern="JSONPATH:$.battery" ]
}
Thing telegram:telegramBot:bot "Telegram Bot" @ "System" [ botUsername="SmartHome", chatIds="deine.chatid", botToken="deine.token" ]
}
Alles anzeigen
Group Pflanzen_Bodenfeuchte "Pflanzen-Bodenfeuchte [%d %%]" <rain>
Number FicusLight "Helligkeit [%d Lux]" <sun> {channel="mqtt:topic:embedded-mqtt-broker:Ficus:light"}
Number FicusTemperature "Temperatur [%.1f °C]" <temperature> {channel="mqtt:topic:embedded-mqtt-broker:Ficus:temperature"}
Number FicusConductivity "Nährstoffe [%d µS/cm]" <status> {channel="mqtt:topic:embedded-mqtt-broker:Ficus:conductivity"}
Number FicusMoisture "Bodenfeuchte [%d %%]" <rain> (Pflanzen_Bodenfeuchte) {channel="mqtt:topic:embedded-mqtt-broker:Ficus:moisture"}
Number FicusBattery "Batterie [%d %%]" <batterylevel> {channel="mqtt:topic:embedded-mqtt-broker:Ficus:battery"}
val telegramAction = getActions("telegram","telegram:telegramBot:bot")
rule "pflanzen bodenfeuchte"
when
//Time cron "*/10 * * * * ?" or //Jede 10sec
Time cron " 0 35 12 1/1 * ? *" or
Time cron "0 35 14 1/1 * ? *" or // jeden Tag, um 14:35Uhr
Time cron "0 35 18 1/1 * ? *"
then
val bodenfeuchte = FicusMoisture.state.toString
if (FicusMoisture.state < 19){
telegramAction.sendTelegram("SmartHome", " Die Birkenfeige im Wohnzimmer hat Durst. Die Bodenfeuchtigkeit beträgt nur noch " + bodenfeuchte + "%%")
}
end
// Batterie Schwach rule
rule "Battery heal"
when
//Time cron "*/10 * * * * ?" or //Jede 10sec
Time cron "0 0 12 1/1 * ? *" // jeden Tag, um 12:00Uhr
then
val batterie = FicusBattery.state.toString
if (FicusBattery.state < 10){
telegramAction.sendTelegram("SmartHome", " Die Batterie des Pflanzensensors(Birgenfeige) im Wohnzimmer, ist schwach. Und Beträgt nur noch " + batterie + "%%")
}
end
//Test script
// rule "sende eine Nachricht alle 10 sec"
// when
// Time cron "*/10 * * * * ?"
// then
// telegramAction.sendTelegram("SmartHome", "Test - Erster Bot!")
// end
Alles anzeigen
und den Nervigen [definition='1','0']log[/definition]
[WARN ] [moquette.spi.impl.SessionsRepository] - Session does not exist.
auszublenden
bearbeiten wir diese Datei..
\userdata\etc\org.ops4j.pax.logging.cfg
da rein kommen diese zwei Zeilen rein.