NEWS
UNSOLVED Script Xiaomi Battery leer ?
-
Nutzt ihr alle das Xiaomi Gateway?
-
@tscheerio Ich verwende einen geflashten CC2531 Stick und den Zigbee Adapter.
-
@MyzerAT
Funktionieren tut das schon, aber du musst jetzt jedes mal alle Batteriestände durchsuchen, um die leere Batterie zu finden. Ich habe auch eine Abfrage aber für jede einzelne Batterie, dann weiß ich sofort, welche gemeint ist.
Das ist halt eine Einstellungssache: wenig programmieren und hinterher viel Arbeit oder etwas mehr Programmieraufwand und dafür hinterher eine schnelle Antwort. -
Hi, hier mal mein Ansatz. Ich prüfe alle 2 Stunden den Batteriestand über einen Cronjob. Den Abstand kann man natürlich noch vergrößern. Hat den Vorteil das man das Script relativ schnell um neue Geräte erweitern kann.
-
Währe ein Trigger nicht praktischer?
Löse aus wenn geändert, If Abfrage ob wert < x?
Dan braucht man auch nur die Sensoren im Trigger zu setzen und nimmt den object Namen und bekommt eine Nachricht Gerät xxx Batterie Lehr.
Damit würde das Script nur 3 Blöcke groß sein
Edit : sehe gerade dass der erste Post genau dieses Setup hat
-
@siggi85 sagte in Script Xiaomi Battery leer ?:
Ein Adapter wäre Cool, indem ich ioBroker Objekte mit Schwellwerten definieren kann. Entweder wird bei Über- oder Unterschreitung ein Objekt von False auf True geändert, oder man kann für jeden Eintrag eine Aktion auswählen (z.B. Weitergabe an Mail, Telegramm, Log, etc) Wenn der Adapter RegEx unterstützen würde, könnte man sogar mehrere gleichartige Devices mit einer einzigen Regel überwachen.
Sorry, vielleicht nicht ganz das Thema, aber beim Lesen deines Anliegens musste ich die Idee einfach rauslassen.Doch du hast genau den Punkt getroffen!
Wir haben dafür bereits einen Adapter requests ich werde mich dem annehmen wird aber Q2 dieses Jahr nicht eher (oder jemand anders macht's) -
kann man so auch machen. Nur dann muss man im Trigger das Objekt eintragen und nochmal in der If-Abfrage.
Bei einer großen Anzahl von Geräten wird das dann schon mal unübersichtlich. Und da die Batterien ja nicht so schnell von 20 auf 0 % Prozent reichen 2 Stunden oder mehr locker aus. Zumal würde, wenn der Wert unter 20% sinkt, bei der weiteren Änderung eine Meldung geschickt was unter Umständen etwas nervig sein kann. -
Warum ? Du brauchst nur eine If Abfrage !
-
-gelöscht!
-
@lesiflo sagte in Script Xiaomi Battery leer ?:
Wenn du genau wissen welches Gerät zu wenig Spannung hat musst du sie einzeln abfragen.
Es sei denn es gibt noch eine andere Lösung.Schau Dir das Blockly im ersten Post von @MyzerAT an. Anstelle von "eine Batterie wird leer" kannst Du auch den Namen des Trigger-Datenpunktes übergeben:
-
@Ramses123 sagte in Script Xiaomi Battery leer ?:
@MyzerAT
Funktionieren tut das schon, aber du musst jetzt jedes mal alle Batteriestände durchsuchen, um die leere Batterie zu finden. Ich habe auch eine Abfrage aber für jede einzelne Batterie, dann weiß ich sofort, welche gemeint ist.
Das ist halt eine Einstellungssache: wenig programmieren und hinterher viel Arbeit oder etwas mehr Programmieraufwand und dafür hinterher eine schnelle Antwort.Nein muss ich nicht, da ich alle Batterien auf einem Blick per VIS sehe !
-
@Dutchman sagte in Script Xiaomi Battery leer ?:
@siggi85 sagte in Script Xiaomi Battery leer ?:
Ein Adapter wäre Cool, indem ich ioBroker Objekte mit Schwellwerten definieren kann. Entweder wird bei Über- oder Unterschreitung ein Objekt von False auf True geändert, oder man kann für jeden Eintrag eine Aktion auswählen (z.B. Weitergabe an Mail, Telegramm, Log, etc) Wenn der Adapter RegEx unterstützen würde, könnte man sogar mehrere gleichartige Devices mit einer einzigen Regel überwachen.
Sorry, vielleicht nicht ganz das Thema, aber beim Lesen deines Anliegens musste ich die Idee einfach rauslassen.Doch du hast genau den Punkt getroffen!
Wir haben dafür bereits einen Adapter requests ich werde mich dem annehmen wird aber Q2 dieses Jahr nicht eher (oder jemand anders macht's)Das wäre der Hammer!
-
denke @paul53 meint es so:
-
@siggi85 sagte in Script Xiaomi Battery leer ?:
@
Das wäre der Hammer!
bei Interesse bitte Voten, hier der request :
-
wie setze ich diesen fred eigendlich auf gelöst ?
-
Hi,
ich verwende dafür dieses Javascript, das alle xiaomi-batterie States scannt und dann in einen Datenpunkt schreibt, wo die Batterie leer ist.
Funktioniert auch prima mit fritzdect, muss nur der State geändert werden.const idVis = 'Batterie.MiHomeBatterietausch'; const batt = $('mihome.0.*.percent'); createState(idVis, '', {type: 'string'}); function lowBatt() { var low = []; batt.each(function (id, i) { if(getState(id).val < 30) { id = id.split('.'); id = 'mihome.0.' + id[2] + '.' + id[3]; low.push(getObject(id).common.name); // Geräte-Name } }); setState(idVis, low.join(',<br>'), true); } schedule('0 * * * *', lowBatt); // jede volle Stunde
-
@ilovegym
heisst bei unter 30% wird es in den Datenpunkt geschrieben ?
Sehe du hast 85 Xiaomi Aktoren, WOW was machst du damit alles! mir gehen schon die Ideen aus^^ -
genau, bei einem Batteriewert kleiner 30% wird der objektname in den Datenpunkt geschrieben.
Es sind 88 xiaomi devices mittlerweile, heute kam noch ein aquara 2fach Schalter dazu und ein paar Bewegungsmelder.. och.. wenn man ein Haus hat.. gibts genug zu überwachen, das meiste sind Magnetkontakte und Temp.Sensoren.. 4 Gateways, die werden langsam voll.. -
Super !! heisst du machst das alles über Gateway und hast mächtig Erfahrung damit ^^ Mir gefallen sie auch vom Design und bisher kann ich echt nicht klagen, die funktionieren echt super ! habe zur Zeit 27 Stück und 9 Sind noch im Zulauf!
Wie viele Aktoren kann man nochmal pro Gateway verwalten und laufen die dann eh über einen Account auf der Handy App?
-
@MyzerAT richtig, alles in einer App auf dem Handy, da sind alle 4 Gateways eingetragen, im iobroker-adapter auch, funktionieren super. Pro Gateway kannst du 30 devices anmelden, dann sagt dir das Gateway auf chinesisch, dass es nicht mehr geht...
( bis ich das mal geschnallt hatte..
)