NEWS
Script fürTabelle der Batterie Zustände
-
@alexmuc81 sagte in Script fürTabelle der Batterie Zustände:
der * steht für die ID des Gerätes
poste mal die ganze id eines datenpunktes, der die battery anzeigt - sollte am ende: .lowBat heißen
-
hmip.0.devices.3014F711A00000D709954F99.channels.0.lowBat
hmip.0.devices.3014F711A00000D709955FBB.channels.0.lowBat
usw. -
der stern steht in diesem selector für mehr als nur devices - es sollte also funktionieren
ob ich
hmip.0...channels.0.lowBat
oder
hmip.0.*.channels.0.lowBat
oder
hmip.0.*.0.lowBat
schreibe , es wird immer der lowBat gefunden - ein stern kann vieles beinhalten
wenn der name des gerätes in der tabelle angezeigt ist, ist alles ok vom script her - dann kommt es darauf an was der dp anzeigt - wenn lowBat=true sollte eine warnung angezeigt sein, bei lowBat=false nicht - was zeigt der dp an ?
-
lowBat=true
Ich hab mir in der Console gerade mal val1help ausgeben lassen. Da stehen ja die
Werte drin:javascript.0 2022-03-13 23:00:37.026 info script.js.akkutabelle: true
Zweiter Test war dann die Zeile mit einem Console.log auszustatten
if (val1help=="true") {console.log("Test");val1=(" <font color=\"red\"> ")+"low bat"; json2="low";json5="red";json3_1=0} else{console.log("Test2");val1=(" <font color=\"lightgreen\"> ")+"full bat";json2="high";json5="green";json3_1=100}
Das wiederum brachte:
javascript.0 2022-03-13 23:03:42.247 info script.js.akkutabelle: Test2 javascript.0 2022-03-13 23:03:42.247 info script.js.akkutabelle: false javascript.0 2022-03-13 23:03:42.247 info script.js.akkutabelle: Test2 javascript.0 2022-03-13 23:03:42.246 info script.js.akkutabelle: true javascript.0 2022-03-13 23:03:42.246 info script.js.akkutabelle: Test2 javascript.0 2022-03-13 23:03:42.246 info script.js.akkutabelle: false
Also irgendwie funktioniert val1help=="true" nicht.....
-
@alexmuc81 mache mal alle anführungszeichen um das true weg - was passiert dann ?
if (val1help==true) {val1=(" <font color=\"red\"> ")+"low bat"; json2="low";json5="red";json3_1=0} else{val1=(" <font color=\"lightgreen\"> ")+"full bat";json2="high";json5="green";json3_1=100} if (val1help==true) {val2=symbolKO;json3=symbolKO} else{val2=symbolOK;json3=symbolKO} if (val1help==true) AkkuAlarm.push(1); if (val1help==true) alarmMessage.push(val0);
-
if (val1help) {val1=(" <font color=\"red\"> ")+"low bat"; json2="low";json5="red";json3_1=0} else{val1=(" <font color=\"lightgreen\"> ")+"full bat";json2="high";json5="green";json3_1=100} if (val1help) {val2=symbolKO;json3=symbolKO} else{val2=symbolOK;json3=symbolKO} if (val1help) AkkuAlarm.push(1); if (val1help) alarmMessage.push(val0);
ich habe es auf die gleiche abfrage wie in der Schleife davor geändert und schon
funktioniert es. Danke für den Tip. Keine Ahnung warum ich darauf nicht selbst gekommen bin... -
alles gut - weiß nicht, warum das da so drin ist - evtl hat sich in der zwischenzeit beim adapter was geändert
-
Hallo zusammen,
auch wenn ich über keine Programmier-Kenntnisse verfüge würde ich gerne das Skript zum Laufen bekommen.
Die Variablen habe ich angelegt.
Jedoch meldet Javascript nach dem Starten immer "Instanz ist deaktiviert"
Fehlen da noch Adapter? Ich habe nur erst einmal Homematic und Zigbee auf true gesetzt. -
@hg6806 sagte in Script fürTabelle der Batterie Zustände:
Jedoch meldet Javascript nach dem Starten immer "Instanz ist deaktiviert"
du als "Most Active" musst aber auch wissen dass ohne LOG nix geht..
-
@hg6806 sagte in Script fürTabelle der Batterie Zustände:
Die Variablen habe ich angelegt.
ich denke du meinst den datenpunkt - type zeichenkette - hast du angelegt
hast du das ganze mit firefox integriert ? nimm chrome oder edge
und wie erwähnt: das log wäre nicht schlecht
-
Moin!
Hätte ich ja schon gemacht, aber ich bekomme nichts im Log trotz Debug und Verbose:
-
@hg6806 ist den die javascript-instanz aktiviert ?
-
@hg6806 und debug und verbose kannst du abschalten
-
@liv-in-sky sagte in Script fürTabelle der Batterie Zustände:
Jedoch meldet Javascript nach dem Starten immer "Instanz ist deaktiviert"
im script wird geprüft ob die abzufragenden Datenpunkte dessen adapter somit instanz läuft ..
@hg6806 muttu mal schauen ist relativ oben da ist ne liste
-
Ja, Javascript Instanz ist natürlich aktiv.
Muss ich die denn auch noch anlegen?
let braucheEinVISWidget=true; // bei true wird ein html-tabelle in einen dp geschrieben - MUSS ANGELEGT WERDEN !!! let braucheMaterialDesignWidget=false; // bei true wird ein json in einen dp geschrieben - MUSS ANGELEGT WERDEN !!! let braucheMaterialDesignWidgetTable=false; // bei true wird ein json in einen dp geschrieben - MUSS ANGELEGT WERDEN !!!
Im Skript steht, dass es angelegt werden muss, ganz oben im ersten Post nur die 5 Datenpunkte.
-
@hg6806 eigentlch nur die :
let dpVIS="0_userdata.0.CONTROL-OWN.TABELLEN.AKKU" ; //WICHTIG wenn braucheEinVISWidget auf true gesetzt !! dp zusätzlich für VIS-HTML-Basic-Widget - zeichenkette(string) let dpAlarm="0_userdata.0.CONTROL-OWN.TABELLEN.AkkuAlarm"; // muss erstellt werden - datenpunkt erstellen vom typ "number" - bei 0 kein alarm und größer 0 die anzahl der schlechten batterien let dpAlarmMessage="0_userdata.0.CONTROL-OWN.TABELLEN.AkkuMeessage"; // muss erstellt werden - datenpunkt erstellen vom typ "string" Inhalt - alle devices mit lowbat-alarmen let dpMaterialWidget="0_userdata.0.CONTROL-OWN.TABELLEN.AkkuMaterialWidget"; // WICHTIG wenn braucheMaterialDesignWidget auf true MATERIALDESIGN List Widget - datenpunkt anlegen : zeichenkette let dpMaterialWidgetTable="0_userdata.0.CONTROL-OWN.TABELLEN.AkkuMaterialWidgetTable"; // WICHTIG wenn braucheMaterialDesignWidgetTable auf true MATERIALDESIGN Table W
wie du die benennst und erstellst kannst du selbst bestimmen - dann halt im script angleichen
-
@hg6806 schau mal in den chat
-
Genau, wie oben beschrieben hatte ich die alle angelegt.
Müssen sonst irgendwelche Adapter installiert erden?
Klar, Homematic auf jeden Fall, Zigbee auch, habe ich ja auch True gesetzt -
nee, da muss nichts mehr installiert werden - selbst wenn die adapter nicht angelegt sind, sollte nix passieren - die werden dann eigentlich nur nicht gefunden und nicht bearbeitet
-
Nochmal zur Aufklärung.
Der Fehler lag daran, dass das Programm auf einer anderen Instanz (1) laufen (wollte).
Ich hatte das von jemanden hier kopiert.
@liv-in-sky hat dann super Support. Nochmals Danke dafür.Ich habe jetzt alles eingestellt und läuft alles bestens.
Folgende Batterie/Akku-betriebene Geräte habe ich noch:
Xiaomi BLE Temperatur Sensor
Wemos D1 mit EasyESP Software und über MQTT eingebunden.Besteht eine Chance die auch abgefragt zu bekommen?