Du könntest einfach mal auf Github oder npmjs nach Plugins suchen, vielleicht ist dort etwas dabei.
Beiträge von honkmaster
-
-
Ich habe mir ebenfalls einen Sensor gebastelt. Mir gefiel die Rohrlösung ebenfalls nicht, daher habe ich einen handelsüblichen, wetterfeste Verteilerkasten (OBO Bettermann T60) gewählt und mit einem 3D-gedruckten Rahmen von Thingiverse. Als Plugin für HomeKit nutze ich ebenfalls homebridge-airrohr von Toto.


-
Freut mich sehr das es doch funktioniert. Ja, Bluetooth is ein wenig empfindlich, zusätzlich haben diese Geräte wohl nicht die allerhöchste Sendeleistung. Anstelle eines Range-Extenders könntest du auch eine Pi Zero W nehmen mit zusätzlicher Homebridge-Instanz.
-
Es ist auch relativ schwer die MAC-Adresse zu validieren, daher nimmt das Plugin jede Adresse an.
Ich habe meine MAC-Adresses auch über das hcitool gesucht.
Dort tauchen alle Flower Cares / Floras mit Namen auf, die (unknown) würde ich getrost ignorieren. Reichweite?
-
Es gibt zwei Möglichkeiten.
- Firmware des Sensors überprüfen. Xiaomi hat mit der 3.0 oder so den Namen von Mi Flora auf Flower Care geändert. Das Plugin sucht nur nach Flower Care Geräten.
- Interval testweise reduzieren, ich habe hier 60.
Danke für deine Hilfe.
Habe mal in meine Logs geschaut. Ich habe hier Updates mit einem Abstand von bis zu 30 Minuten. Es kann also gerne mal "einiges" an Zeit vergehen.
-
Das liegt an Bluetooth LE. Nodle wartet auf einen Broadcast vom Sensor. Dieser kommt sobald sich etwas ändert, dauert im Schnitt meist ca. 2-10 Minuten.
-
Habe nun auch mal von npm installiert.
Code
Alles anzeigenroot@foo:/home/pi# npm install -g --unsafe-perm homebridge-mi-flower-care > [email protected] install /usr/lib/node_modules/homebridge-mi-flower-care/node_modules/usb > node-pre-gyp install --fallback-to-build node-pre-gyp ERR! Tried to download(404): https://github.com/tessel/node-usb/releases/download/1.3.1/usb_bindings-v1.3.1-node-v59-linux-arm.tar.gz node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v59 ABI, glibc) (falling back to source compile with node-gyp) make: Entering directory '/usr/lib/node_modules/homebridge-mi-flower-care/node_modules/usb/build' CC(target) Release/obj.target/libusb/libusb/libusb/core.o CC(target) Release/obj.target/libusb/libusb/libusb/descriptor.o CC(target) Release/obj.target/libusb/libusb/libusb/hotplug.o CC(target) Release/obj.target/libusb/libusb/libusb/io.o CC(target) Release/obj.target/libusb/libusb/libusb/strerror.o CC(target) Release/obj.target/libusb/libusb/libusb/sync.o CC(target) Release/obj.target/libusb/libusb/libusb/os/poll_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/threads_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_usbfs.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_udev.o AR(target) Release/obj.target/usb.a COPY Release/usb.a CXX(target) Release/obj.target/usb_bindings/src/node_usb.o ../src/node_usb.cc: In function 'void handleHotplug(std::pair<libusb_device*, libusb_hotplug_event>)': ../src/node_usb.cc:150:58: warning: 'v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)' is deprecated (declared at ../../nan/nan.h:971) [-Wdeprecated-declarations] Nan::MakeCallback(Nan::New(hotplugThis), "emit", 2, argv); ^ CXX(target) Release/obj.target/usb_bindings/src/device.o ../src/device.cc: In static member function 'static void Req::default_after(uv_work_t*)': ../src/device.cc:237:64: warning: 'v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)' is deprecated (declared at ../../nan/nan.h:929) [-Wdeprecated-declarations] Nan::MakeCallback(device, Nan::New(baton->callback), 1, argv); ^ CXX(target) Release/obj.target/usb_bindings/src/transfer.o ../src/transfer.cc: In function 'void handleCompletion(Transfer*)': ../src/transfer.cc:126:72: warning: 'v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)' is deprecated (declared at ../../nan/nan.h:929) [-Wdeprecated-declarations] Nan::MakeCallback(self->handle(), Nan::New(self->v8callback), 3, argv); ^ SOLINK_MODULE(target) Release/obj.target/usb_bindings.node COPY Release/usb_bindings.node COPY /usr/lib/node_modules/homebridge-mi-flower-care/node_modules/usb/src/binding/usb_bindings.node TOUCH Release/obj.target/action_after_build.stamp make: Leaving directory '/usr/lib/node_modules/homebridge-mi-flower-care/node_modules/usb/build' > [email protected] install /usr/lib/node_modules/homebridge-mi-flower-care/node_modules/bluetooth-hci-socket > node-gyp rebuild make: Entering directory '/usr/lib/node_modules/homebridge-mi-flower-care/node_modules/bluetooth-hci-socket/build' CXX(target) Release/obj.target/binding/src/BluetoothHciSocket.o ../src/BluetoothHciSocket.cpp: In member function 'void BluetoothHciSocket::poll()': ../src/BluetoothHciSocket.cpp:251:95: warning: 'v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)' is deprecated (declared at ../../nan/nan.h:950) [-Wdeprecated-declarations] Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^ ../src/BluetoothHciSocket.cpp: In member function 'void BluetoothHciSocket::emitErrnoError()': ../src/BluetoothHciSocket.cpp:275:72: warning: 'v8::Local<v8::Object> v8::Function::NewInstance(int, v8::Local<v8::Value>*) const' is deprecated (declared at /root/.node-gyp/9.8.0/include/node/v8.h:3893): Use maybe version [-Wdeprecated-declarations] Local<Value> error = errorConstructor->NewInstance(1, constructorArgs); ^ ../src/BluetoothHciSocket.cpp:282:93: warning: 'v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)' is deprecated (declared at ../../nan/nan.h:950) [-Wdeprecated-declarations] Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv); ^ SOLINK_MODULE(target) Release/obj.target/binding.node COPY Release/binding.node make: Leaving directory '/usr/lib/node_modules/homebridge-mi-flower-care/node_modules/bluetooth-hci-socket/build' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/homebridge-mi-flower-care/node_modules/xpc-connection): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) + [email protected] added 153 packages in 76.958sKlappt soweit, auch das Laden von Homebridge.
Code[2018-3-16 17:23:56] Loaded plugin: homebridge-mi-flower-care [2018-3-16 17:23:57] Registering accessory 'homebridge-mi-flower-care.mi-flower-care'Nun beginnt die Suche nach der Nadel im Hauhaufen.
-
Aus den Installationsanleitung von `nodle`.
ZitatMake sure
nodeis on your path, if it's not, some options:- symlink
nodejstonode:sudo ln -s /usr/bin/nodejs /usr/bin/node
Könntest du mal schauen ob du in der bash `nodejs` aufrufen kannst, ansonsten obigen Befehl nutzen und dann nochmal probieren. Danke.
P.S. Ich bin neu bei node.js, diese ganzen Abhängigkeiten ...
- symlink
-
Version 1.0.6 enthält eine Beschreibung der benötigten Pakete und kleinere Fehlerbehebungen.
Ja, die History war mir relativ wichtig, da ich den Flower Care zeitgleich als Raumthermometer nutze.
-
Korrekt, ich habe das Plugin geforkt, erweitert und bei npm eingereicht.
Das Plugin nutzt node-mi-flora, dieses wiederrum noble. Noble benötigt ein paar Bibliotheken.
Ich werde das in die Readme.md einfügen. In meiner Distro, waren diese aber schon installiert.
-
Moin moin,
ich wollte gerne den Xiaomi Mi Flora / Flower Care vorstellen. Dieser smarter Pflanzensensor misst Temperatur, Bodenfeuchte, Bodenfruchtbarkeit und Licht. Da mir der grüne Daumen fehlt, habe ich mehrere Sensoren bei AliExpress für ca. 10-12€ / Stück bestellt. Mit einem einem von mir angepassten Plugin (homebridge-mi-flower-care) ist der Sensor inkl. Historie für Temperatur und Bodenfeuchte nun in HomeKit integriert. Ein Kontaktsensor wird geschlossen, sobald die Bodenfeuchte unter ein bestimmtes Level fällt (Alarmfunktion).
Ich bin bisher sehr zufrieden und hoffe das meine Pflanzen in Zukunft länger "überleben"
.
