NEWS
Servicemeldungen - All inclusive für Homematic -
-
Ich meine den Shelly Adapter. Du nutzt ja Iobroker, da brauchst du nicht zwingend die Shellys in Homematic einbinden. Die Shellys laufen ja über Wlan und brauchen Homematic nicht. Die Logik steuerst du ja am Ende über Iobroker.
-
Hallo,
ich habe seit einigen Tagen ein Problem:
Bei mir war die Batterie eines Bewegungsmelder leer, soweit kein Problem, Batterie getauscht und gut.Aber jetzt bekomme ich mehrmals am Tag, die Meldung das die Batterie immer noch leer wäre:
Bewegungsmelder_Wohnzimmer (000xxx) - Spannung Batterien/Akkus gering. 2x LR6/AA
Das stimmt aber nicht, ich habe Batterie auch nochmal getauscht, auch Voltage steht auf 3.1V:
Und der Datenpunkt Low_Bat hat sich auch ewig nicht mehr geändert (vielleicht war auch die Batterie gar nicht leer):
Habe auch schon alles komplett neu gestartet.
Hat hier jemand eine Idee an was das liegen könnte?Danke im Voraus.
-
@nik82 Du zeigst oben Bewegungsmelder_Wohnzimmer aber unten Bewegungsmelder_Tab? Entscheidend ist auch nicht Low_Bat sondern der Datenpunkt Low_Bat_Alarm.
Technisch halte ich es für ausgeschlossen das das Script was anderes anzeigt als der Datenpunkt…
-
@cash
Oh mein Gott!!!! SORRY SORRY SORRY!!!
Ich hab wirklich vergessen das ich hinten im Eck ja auch noch einen Bewegungsmelder habe.
Es sind tatsächlich auch die Batterien von dem Bewegungsmelder leer.
Boa, echt peinlich, also vergesst meinen Post bitte.
Wird Zeit das Urlaub kommt -
-
Hallo,
ich würde gerne eine andere Formatierung bei der Versendung von Telegram Nachrichten haben. Gibt es im Script eine Möglichkeit das ohne viel Aufwand zu ändern?
Das zu Meldende Gerät würde ich gerne fettgedruckt darstellen. -
@dominik-f möglich ist das natürlich. Musst Dich einfach mal durch das Script wühlen und entsprechend anpassen.
-
Okay, ist also nicht ohne weiteres möglich. Hab mich schon versucht durchs Skript zu wühlen, aber da ich nicht so gut in Javascript bin ist es für mich leider nicht machbar.
-
@dominik-f sagte in Servicemeldungen - All inclusive für Homematic -:
fettgedruckt
Fett, z.B. so:
"Es liegen <b>keine</b> xxx Meldungen vor."
-
Danke für deine Antwort.
Die Zeichen die ich dafür brauche kenne ich, nur das Skript ist so umfangreich, dass ich als Javascript anfänger (bin deshalb schon auf Blockly für meine selbst erstellten Skripte umgestiegen) den Wald vor lauter Bäumen nicht sehe. -
@cash
Hi cash, ich habe nie Meldungen für leere Batterien bei den Homematic Thermostate HM-CC-RT-DN bekommen. Nun habe ich mir das mal angeschaut und nachdem ich in Zeile 1596 die Abfrage vom 'status' von == 1 auf > 0 geändert habe, funktioniert es. Der Status hat den Wert 6. Man könnte natürlich auch auf status != 0 abfragen.
Stimmst Du mir da zu?Gruß Robert
-
@rookie50 Nein ich stimme nur bedingt zu. Wenn ich mich nicht täusche hatte ich die Abfrage wie von Dir beschrieben auf >0 aber das hatte negative Effekte, an die ich mich nicht erinnern kann. Mit anderen Wort kann funktionieren muss aber nicht.
Muss aber dazu sagen das ich derzeit das Script nicht mehr nutze, da ich keinen Sinn mehr dadrin sehe. Außer für Batteriemeldungen aber da gibt es dann auch schlankere Lösungen...
-
Kannst du kurz erläutern warum? Nutzt du andere Lösungen?
-
@dominik-f klar. Ich nutze es nicht mehr weil mich die Servicemeldungen nicht mehr interessieren. Ich bestätige die einfach alle paar Monate mal und fertig. Ich habe relativ wenig Meldungen bzw immer wieder die selben Geräte.
-
Ja, da hast du irgendwie recht. 99% der Meldungen ignoriere ich tatsächlich auch. Ich bekomme auch fast ausschließlich die Meldung über eine bestätigbare Kommikationsstörung. Die Batteriemeldungen sind für mich auch das interessanteste weil mein anderes Skript nicht so zuverlässig funktioniert.
-
@dominik-f Dann editier das Script und lösch alle unwichtigen Meldungen. So habe ich es gemacht. Ist zwar Quick & Dirty und eigentlich gefällt es mir so auch nicht richtig aber ich habe auch derzeit keine Zeit und Lust das ganze neu zu schreiben…
-
@cash danke für Deine Antwort. Ich habe mir nun den device-watcher angeschaut und werde wahrscheinlich den Adapter in Zukunft nutzen. Trotzdem vielen Danke für Deine Arbeit an dem Script!
-
Ich weiß nicht, seit wann, aber man könnte mittlerweile auch die Alarmmeldungen der CCU2 abfragen und z.B. in separate Datenpunkte speichern.
Ich habe das bei mir in einem Typescript mal folgendermaßen umgesetzt:
"use strict"; /** * Aktualisiert Anzahl und den Text der Alarmmeldungen in der entsprechenden Systemvariable */ function updateAlarmMessages() { let messages:string = ""; let cacheSelectorState = $('state[id=hm-rega.0.*]'); cacheSelectorState.each(function (id, i) { if ((<iobJS.StateObject><unknown>getObject(id)).common.name.toString().startsWith("WatchDog")) { if (getState(id).val == true) { // Das Alarm-Flag ist aktiv messages += (<iobJS.StateObject><unknown>getObject(id)).common.desc + "\n"; } } }); // Meldungen setzen setState('0_userdata.0.ccu2.alarmmeldungen'/*Text der Alarmmeldungen der CCU2*/, messages); // Anzahl setzen let oldCouter:number = getState('0_userdata.0.ccu2.alarmmeldungenAnzahl'/*Anzahl der Alarmmeldungen der CCU2*/).val; let newCounter:number = getState('hm-rega.0.alarms'/*Alarmmeldungen*/).val; if (oldCouter != newCounter) { setState('0_userdata.0.ccu2.alarmmeldungenAnzahl'/*Anzahl der Alarmmeldungen der CCU2*/, newCounter); } } /** * Bei Änderungen auf der CCU werden Anzahl und Texze der Alarmmeldungen neu gesetzt */ on({id:['hm-rega.0.alarms'/*Alarmmeldungen*/], logic: "and", change: "ne"}, function (obj) { updateAlarmMessages(); }); /** * Beim Starten des Skripts aufrufen */ updateAlarmMessages();
Vielleicht braucht es ja der eine oder andere oder kann @cash als Vorlage dienen, das in sein Skript einzubauen.
-
@neopholus aufgefallen war es mir schon aber ich hatte mich noch nicht weiter damit beschäftigt.. Danke aber für den Hinweis. Auf jeden Fall wäre das Script wesentlich einfacher. Man würde natürlich nicht mehr sehen welche Batterien getauscht werden müssen aber da gibt es bestimmt auch einen Weg das wieder einzubauen…
-
Ich habe eine Frage zum Script:
Kann man die ID des betroffenen Gerätes irgendwie aus dem generiertem String raus nehmen?