NEWS
Script Xiaomi Battery leer ?
-
@lesiflo sagte in Script Xiaomi Battery leer ?:
Hier ist es: Zigbee.txt
Hallo
Ich hab gerade dein Script in Blockly importiert.
Mir wird alles angezeigt, aber ich sehe auch einen schwarzen Baustein.

Fehlt da bei mir irgendwas?Danke
-
-
-
@lesiflo sagte in Script Xiaomi Battery leer ?:
Beim Batteriescript fehlt nichts. Kannst du löschen wenn es denn geht.
Danke
Aktuell hab ich leider das Problem, dass bei den Blocklys kein "Speichern Button" erscheint.
-
verschieb es etwas, dann sollte speichern möglich sein, das speichern ist nur ausgegraut wenn keine änderungen sind!
@MyzerAT sagte in Script Xiaomi Battery leer ?:
verschieb es etwas, dann sollte speichern möglich sein, das speichern ist nur ausgegraut wenn keine änderungen sind!
Danke, das wars!
-
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 -
@karstent sagte in Script Xiaomi Battery leer ?:
Und wie bekommst Du diese Nachricht das die Batterien sich leeren? Würde gerne das Script benutzen. Danke
Brauchst dir nur die Variable "Alarmtext" als Text, zum Beispiel mit Telegram, aufs Handy schicken.
Funktioniert bei mir 1 A -
@ilovegym
Und wie bekommst Du diese Nachricht das die Batterien sich leeren? Würde gerne das Script benutzen. Danke@karstent sagte in Script Xiaomi Battery leer ?:
@ilovegym
Und wie bekommst Du diese Nachricht das die Batterien sich leeren? Würde gerne das Script benutzen. DankeIch triggere das Objekt javascript.0.Batterie.MiHomeBatterietausch ( habe da noch mehr, -FritzBatterietausch, etc..) mit einem anderen Script, das mir den Wert dann als Message über Telegram schickt.
-
@karstent so sieht es bei mir aus:

-
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 sagte in Script Xiaomi Battery leer ?:
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 StundeVielen Dank für das Skript. Ich wollte es neben mihome ach für meine Homematic Komponenten einsetzen. Dazu habe ich es wie folgt geändert:
Ich würde gerne abgesehen vom Gerätenamen noch den Raum in den Datenpunkt schreiben, da bei mir dieser aus der Homematic Nomenklatur nicht hervorgeht. Wie stelle ich das an? -
@ilovegym sagte in Script Xiaomi Battery leer ?:
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 StundeVielen Dank für das Skript. Ich wollte es neben mihome ach für meine Homematic Komponenten einsetzen. Dazu habe ich es wie folgt geändert:
Ich würde gerne abgesehen vom Gerätenamen noch den Raum in den Datenpunkt schreiben, da bei mir dieser aus der Homematic Nomenklatur nicht hervorgeht. Wie stelle ich das an? -
@paul53 sagte in Script Xiaomi Battery leer ?:
var raum = getObject(id, 'rooms').enumNames.join(', ');Wo muss das hin? Ich bin blutiger Anfänger und habe bisher nur blockly code generiert.
Mein erster Versuch schlug direkt fehl.
-
@passuff sagte:
Wo muss das hin?
Wie willst Du die Räume anzeigen ? Zusammen mit dem Kanalnamen (davor / dahinter) oder getrennt ?

