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

  • Dann kannst Du das Plugin vergessen. Ich kann es Dir nicht erklären, aber aus irgendeinem Grund läuft das nur mit Node bis 9.x

    Bei mir hat es dann doch noch funktioniert. Seit gestern Abend läuft es unter Node 13.5.0 über mehrere Stunden konstant.


    Aktuell habe ich den Sensor draußen im Gewächshaus, leider ist die Entfernung zum Raspi zu weit, so dass ich seit dem keine Werte mehr bekomme. Da muss ich mir was einfallen lassen. Habt ihr eine Idee?

  • Du hast aber nicht das Xiaomi Plant PlugIn am laufen, sondern das "homebridge-mi-hygrothermograph

    " korrekt?


    Das läuft meines Wissens nicht mit den Xiaomi Plant Sensoren ( die wie Lutscher aussehen).


    Wegen dem Reichweitenproblem, würde ich mir überlegen einen 2. Pi zu gönnen. Diesen dann im Gewächshaus zu plazieren. WLAN (Pi) wird erheblich weiter reichen als das magere Bluetooth Protokoll. Dann kann Du den 2. Pi als "Extender" verwenden bzw. hast darauf soger eine separate Homebridge laufen. Sollte dann mal ein Problem mit dem PlugIn auftreten, bleibt die "Haupt" Homebridge lauffähig.


    Das wäre bei dem Xiaomi Plant Plugin wichtig.


    Gruß

  • Sehr guter Vorschlag, werde ich mich mal damit beschäftigen, wie das umzusetzen geht.


    Nein, Du hast Recht, ich hab das: "homebridge-mi-hygrothermograph" laufen!


    Aktuell bekomme ich gelegentlich folgende Fehlermeldung. Was hat es damit auf sich und wie kann ich diesen Fehler beheben?


    [homebridge] Failed to check registry.npmjs.org for updates: timeout of 5000ms exceeded


    Grüße

  • [homebridge] Failed to check registry.npmjs.org for updates: timeout of 5000ms exceeded


    Was hat es damit auf sich und wie kann ich diesen Fehler beheben?

    Gelegentlich ist es hilfreich, die Fehlermeldung zu übersetzen:


    [homebridge] Überprüfung von registry.npmjs.org auf Updates fehlgeschlagen: Timeout von 5000ms überschritten


    Da steht, das bei der Kontaktaufnahme des Servers registry.npmjs.org ein Timeout auftrat: der Server hat länger als 5 Sekunden nicht geantwortet. Du könntest jetzt folgendes machen:

    • checken, ob man registry.npmjs.org im Browser aufrufen kann und ob da eine Antwort innerhalb von 5 Sekunden kommt.
    • checken, ob dein Netzwerk zu Hause an allen Switches, Routern und Geräten korrekt konfiguriert ist.
    • checken, ob die Hardware des WLAN-Moduls deines Raspi komplett in Ordnung ist. Dazu lötest du es einfach aus dem Raspi aus und checkst mit geeigneten Messinstrumenten seine Funktion nach. Alternativ mehrere Raspis aufbauen und die Logs vergleichen.
    • checken, ob die Hardware deines Routers komplett in Ordnung ist. Auch hier löten und messen. Alternativ einen zweiten oder dritten Router verwenden und die Ergebnisse vergleichen.
    • deinen Provider anrufen und fragen, ob alles bei ihm in Ordnung ist und ob er vielleicht mal einen zum Löten und Messen schicken kann. Alternativ auffordern, seine gesamte Hardware auszuwechseln.
    • den Provider deines Providers anrufen und die gleiche Frage stellen. Alternative nicht vergessen.
    • traceroute registry.npmjs.org aufrufen und auf Basis des Resultats alle anderen Besitzer der Router anrufen, noch mal die gleiche Frage stellen und die Alternative vorstellen.
    • den Administrator von registry.npmjs.org anrufen und fragen, ob du helfen kannst, seinen Server schneller zu machen. Auf Lötkolben, Messinstrument und Alternativen verweisen. Versuchen, den Entwickler von registry.npmjs.org ans Telefon zu bekommen und mit ihm die Vorzüge alternativer Programmierung und Vor- und Nachteile verschiedener Programmiersprachen diskutieren.

    Das alles kannst du machen. Oder du machst das gleiche wie ich: es einfach ignorieren, solange es nur gelegentlich auftritt.

  • Hallo zusammen,


    jetzt musste ich mich doch mal anmelden, da ich mit Google + Halbwissen nicht mehr weiter komme...

    Ich hatte eigentlich vor die Flower Care Sensoren via Homebride 1.0.4 in Homekit anzubinden aber ich scheitere an der "Error: Cannot find module 'bluetooth-hci-socket'" Fehlermeldung.

    Aktuell läuft mein Rasp4 mit

    Node.js Version v13.5.0

    Npm Version v6.13.4


    Ich habe es mit einer 8ter Version probiert, dann läuft Homebridge nicht mehr, ich habe es mit der neusten probiert (Feb?) und jetzt mit der empfohlenen 13.5.0.. alles leider ohne Erfolg.

    Hat jemand noch eine Idee was ich machen kann?


    PS:

    Guide bin ich in erster Linie dem hier gefolgt:

    https://tiemerding.com/pflanzensensor-fuer-homekit/

    Ausser das Plugin, dass habe ich über die HB UI Installiert...

  • Das Plugin laeuft nur bis maximal Node 9.x.


    Heißt runter mit node auf eine unterstuetze Version und ggf eine zweite homebridge/pi damit laufen lassen. Wenn nur dieses eine Plugin installiert werden soll, dann alte node und alte homebridge Version installieren.

  • Ich habe es mit einer 8ter Version probiert, dann läuft Homebridge nicht mehr, ich habe es mit der neusten probiert (Feb?) und jetzt mit der empfohlenen 13.5.0.. alles leider ohne Erfolg.

    Ich kann dir selbst unter 9.x as Plugin nicht empfehlen. Selbst wenn es mal stabil läuft tut es das nur ein paar Stunden. Spätestens und meist früher als am nächsten Morgen hört irgendwie die abfrage der Sensoren auf. Du musst dann einen Bluetooth Adapter reset machen oder einen Reboot. Nicht mal das Neustarten der HB alleine hat geholfen.


    Ich habe hier hier die Idee von sschuste mit dem MQTT aufegegrifen und "nur" die Feuchtigkeit ins Homkit übernommen - also Sensor. "Low Water muss ich nun händisch abfragen und mit EVE geht das, wenn ich etwas aufwendiger.


    Ich habe bald 20 von den Dingern in meinem HomeKit. Da verliert man schnell den Überblick.


    Also habe ih (auch wieder wie sschuste) mit einer Kombi aus Grafaba, ein Influx Datenbank und einer Node-Red Anbindung so gelöst (siehe Bild)


    Die abfrage des Dünger und Wasser sind mir wichtig, der rest ist Spielerei. In Node-Red automatisiert kommt Ann über Alexa an meine Gerte einmal Sonntags die Abfrage ob ich gießen muss oder nicht. oder wenn eine der Pfannen vorher dran ist dann eben so.


    Bisschen verrückt ist das schon, aber ich hab gerade mehr Zeit als mir lieb ist :)


    Das wichtigste: Es läuft stabil und ich resette einmal pro nacht nur den Bluetoothadapter - keine Ausfälle zwei Wochen lang.


    auch in EVE schöne Kurven.



    Mir wäre aber auch schon lieber gewesen das Plugin liefe besser unter aktuellen Nodes. Das liegt aber mehr an dem Noble im Backround. Nicht am Plugin selbst - glaube ich mal.

    Bilder

    //.ichael

    -----------------------------------


  • ich hatte unter Node 9.x monatelang nicht einen Ausfall vom Bluetoothadapter als ich meine Sensoren noch benutz hab?!


    War/ist das ein gaengiges Problem? Oder hatte ich einfach nur Glueck?

  • War/ist das ein gaengiges Problem? Oder hatte ich einfach nur Glueck?

    Vielleicht letzteres?


    Ich hatte erst den PI Bluetooth onboard in verdacht - also einen Stick geholt, nein eher drei wenn ich mich richtig erinnere. dann Firmware Update Pi. hat alles nix gebracht.

    Vielleicht auch die Anzahl. Wie gesagt: Ich habe 14 Sensoren, die anfangs gingen und dann nach einer Weile nicht mehr aktualisiert wurden - meist x stunden.


    wobei ich kein Freund von "Glück" im Bereich der EDV bin.

    //.ichael

    -----------------------------------


  • sschuste @donni super geil! Danke! Der Tipp mit der 10.16.3 hat funktioniert! MQT würde ich mir gerne noch angucken aber ich fürchte dazu reicht mein COpy + Paste Skill nicht ;D

  • aber ich fürchte dazu reicht mein COpy + Paste Skill nicht ;D

    :D leider nein - das ist schon etwas anspruchsvoller. Wobei sschuste hier Zweite Homebridge als Bluetooth Brücke schon mal grob gesagt hat was man machen muss um die Sensoren in die Hb u bekommen.


    der ganze Grafische Kram mit Node-Red, Grafana ist erst mal nice to have. Aber kein must you do

    //.ichael

    -----------------------------------


  • Der Tipp mit der 10.16.3 hat funktioniert! MQT würde ich mir gerne noch angucken aber ich fürchte dazu reicht mein COpy + Paste Skill nicht ;D

    Was donni1966 da gebaut hat, geht weit über das hinaus, was ich mir hier zusammengestoppelt habe. Vor allem staune ich über seine geile Auswertung - ich bekomme meine Graphen und Anzeigen nicht so schön hin.


    Donni hat schon auf meinen Beitrag hingewiesen, in dem ich grob erkläre, wie das funktioniert. Aber tatsächlich besteht Donnis Lösung (so wie meine) aus zwei Teilen: einem einfachen und einem schwierigen.


    Der einfache Teil ist das Auslesen der Pflanzensensoren mittels eines Python-Scripts und der MQTT-Server. Letzterer muss nämlich gar nicht konfiguriert werden, es sei denn, man will den Datentransport zum und vom MQTT-Server verschlüsseln oder mit einem Passwort versehen. Aber zunächst funktioniert der MQTT-Server out-of-the-box: 1. Schritt Server-Installation, 2. Schritt Server-Start, 3. Schritt: es gibt keinen dritten Schritt.


    Trotzdem sollte man sich ein, zwei YouTube-Videos anschauen, was so ein MQTT-Server macht und zumindest wissen, was es mit einem Topic auf sich hat. Das ist auch sehr einfach, aber um Fachbegriffe kommt man nun man nicht herum.


    Der schwierige Teil ist der mit der Speicherung der Pflanzen-Historie. Dazu muss man eine influxdb installieren und verstehen, wie die funktioniert. Da ist es äußerst hilfreich, wenn man Erfahrungen mit Datenbanken ganz allgemein hat. Hat man die nicht, ist es aufwändig, sich in das Thema einzulesen. Gleichzeitig muss man dazu programmieren. Node Red macht diese Aufgabe zwar sehr einfach, aber programmieren ist programmieren und bleibt programmieren, selbst wenn es meist nur fünf simple Zeilen sind. Da ich in diesen Dingen nicht besonders gut bin, artet das bei mir in üble Frickelarbeiten aus und ich scheitere dann häufig an den einfachsten Aufgaben und irgendwelche Fragen dazu kann ich schon gar nicht beantworten.


    Ganz klar ein Fall für Fortgeschrittene und nichts, was man hier im Detail erklären könnte. Das geht von generellen Funktionalitäten weg zu sehr spezialisierten, weil ab dann jeder sein ganz eigenes Brötchen backt. Ab dieser Stelle werden immer mehr Dinge möglich. Man könnte sogar sagen: ab dann ist alles möglich, aber leider ist es unmöglich, alles zu erklären. Man kann das Konzept "Paradies" nur denen nahebringen, die schon wissen, was Adam, Eva, Gott und die Schlange für Konstrukte sind.


    Stefan

  • Guten Morgen,


    kurze Info. Ich habe mich lange mit den Xiaomi Plant Sensoren rumgeschlagen. Trotz toller Hilfe lief es bis zuletzt nie ganz sauber mit dem alten Plug-in. Ich hatte häufig das Problem das die Homebridge abgestürzt ist und die Wechsellei mit den node fand ich unschön.


    Eine für mich sehr einfach Lösung ist nun das Mi Flora filtered plug-in. Ich hatte Kontakt zu dem Programmierer und es läuft tatsächlich unter der node LTS Version (12.16.2) problemlos.


    Dank der Hilfe hier im Forum habe ich es inzwischen auch geschafft eine 2. Instanz für den Xiaomi Kram ans laufen zu bekommen. Die Instanz / Homebridge stürzt mit dem oben genannten Plug-in und der node LTS bei mir nicht mehr ab. Auch das "sammeln" der Daten funktioniert im 10 Minuten Abstand (habe 600 sec. eingestellt) sehr gut.


    Das nur zur Info. Was mich sehr freut ist, das das plugin entgegen dem NPM auch mit der node LTS läuft!


    Gruß

  • Das nur zur Info. Was mich sehr freut ist, das das plugin entgegen dem NPM auch mit der node LTS läuft!

    Endlich. Plugins, die Bluetooth unterstützen, brauchen alle das noble-Paket. Das hat mal irgendwer programmiert und es funktioniert großartig bis Node v8 oder v9. Mit Node-Versionen > 10 läuft es nicht mehr. Da es den gesamten Unterbau für alle Bluetooth-Operationen per Node bildet und da es keiner mehr weiterentwickelt hat und sich auch niemand für das noble-Paket verantwortlich fühlte, ist auch keine Bluetooth-Zeugs mehr gelaufen, wenn man eine Node-Version > 10 einsetzte.


    Dann kam einer daher und hat das noble-Paket gefixt, aber nicht etwa das originale, sondern er hat dafür einen neuen Ast am großen GitHub-Baum eingerichtet. Wahrscheinlich hat das daran gelegen, dass der ursprüngliche noble-Programmierer nicht mehr erreichbar war - nur der hätte die notwenigen Änderungen an seinem noble machen können. So gibt es also diesen sogenannten Fork, aber was hilft das, wenn den niemand benutzt?


    Das Plugin, dass du erwähnst, verwendet ihn. Geil. Und daher läuft es auch mit Node-Versionen > 10. Der Entwickler dieses Plugins schreibt es selbst: This plugin is using node-mi-flora / @abandonware/noble in the background with the same package dependencies. @abandonware/noble is a version of noble that has support for Node 10+.


    Wäre schön, wenn das "neue noble" auch andere Bluetooth-Plugin-Entwickler verwenden würden.

  • Hi Abit,


    Danke Dir für die Info! Würde mich freuen, wenn Du ein paar Details dokumentieren könntest, wie ich das "nachbauen" kann. Die Interims-Lösung von sschuste funktioniert top aber halt leider nur mit node 10.16.3 :( d.h. eigentlich nur eine Frage von Wochen bis meine HB Version nicht mehr upgradebar ist.

  • Die Interims-Lösung von sschuste funktioniert top aber halt leider nur mit node 10.16.3 :( d.h. eigentlich nur eine Frage von Wochen bis meine HB Version nicht mehr upgradebar ist.

    Tatsächlich? Woher hast du das?

  • ....


    Danke Dir für die Info! Würde mich freuen, wenn Du ein paar Details dokumentieren könntest, wie ich das "nachbauen" kann.

    Klar gerne, aber ehrlich gesagt kann ich nicht wirklich viel mehr sagen als ich geschrieben habe.


    Ich habe das Xiaomi Plant Sensor plig-in über die Homebridge installiert. Danach gemäß der NPM die Konfiguration über die Homebridge angepasst.


    Code
    {
      "accessory": "mi-flower-care",
      "name": "Golden cane palm",
      "deviceId": "AA:BB:CC:DD:EE:FF",
      "interval": 300
    }


    Als "name" Natürlich meine Bezeichnung z.B Fächerahorn. Die deviceID habe ich vorher mit Hilfe von Putty und dem Befehl "sudo hcitool lescan" ausgelesen.


    Es werden alle erreichbaren Bluetooth Geräte angezeigt. Die Xiaomi Plant Sensoren kann man anhand Ihres Names erkenne. Die ID habe ich dann für die spätere Verwendung in eine separate Notiz abgelegt. Die ausgelesene ID entsprechend einsetzen. Intervall habe ich auf 600 gesetzt, für den Anfang würde ich es auf 300 stehen lassen, sonst wartest Du zu lange für die ersten Daten. So dauert es nur 5 Minuten.


    Danach reboot und seit dem läuft die Sache ohne Absturz oder Aussetzer. Ich habe die Sensoren aus Vorsicht in eine 2. Homebridge Session gesetzt. Da kann ich aber noch weniger erklären, da ich die nur mit der Hilfe hier aus dem Forum an laufen bekommen habe.


    Fang mal an und sag Bescheid was nicht klappt oder Du festhängst. Dann kann man Dir konkret helfen. Weniger ich (gerne wenn ich kann) als die Spezialisten hier.


    Gruß