Xiaomi Mi Flora / Flower Care - Smarter Pflanzensensor homebridge-mi-flower-care

  • Hat jemand einen Tip wie ich das Problem lösen kann das die Sensoren ohne Daten in der Homeapp zu sehen sind. An der Bluetooth reichweite liegt es nicht.

    Gibt es irgendwelche Befehle die ich in der Konsole eingeben kann um zu analysieren woran ess liegt?


    Danke

  • Bei mir hat es einige Zeit gedauert, bis ich die Werte hatte.

  • Funktioniert das Plugin bei euch auf Dauer? Bei mir verliert das Plugin über 3-4 Tage einen nach dem anderen Sensor, und dann muss ich den Raspi booten...
    Und vor ein paar Tagen habe ich zusätzlich die Fehlermeldung

    Code
    "(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit."

    erhalten, die ich nur mehr durch ein erhöhen der Listener Anzahl wegbekommen habe...

  • So. Ich melde mich mal wieder.


    1. Ob China oder EU-Adapter ist eigentlich egal. Das spielt nur eine Rolle wenn man die offizielle App benutzt. Das Plugin redet direkt mit den Teilen. Einfach per Bluetooth suchen und los geht's (theoretisch).

    2. Der Empfang von Bluetooth und die Reichweite hängt von extrem vielen Faktoren ab. Mikrowellen, LCDs, "billige" Netzteile, alle können die Reichweite stören. Zusätzlich die Bausubstanz... am Ende hilft nur Testen.

    3. Wichtig ist das der Sensor zuverlässig via hcitool gefunden wird. Dann sollten irgendwann auch Daten auftauchen. Wie Bluetooth LE das hier genau macht hab ich immer noch nicht ganz verstanden, d.h. was die Zeit beeinflusst.

    4. tnemec Den "Fehler" hatte jemand anderes schon mal, damals hatte ich keine Lösung. Scheint etwas node spezifisches zu sein (bin nicht so tief drin in der Thematik). Wie hast du die Anzahl der Listender erhöht?

    5. tnemec Woher die Daten bei einem neuen Sensor und er hIstory kommen muss ich mal schauen. Habe eine Idee.

    6. Matthias_bn Aliexpress ist die beste Quelle, ca. 10-12 je Stück inkl. Versand.

    7. Matthias_bn Spenden möchte ich nicht.

  • honkmaster 4. habe dazu in anderem Zusammenhang folgende Codezeile gefunden:


    require('events').EventEmitter.defaultMaxListeners = 100;


    Hilft aber auch nur eine Zeitlang. Es dürfte da irgendein Leak geben...


    Fakt ist: ich kann richtig beobachten, wie einer meiner 11 Sensoren nach dem anderen über ein paar Tage hinweg nicht mehr im Log aufscheint. Nach einem Reboot des Raspi ist alles wieder gut - bin kurz davor den Raspi automatisch jede Nacht booten zu lassen...

  • Ich habe eine neue Version des Plugins erstellt, welches die Werte im Hintergrund aktualisieren soll (und nicht nur beim Öffnen der Home-App). Die Entwicklung ist noch Beta und kann via

    Code
    (sudo) npm install -g --unsafe-perm honkmaster/homebridge-mi-flower-care#async

    ausprobiert werden. Danke.

  • Bei mir ist außerdem gestern die erste Batterie leer gewesen (nach ca. 6 Monaten). Laut Xiaomi sollen sie ein Jahr halten. Wie schaut es so bei euch aus? Der Stromverbrauch scheint auch sehr unterschiedlich zu sein. Sensor 1 braucht ca. 20% pro Monat, ein anderer nur 7%. Wobei... kann auch an der mitgelieferten Batterie liegen.

  • Nachdem ich mich doch für einigermaßen fit in der Konfiguration von homebridge plugins gehalten habe verwirrt mich die Konfiguration dieses plugins.


    Normalerweise startet sich meine homebridge durch einen reboot selbst bzw. lässt sich über sudo service homebridge start

    bzw. sudo service homebridge stop starten oder stoppen.

    Meine config.json habe ich bisher über

    sudo nano ~/.homebridge/config.json geändert.


    Innerhalb der config.json sind die beiden Flower Sensoren angelegt und werden von Eve auch gefunden; bekommen aber keine Daten geliefert.


    Beende ich diese Instanz und starte die homebridge über sudo homebridge manuell liefern die Sensoren im Journal Daten.

    Was mich zudem wundert warum gibt es zwei config.json. Die oben erwähnte und eine unter sudo nano /root/.homebridge/config.json.


    Auf mich macht es irgendwie den Eindruck, dass das manuelle starten der homebridge auf die config.json im root zugreift, während der automatische Start auf die erstgenannte config.json zugreift.

    Was muss ich machen damit die root variante automatisch gestartet wird?

    Einmal editiert, zuletzt von blackbat88 () aus folgendem Grund: EDIT: Ich habe die Homebridge komplett neu aufgesetzt und nun funktioniert alles :-)

  • Hallo zusammen,
    ich bin durch Zufall auf Homebridge und das Flower-Care-Plugin gestoßen.
    Aktuell habe ich bereits 6 dieser Sensoren über die original iOS Flower-Care-App von HHCC im Einsatz.

    Demnächst sollen nochmal 2 Sensoren dazukommen.

    Homebridge ist für mich aber absolutes Neuland.

    Auf meinem Raspberry PI Zero W habe ich gestern bereits Homebridge installiert.
    Dazu habe ich die Anleitung von hier verwenden.
    Ich musste jedoch nodejs von https://nodejs.org/dist/v9.7.1…9.7.1-linux-armv6l.tar.gz installieren.
    Die in der Anleitung angegeben Version lies sich wegen Speicherzugriffsfehlern nicht installieren.

    Soweit läuft inzwischen alles, nachdem ich Homebridge nun mehrmals frisch installiert und konfiguiert habe.

    Allerdings bekomme ich keine Werte von den Flower Care-Sensoren.


    Hab schon mehrere Stunden gewartet.
    Aber die Werte sind immer 0.
    Hat mir da viell. jemand einen Tip?

    ^^ Problem gelöst, musste Homebridge noch mit sudo starten und die config noch auf root kopieren.

    Gruß

    matthias

  • Moin, also hat das System aufsetzen was gebracht? Wie hast du es gemacht, wieder mit der App oder so wie ich es dir Empfehlen habe?


    Um die Sensoren einzublenden must du die Zeile mit einem true beenden.


    "humidityLevel": true,

    "humidityAlertLevel": true,


    Sollwerte für Feuchtigkeit und Helligkeit sind da und es werden Sensoren ausgelöst sobald diese unterschritten werden. (humidityAlertLevel, lowLightAlertLevel)



    Aktuell sieht meine config fuer die flowercare ganz unspektakulaer aus:



    Auf Github steht bezueglich der beiden AlertLevel:


    Typical values for humidityAlertLevelare 30 (%) and 2000 (Lux) for lowLightAlertLevel.

    Muss ich jetzt fuer die beiden Sensoren "true" angeben, oder kann ich da einen direkten Wert jeweils eintragen und falls ja, dann nur die Zahl, oder?


    Vielen Dank im voraus :)

  • Hey,


    manchmal hilft es auch, wenn man den kompletten Verlauf liest.


    Wobei "humidityLevel": true, nicht mehr benötigt wird.


    In deinem Fall also


    {

    "accessory": "mi-flower-care",

    "name": "Orchidee",

    "deviceId": "C4:7C:8D:67:3D:XX",

    "interval": 60,

    "humidityAlertLevel": 20

    }

  • Hey allerseits,


    hat jemand von euch womöglich das Plugin homebridge-mi-hygrothermograph zum Laufen bekommen?

    Als Homebridge-Jünger, der von der App zur manuell gesteuerten Homebridge gewechselt ist, versuche ich bisher vergeblich meinen Xiaomi Mijia Bluetooth Hygrothermograph einzubinden. In der App hat es nach einem Node-Downgrade irgendwie geklappt. Dasselbe habe ich nun auch jetzt versucht (Node 8.11.4), da laut Beschreibung das Plugin nur bis Node 10 funktioniert.

    Das Plugin wird geladen, die Werte werden allerdings in der Home-App mit einem "!" und der Meldung "Keine Antwort" in rot ausgegeben, sowohl für die Temperatur als auch die Luftfeuchtigkeit.

    Beim Starten der Homebridge wird zusätzlich folgendes angezeigt:


    Code
    Jan 28 01:29:38 raspberrypi homebridge[2812]: [2019-1-28 01:29:38] [Sonoff] Login signature: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Jan 28 01:29:38 raspberrypi homebridge[2812]: noble warning: adapter state unauthorized, please run as root or with sudo
    Jan 28 01:29:38 raspberrypi homebridge[2812]:                or see README for information on running without root/sudo:
    Jan 28 01:29:38 raspberrypi homebridge[2812]:                https://github.com/sandeepmistry/noble#running-on-linux
    Jan 28 01:29:38 raspberrypi homebridge[2812]: [2019-1-28 01:29:38] [Temperature & Humidity] Stop scanning. (unauthorized)


    Die Zeilen über der Ausgabe [Temperature & Humidity] Stop scanning. (unauthorized) habe ich zur Sicherheit mal mit eingefügt, wobei diese sich auf das Sonoff-Plugin (welches funktioniert) beziehen, wenn ich mich nicht irre?


    Vielen Dank für Hilfestellungen im Voraus! :)

  • Das Problem liegt bei noble, und das sagt mir, dass du per Bluetooth arbeitest, nicht wahr? Wenn du deine Homebridge nach der Anleitung des Forums aufgesetzt hast, versuche folgendes:


    sudo nano /etc/systemd/system/homebridge.service


    Ersetze die Zeile User=homebridge durch User=root.


    Abspeichern und dann:

    sudo systemctl daemon-reload

    sudo systemctl restart homebridge; sudo journalctl -fau homebridge


    Danach läuft die Homebridge mit root-Rechten und das löst vielleicht dein Problem.


    Stefan

  • Richtig, ich habe deine Anleitung benutzt, um meine Homebridge aufzusetzen und genau das hat mein Problem behoben, vielen Dank!

    Der Bluetoothdienst wurde dann wohl durch die fehlenden Rechte nicht richtig gestartet.


    Jetzt noch eine kurze Verständnisfrage hinterher: Würde, so wie du, nur ungern meine Homebridge mit root-Rechten laufen lassen. Aber eine alternative Möglichkeit, um mein Bluetooth-Problem in den Griff zu bekommen gibt es nicht, oder?

  • Doch, die Möglichkeit gibt es. Prinzipiell müsste man nur die Befehle, die der User homebridge mit root-Rechten ausführen darf, in /etc/sudoers.d/homebridge anfügen. Ich weiß nur nicht, welche Befehle das sind, da ich nichts mit Bluetooth mache.


    Stefan