NEWS
[Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe
-
@Pittini
cooles Script, funktioniert soweit.Anmerkung meinerseits, nix funktionales - eher zur Optik
Ich würde es gut finden, du die Vorgaben der Tabellen Erstellung noch dynamischer machst. Schriftgrößer, Border und das padding oben/ unten.
Ich habe das jetzt für mich ab Zeile 305 angepasst, aber wäre schön, wenn das verfügbar wäre. Ich fand es ganz schön gequetscht.Dann wird bei den HM Geräte zum Sensor Namen :0 angehängt.
Wohnzimmer Fenster:0
kannst das :0 vielleicht abschneiden?
ansonsten tolles Script, werde ich auf jedenfalls verwenden
Danke für dein Mühe! -
@dos1973 sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
Ich würde es gut finden, du die Vorgaben der Tabellen Erstellung noch dynamischer machst. Schriftgrößer, Border und das padding oben/ unten.
Ich habe das jetzt für mich ab Zeile 305 angepasst, aber wäre schön, wenn das verfügbar wäre. Ich fand es ganz schön gequetscht.Nee, werd ich nicht machen, das sind drei Tabellen, wenn ich da für jede, jede Einstellung zugänglich mach hab ich 2 Bildschirmseiten Tabelleneinstellungen und jeder Anfänger schmeißt das Skript nachm ersten Blick weg weil er sich überfordert fühlt, is eh schon ne Menge. Wers anders will, kann das ja genauso machen wie Du.
Dann wird bei den HM Geräte zum Sensor Namen :0 angehängt.
Huch das hör ich ja zum ersten mal, kann mir gar nicht vorstellen wo das herkommen soll. Wo genau steht das denn? Kannst mir mal bitte das Skriptlog posten?
-
@Pittini
so schaut's aus, habe eben nochmals das original script geladen, nicht dass durch meine Änderung ...habe ich etwas falsch gemacht?
hier noch die Fenster Aufzählung
-
@dos1973 sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
habe ich etwas falsch gemacht?
hier noch die Fenster AufzählungOk, wos herkommt ist jetzt klar:
Was ich mir mal anschauen muß is warum er den Namen vom Channel 0 nimmt und nicht vom device.
-
@Pittini
I)st bei mir bei den Homematic auch so. Hat mich jetzt nicht wirklich gestört, aber wollte es nur sagen.Gruss, Jürgen
-
@dos1973 sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
hier noch die Fenster Aufzählung
Irgendwie zeigen die Bilder doch unterschiedliche Sachen. Oben ist die Tabelle vom Batterieskript. Unten zeigst Du mir den Datenpunkt fürs Fensterskript. Es wär zur Suche deutlich hilfreicher wenn Du mir mal den Datenpunkt vom Batterieskript aufklappst.
Was das Skript macht ist folgendes, es nimmt die Id vom Datenpunkt, extrahiert den Parentchannel und holt sich den Namen davon. Und wenn im Namen die :0 drinsteht, dann ist das eben der Name, da kann das Skript dann auch nix dafür. Aber zeig mal nen zum Batterieskript gehörenden Datenpunkt, evtl läuft ja was falsch, was ich aber für unwahrscheinlich halte weil ich auch paar HM Thermostate hab und da isses genauso, nur dass die Namen anders sind, aber auch da hängt ein :Zahl dran z.B.- "HM-CC-RT-DN PEQ1642518:4" . -
-
@Wildbill sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
Also je nachdem, aus welchem Unterchannel eines HM-Geräts die Daten stammen ist hinten die Nummer dran.
Ja klar, wie oben beschrieben, da kann das Skript nix dafür. Der Name des übergeordneten Channels hat das ja drin. Das ist wieder mal ne HM Extrawurst, weil da noch die Unterchannels mit Zahlen gesetzt werden, bei allen anderen Geräten/Adaptern soweit ich sie kenne ist der übergeordnete Channelname korrekt. Ich könnte jetzt ne Extrawurstfunktion für den hmrpc Adapter machen, aber dann gibts vermutlich wieder Probleme wenn jemand HM Geräte via fhem eingebunden hat. Ich kann mal überlegen ob ich ne aktivierbare Option einbaue, die rein bei der Anzeige nach nem Doppelpunkt sucht und diesen sowie alles rechts davon rausschneidet.
-
@Pittini
Also mich stört die zahl nicht. Wichtig ist mir, dass ich benachrichtigt werde, wenn eine Batterie einen Wechsel braucht, und dass ich schnell erkenne, wo das der Fall ist. Und das tut. Namen mit oder ohne Zahl hinten ist Luxus, der ist mir zumindest egal. Aber ich beuge mich der Mehrheit.Gruss, Jürgen
-
@dos1973 sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
@Pittini
cooles Script, funktioniert soweit.Anmerkung meinerseits, nix funktionales - eher zur Optik
wollte nochmals zu Erinnerung bringen, es stört mich auch nicht, ich kann auch damit leben, aber die :0 gehört da eben nicht hin
-
@dos1973 sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
wollte nochmals zu Erinnerung bringen, es stört mich auch nicht, ich kann auch damit leben, aber die :0 gehört da eben nicht hin
@Wildbill
V1.5.5 auf Git mit Sonderregel für HM, dort wird der Name 2 Ebenen höher extrahiert, bei allen anderen Geräten eine Ebene über dem Datenpunkt. So ists jetzt ganz korrekt, kann aber u.U. völlig andere Namen zur folge haben. -
-
Moin zusammen,
ich wollte mir den Adapter gerade installieren und bekam folgende Fehlermeldung:
Liegt es an mir oder an meinem System?
Ich bin bei den Adaptern auf das Katzensymbol gegangen und habe dann unter beliebig von folgender URL installieren wollen: https://github.com/Pittini/iobroker-Batterienauswertung
-
Das ist kein Adapter.
Lesen... Für die Installation ist alles in deinem Link beschrieben
-
ups, ok, danke für den Hinweis ...
-
Hallo zusammen
Habe das Skript installiert und erhalte auch eine Ausgabe.
Leider habe ich im Log auch Fehlermeldungen:avascript.0 2020-05-02 13:51:11.958 error (17025) at processTicksAndRejections (internal/process/task_queues.js:97:5) javascript.0 2020-05-02 13:51:11.957 error (17025) at runMicrotasks (<anonymous>:null:null) javascript.0 2020-05-02 13:51:11.957 error (17025) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49 javascript.0 2020-05-02 13:51:11.957 error (17025) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) javascript.0 2020-05-02 13:51:11.957 error (17025) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:580:17 javascript.0 2020-05-02 13:51:11.956 error (17025) at /opt/iobroker/node_modules/iobroker.javascript/main.js:855:17 javascript.0 2020-05-02 13:51:11.956 error (17025) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1264:17 javascript.0 2020-05-02 13:51:11.956 error (17025) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1211:37) javascript.0 2020-05-02 13:51:11.956 error (17025) at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:988:28) javascript.0 2020-05-02 13:51:11.956 error (17025) at Object.createScript (vm.js:263:10) javascript.0 2020-05-02 13:51:11.955 error (17025) at new Script (vm.js:88:7) javascript.0 2020-05-02 13:51:11.955 error (17025) SyntaxError: Invalid regular expression: missing / javascript.0 2020-05-02 13:51:11.955 error (17025) ^ javascript.0 2020-05-02 13:51:11.955 error (17025) / Batterieüberwachungsskript Version 1.5.5 Stand 28.04.2020 javascript.0 2020-05-02 13:51:11.954 error at script.js.common.BatterieUeberwachung:1 javascript.0 2020-05-02 13:51:11.954 error (17025) script.js.common.BatterieUeberwachung compile failed:
Arbeite mit:
Node.js v12.16.3 NPM 6.14.4
Hat jemand bitte einen Tipp für mich.
Grüsse aus der Schweiz
-
@hanan Hast Du das Skript wirklich die oben kopiert? zeig mal nen Screenshot vom Skript editor und dem Anfang vom Skript.
Und: welche javascript adapter version?
-
Hallo apollo77
Habe alles so kopiert..
// Batterieüberwachungsskript Version 1.5.5 Stand 28.04.2020 //Überwacht Batteriespannungen beliebig vieler Geräte //WICHTIG!!! //Vorraussetzungen: Den Gerätechannels müssen Räume, sowie die Funktion "BatterieSpannung_xx" für jeden entsprechenden Batteriespannungs Datenpunkt zugewiesen sein. //Grund Einstellungen const praefix = "javascript.0.BatterieUeberwachung."; //Grundpfad für Script DPs const logging = true; //Logging aktivieren? const FunktionBaseName = "BatterieSpannung_"; //Name der Funktion welche für die Batterieüberwachung genutzt wird const UseTelegram = false; // Sollen Nachrichten via Telegram gesendet werden? const UseMail = false; // Sollen Nachrichten via Mail gesendet werden? const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden? const AlexaId = ""; // Die Alexa Seriennummer const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Funktion des Authors, sollte bei Anwendern auf false gesetzt werden. const UseEventLog = false; // Sollen Nachrichten ins Eventlog geschreiben werden? Funktion des Authors, sollte bei Anwendern auf false gesetzt werden. const UsePopUp = false // Soll PopUp angezeigt werden? Funktion des Authors, sollte bei Anwendern auf false gesetzt werden. const ProzMeansLive = true; //Zeigen Prozentwerte des Gerätedatenpunktes Batteriekapazität oder restliche Lebensdauer? //Tabellen Einstellungen const TblOkBgColor = "#4caf50"; //Hintergrundfarbe für Batteriestatus Ok const TblInfoBgColor = "#ffc107"; //Hintergrundfarbe für Batteriestatus Info, also die leerste Batterie welche noch nicht das Limit unterschreitet const TblWarnBgColor = "#f44336"; //Hintergrundfarbe für Batteriestatus Warnung, also jene Batterie welche unter das Limit kam. const HeadBgColor = "dimgrey"; //Hintergrundfarbe des Tabellenkopfes const FontColor = "black"; //Textfarbe für Tabelleninhalt const HeadFontColor = "white"; //Textfarbe für Tabellenkopf const TblShowLfdCol = true; //Tabellenspalte mit laufender Nummer anzeigen? const TblShowDeviceIDCol = true; //Tabellenspalte mit Geräte ID anzeigen? const TblShowDeviceNameCol = true; //Tabellenspalte mit Gerätenamen anzeigen? const TblShowRoomCol = true; //Tabellenspalte mit Raum anzeigen? const TblShowUmaxCol = true; //Tabellenspalte mit Batterie Nennspannung anzeigen? const TblShowUistCol = true; //Tabellenspalte mit aktueller Batteriespannung anzeigen? const TblShowUlimitCol = true; //Tabellenspalte mit unterer Batterielimit Spannung anzeigen? const TblShowProzbatCol = true; //Tabellenspalte mit Batteriestand in Prozent anzeigen? const TblShowProzliveCol = true; //Tabellenspalte mit Restlebensdauer unter Berücksichtigung der Limitspannung in Prozent anzeigen? Beispiel: Batterie hat 3V Nennspannung, Limit ist bei 2V, aktueller Batteriestand ist 2.5V, dann wäre die Restlebensdauer 50% const TblShowStatusCol = false; //Tabellenspalte mit Status ausgeben? //Ab hier nix mehr ändern
-
@hanan sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
Hallo apollo77
So kriegt @apollon77 das nicht mit.
Mach mal testweise in der Zeile 298 an den Anfang zwei Schrägstriche. Also so: // . Die Zeile sollte dann so aussehen:
// room = room.replace(/_/g, " "); //Unterstriche durch Leerzeichen ersetzen
.Dann speichern und guggen ob der Fehler immer noch gemeldet wird und hier Feedback geben.
-
Hallo Pittini
Habe ich jetzt gemacht und erhalte folgenden Fehler:2.5.2020, 16:28:53.493 [info ]: javascript.0 (1272) Stop script script.js.common.BatterieUeberwachung 2.5.2020, 16:28:55.765 [info ]: javascript.0 (1272) Start javascript script.js.common.BatterieUeberwachung 2.5.2020, 16:28:55.768 [error]: javascript.0 (1272) script.js.common.BatterieUeberwachung compile failed: at script.js.common.BatterieUeberwachung:497