NEWS
UNSOLVED Script Xiaomi Battery leer ?
-
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
-
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.. )
-
dann muss ich ja gleich noch mal eine Bestellung aufgeben, für einen weiteren gateway wenn die Batterie dann unter 30% hat wechselst du die, oder geht da noch was, bzw. wie weit gehen die % runter ohne das das Teil spinnt?
-
vielen dank für die Script Beispiele.
Kommt mir sehr gelegen, da ich in den nächsten Tagen endlich meinen CC2531 Stick erhalten werde um meine ganzen Temperatur / Türsensoren in ioBroker einbinden zu können.Warum prüft ihr eigentlich alle 2 Stunden die Batterie?
1x am Tag sollte ja eigentlich reichen, da die ja nicht so schnell ihre Kapazität verlieren oder!? -
jede Stunde finde ich auch unnötig, bei meinem Script wird, sobald sich der Wert einer Batterie ändert, dieser an iobroker gemeldet und dann per Script kommt die Info
-
ja liest sich sehr angenehm.
Mir wäre es eigentlich lieber das man wie mit den javascript Varianten alle Geräte mit Batterie Werten automatisch einsammelt und prüft.
So muss man das Skript bei neuen Geräten immer erweitern, das diese auch geprüft werden. -
@lesiflo said in Script Xiaomi Battery leer ?:
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.
Besteht bei deinem Blockly nicht die "Gefahr" (ist ja nicht schlimm oder gravierend), dass wenn zwei Geräte innerhalb von zwei Stunden unter 20% fallen, dass ein Gerät "verschluckt wird? Das eine Gerät überschreibt ja die "Meldung" mit dem neuen Wert bevor das Blockly durchgelaufen ist oder nicht? Oder wie wird das Blockly abgearbeitet?
-
stimmt du hast recht, ist mir so noch nicht aufgefallen. Hatte aber schon eine andere Lösung, die obige
hatte ich verworfen.