NEWS
UNSOLVED Script Xiaomi Battery leer ?
-
-
@lesiflo sagte in Script Xiaomi Battery leer ?:
@Negalein
Wie sieh der Rest von Script aus? -
Beim Batteriescript fehlt nichts. Kannst du löschen wenn es denn geht.
-
@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!
-
@ilovegym
Und wie bekommst Du diese Nachricht das die Batterien sich leeren? Würde gerne das Script benutzen. Danke -
sieht für mich aus als ob es über vis ausgegeben wird
-
@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 -
Ist das die Variable "Batterie.MiHomeBatterietausch"? Eine andere finde ich nicht.
-
-
@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:
-
@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 Stunde
Vielen 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? -
var raum = getObject(id, 'rooms').enumNames.join(', ');
-
@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 ?
-
@paul53 Kanalname + Raum wäre super
-
id = 'hm-rpc.0.' + id[2] + '.' + id[3]; var raum = getObject(id, 'rooms').enumNames.join(', '); low.push(getObject(id).common.name + ': ' + raum); // Kanal-Name: Raum }
-
@paul53 sagte in Script Xiaomi Battery leer ?:
id = 'hm-rpc.0.' + id[2] + '.' + id[3];
var raum = getObject(id, 'rooms').enumNames.join(', ');
low.push(getObject(id).common.name + ': ' + raum); // Kanal-Name: Raum
}Vielen Dank. Funktioniert bestens!