NEWS
Servicemeldungen - All inclusive für Homematic -
-
Zuviele weiß ich nicht. Das Script meldt was ankommt. Wenn ich alles richtig deute hast Du jeweils in der Küche und im Wohnzimmer eine Heizungsgruppe. Und Du hast jeweils einen Fenstersensor getauscht.
Also erstmal ziehst Du die Kappe ab --> Sabotagemeldung am Fenster und Sabotagemeldung in der Gruppe. Sind auf jeden Fall schonmal zwei Meldungen.
Deswegen hatte ich in den ersten Versionen vom Script nur das abgefragt was Sinn macht und Gruppen machen keinen Sinn. Zeigte sich ja auch bei der Ermittlung vom Batterietyp. Habe derzeit keine Idee wie ich alles abfrage aber die Gruppen unterdrücke... Mal schauen was mir einfällt.
Danach sollte ich den ERROR_CODE aufnehmen. Und wie mir scheint ist es nicht sinnvoll auf den ERROR_CODE abzufragen. Wenn ich es richtig deute steht dort immer nur eine 1 drin wenn ein Fehler auftritt und 0 wenn kein Fehler ist. Folglich müsste ich den ERROR_Code wieder aus dem Script entfernen. Denn für alle Fehler gibt es eben auch ein eigenes ALARM-Feld und das endet auf ALARM. Einzige Ausnahme bilden die alten Homematic-Komponenten, denn dort gibt es den Servicetyp ERROR, dieser kann aber unterschiedliche Werte haben.
Und das positive: Der Select läuft
-
@cash
Sollte keine Kritik sein, nur eine Info für Dich.Also in der Küche ist keine Heizung (offenes Wohnzimmer) Da gibt es nur Fensterkontakte, wovon ich bei einem Fenster die Batterie getauscht habe.
Im Wohnzimmer habe ich die Batterie der Terrassentür getauscht, dort gibt es ein Wandthermostat, ein Heizkörperthermostat und drei Fensterkontakte, (inklusive Terrassentür). Diese sind alle in der Heizgruppe.
Deswegen wundere ich mich über die Küchenmeldungen(doppelt)
Im Telegram sind keine Sabotagemeldungen, nur die Error ?
-
Mit Telegram ist merkwürdig. Muss ich nochmal suchen wo dort ein Fehler sein muss. Das Log hat keinen Fehler ausgespuckt oder?
Welche Meldungen hätten denn Deiner Meinung nach kommen dürfen? Nur Sabotage jeweils oder? Und wenn ich es richtig verstanden 3 mal oder? Also ein Fenster, einmal Tür und einmal die Heizungsgruppe.
Wenn das korrekt ist müsste ich noch die Gruppe rausfiltern. Wofür ich eine Idee hätte...
Das Gruppenproblem hat man anscheinend auch nur bei den IP Geäten. Die normalen Homematic-Gruppen habe keine Objekte mit der Endung Alarm... -
@cash sagte in Servicemeldungen - All inclusive für Homematic -:
Welche Meldungen hätten denn Deiner Meinung nach kommen dürfen? Nur Sabotage jeweils oder? Und wenn ich es richtig verstanden 3 mal oder? Also ein Fenster, einmal Tür und einmal die Heizungsgruppe.
richtig
-
@dslraser sagte in Servicemeldungen - All inclusive für Homematic -:
Irgenwie zu viele Meldungen, oder....?
Hatte ich auch bei mir und habe dann einen Virt-Schalter mit eingebaut den ich in meinen Blockly abfragen dementsprechend auf Wahr / Unwahr setze. Seitdem alles nur einmal
-
@dslraser kriege ich hin. Habe eben schon die ersten Vorbereitungen getroffen. Ich denke Dienstag sollte ich eine neu Version hochladen können.
-
@cash
kein Stress (ich bin dann auch im Urlaub) -
Hallo @cash ,
beschäftige mich gerade auch mit deinem Script. Möchte bei mir (später) die Telegram-Funktion nutzen. Ich hätte da noch einen Aktor der bisher im Script noch nicht vorhanden ist. Es handelt sich um den Aktortyp HM-LC-Sw1-FM dieser braucht gar keine Batterie, hängt direkt am Stromnetz. Habe ihn einmal bei mir im Script im entsprechenden Array eingetragen, dann verschwindet die Meldung.Ferner hätte ich noch einen Tipp bzgl. deinem Script (habe ich mal von @pix gelernt ) :
Du hast öfters den folgenden Codeblockif (debugging) { log('Variable write_message steht auf false'); }
das kannst du auch vereinfachen und somit einige Zeilen sparen in dem du schreibst
if (debugging) log('Variable write_message steht auf false');
Wenn nach IF-Abfragen nur eine Code-Zeile ausgeführt wird, kann man die geschweiften Klammern weglassen und den Befehl direkt dahinter setzen.
Gruß und danke für das Script
Steffen -
@Steff werde das Gerät noch mit einbauen.
Ich hatte das schon gesehen das man bei Javascript die geschweiften Klammern weglassen kann aber ich kann mich einfach nicht daran gewöhnen. Ich finde die klassische Schreibweise übersichtlichter
Naja vielleicht in Zukunft.
-
Hallo cash,
super Arbeit, lieben Dank! Die Meldungen in meinen Statusmails ist mir schon abgegangen.
Ich habe auch noch paar ältere HM Aktoren, die unter "var ohne" gelistet werden sollten, da reine 240er.Alt:
var ohne = ['HM-LC-Sw1PBU-FM', 'HM-LC-Sw1-Pl-DN-R1', 'HM-LC-Sw1-DR', 'HM-LC-RGBW-WM', 'HM-LC-Sw1-Pl-CT-R1', 'HmIP-HEATING'];
Neu:
var ohne = ['HM-LC-Sw1PBU-FM', 'HM-LC-Sw1-Pl-DN-R1', 'HM-LC-Sw1-DR', 'HM-LC-RGBW-WM', 'HM-LC-Sw1-Pl-CT-R1', 'HmIP-HEATING', 'HM-LC-Sw1-FM', 'HM-LC-Sw2-FM', 'HM-LC-Sw4-DR', 'HM-LC-Sw1-Pl'];
Meine Meldungen wegen fehlender Batterieinfos sind damit weg. Oder gehören die unter "var fixed"?
Dann hätte ich da noch 3 weniger wichtige Fragen:
-
Ich habe eine KeyMatic "HM-Sec-Key-S". Ausschliesslich in WebMatic (weiterentwickelt von Dittmar) finde ich folgende Statusmeldung:
Diesen "Zustand unsicher" habe ich auch nicht auf der piVCCU, ist aber sehr informativ, weil letzte Stellungsänderung des Riegels manuell war. Wie könnte ich das auch in ioBroker mit deinem Script realisieren? -
Ich verwende weder Push noch Telegram, ausschließlich die uralte Technik "e-Mail". Dazu nutze ich den von dir vorgesehenen Datenpunkt
//Variablen für Servicemeldung in Objekt schreiben // Wenn einer Meldung auftritt wird diese in ein Textfeld geschrieben. Auf dieses kann man dann reagieren //und z. B. die Nachricht per Telegram verschicken oder in vis anzeigen var write_message = true; // true schreibt beim auftreten einer Servicemeldung die Serviemeldung in ein Objekt var id_Text_Servicemeldung = 'a_andreas.0.eigene_dp.Servicemeldungen.Text';
Leider vermisse ich da die Uhrzeit "seit wann". Wo könnte ich denn die hernehmen?
- Alle aktuellen Servicemeldungen auflisten. Irgendwo in diesem Thread schreibst du, dass immer nur die letzte gefunde Meldung möglich ist (finde es gerade nicht). Was müßte ich anstellen um alle gerade aktuellen Servicemeldungen in diesem oder einem anderen Datenpunkt zur Verfügung zu haben?
Nochmals ganz lieben Dank für deine top Arbeit, ich würde das nie hinkriegen!
LG, mxa -
-
Zu1) weißt Du welcher Datenpunkt für Zustand unsicher verwendet wird?
Die Uhrzeit sollte der Zeitpunkt der Mail sein. Da die mail ja unmittelbar versendet wird. Ein andere Möglichkeit wäre natürlich das Script anzupassen. Ich gucke es mir mal an. Weiß aber nicht ob ich das umsetzen werden.
Der andere Punkt ist relativ problematisch, da das Script verschiedene Bereiche hat. Die aktuelle Meldung einfach dem Feld hinzuzufügen wäre leicht aber nur die anzeigen die aktuell sind ist halt schwer. Da fällt mir auch leider derzeit keine gute Lösung sein.
Was heißt 240er? Fixed ist für festeingebaute Batterien wie z. B. bei einigen Rauchmeldern...
-
Zu1) weißt Du welcher Datenpunkt für Zustand unsicher verwendet wird?
Die Uhrzeit sollte der Zeitpunkt der Mail sein. Da die mail ja unmittelbar versendet wird.
Nein. Ich lasse mir tagsüber alle 3 Std. eine Statusmail zuschicken. Temperaturen, Verschluss, etc und eben die gerade aktuellen Servicemeldungen. Spontane Beunruhigungsmeldungen mag ich weniger, kann in diesem Moment meist eh nix tun.
Der andere Punkt ist relativ problematisch, da das Script verschiedene Bereiche hat. Die aktuelle Meldung einfach dem Feld hinzuzufügen wäre leicht aber nur die anzeigen die aktuell sind ist halt schwer. Da fällt mir auch leider derzeit keine gute Lösung sein.
ok, schade. Aber danke!
LG, mxa
Edit:
@cash sagte in Servicemeldungen - All inclusive für Homematic -:
Was heißt 240er? Fixed ist für festeingebaute Batterien wie z. B. bei einigen Rauchmeldern...
Das sind dirket an 230/240VAC angeschlossene Aktoren, wären also bei "var ohne" richtig.
LG, mxa
-
Hallo,
ich habe das Script bei mir eingebaut. Ich habe auch einmal die Übersicht bekommen beim Testen. Nun ist aber nichts mehr im Log zu sehen. Wenn ich in einem Adapter den LOW_BAT-Alarm auf 1 stelle, passiert aber bei mir leider (noch) nichts. Ich habe Pushover getestet. Die Testnachricht aus dem Adapter geht raus.
Leider sehe ich jetzt im Log immer folgende Meldungen, wenn ich das Script neu starte:
Ich denke zumindest, dass das aus dem Script kommt.
Was mache ich da verkehrt?
Gruß
opossum -
@metaxa Beschäftigst Du Dich schon länger mit Hausautomation? Als ich neu war habe ich mir auch alle 3 Stunden eine Statusmail schicken lassen. Nach 2 Monaten habe ich es abgestellt. Es ändert sich ja wenn alles richtig läuft eh nichts...
Ich habe in der neuen Version eine neu Konfig geschaffen, die das Datum der Servicemeldung mit ausgibt.
Was Deine Tür anbelangt so handelt es sich dabei um keine Servicemeldung. Wenn Du nur eine Tür hast würde ich das auch anders lösen.
Einfach als Trigger den Datenpunkt bei Änderung und wenn Status = 3 dann Meldung oder so.... Ist eigentlich relativ einfach.
Als Beispiel habe ich einen Wassersensor dieser kann neben Feuchtigkeit und Wasser auch melden wenn er verschoben ist. Auch das ist natürlich keine Servicemeldung deshalb ich das in ein eigenes Script gepackt. Vom Aufbau ähnlich zu dem Servicemelde-Script da bei diesem Gerät die Chance bestäht das ich dort einmal mehr als ein Gerät habe.
-
@opossum wie sieht die Config denn aus?
Onetime. = true und ob observation = true?
Danach sollte Dein log deutlich anders aussehen. Wenn das beides auf false steht glaube ich nicht das dein Log vom Scipt kommt.
-
Hallo,
steht beides auf true.
-
Und das Script ist hinten in der Übersicht aller Scripte grün?
Es sollte zumindest sowas im log erscheinen:
script.js.common.ServiceTest: Es gibt: 2 Geräte mit dem Datenpunkt LOWBAT.
Alles was von dem Sctipt kommt beginnt vorne mit dem Scriptnamen. Im obigen Beispiel also ServiceTest im Ordner common.
-
Hallo,
sorry, Asche auf mein greises Haupt. das Script stand unter global. Umgebaut auf Common und es funktioniert, jetzt habe ich auch Anzeigen im Log:
Danke für deine Bemühungen, aber das Problem saß mal wieder vor dem Bildschirm .
Gruß
opossum -
Hauptsache es läuft. Beim PC sitzt das Problem eigentlich immer vor dem Bildschirm. Entweder der Anwender oder der Programmierer hat Mist gemacht
-
Hallo,
auch die Messages laufen ein, wenn man einen LOW_BAT mal auf 1 setzt. Super, vielen Dank für deine Arbeit.
Gruß
opossum