NEWS
Servicemeldungen - All inclusive für Homematic -
-
@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 -
Neue Version auf GitHub.
-
@cash
Schaut Gut aus.....21:38:40.028 info javascript.0 Stop script script.js.CCU2.Servicemeldungen_Homematic_Geraete 21:38:41.139 info javascript.0 Start javascript script.js.CCU2.Servicemeldungen_Homematic_Geraete 21:38:41.139 info javascript.0 script.js.CCU2.Servicemeldungen_Homematic_Geraete: Es gibt: 13 Geräte mit dem Datenpunkt LOWBAT. 21:38:41.139 info javascript.0 script.js.CCU2.Servicemeldungen_Homematic_Geraete: Keine Geräte gefunden mit dem Datenpunkt LOW_BAT. 21:38:41.139 info javascript.0 script.js.CCU2.Servicemeldungen_Homematic_Geraete: Es gibt: 15 Geräte mit dem Datenpunkt UNREACH. 21:38:41.139 info javascript.0 script.js.CCU2.Servicemeldungen_Homematic_Geraete: Es gibt: 14 Geräte mit dem Datenpunkt STICKY_UNREACH. 21:38:41.139 info javascript.0 script.js.CCU2.Servicemeldungen_Homematic_Geraete: Es gibt: 8 Geräte mit dem Datenpunkt CONFIG_PENDING. 21:38:41.139 info javascript.0 script.js.CCU2.Servicemeldungen_Homematic_Geraete: Es gibt: 6 Geräte mit dem Datenpunkt UPDATE_PENDING. 21:38:41.139 info javascript.0 script.js.CCU2.Servicemeldungen_Homematic_Geraete: Es gibt: 6 Geräte mit dem Datenpunkt DEVICE_IN_BOOTLOADER. 21:38:41.139 info javascript.0 script.js.CCU2.Servicemeldungen_Homematic_Geraete: Es gibt: 3 Geräte mit dem Datenpunkt ERROR. 21:38:41.139 info javascript.0 script.js.CCU2.Servicemeldungen_Homematic_Geraete: Es gibt: 1 Geräte mit dem Datenpunkt FAULT_REPORTING. 21:38:41.139 info javascript.0 script.js.CCU2.Servicemeldungen_Homematic_Geraete: Keine Geräte gefunden mit dem Datenpunkt SABOTAGE. 21:38:41.139 info javascript.0 script.js.CCU2.Servicemeldungen_Homematic_Geraete: Keine Geräte gefunden mit dem Datenpunkt ERROR_NON_FLAT_POSITIONING. 21:38:41.139 info javascript.0 script.js.CCU2.Servicemeldungen_Homematic_Geraete: registered 66 subscriptions and 0 schedules
-
Hätte noch einen Batterietyp.
javascript.0 2019-02-26 21:47:17.233 info script.js.common.Homematic.Servicemeldungen: registered 481 subscriptions and 0 schedules javascript.0 2019-02-26 21:47:17.233 info script.js.common.Homematic.Servicemeldungen: Keine Geräte gefunden mit dem Datenpunkt ERROR_NON_FLAT_POSITIONING. javascript.0 2019-02-26 21:47:17.232 info script.js.common.Homematic.Servicemeldungen: Es gibt: 13 Geräte mit dem Datenpunkt SABOTAGE. javascript.0 2019-02-26 21:47:17.226 info script.js.common.Homematic.Servicemeldungen: Es gibt: 5 Geräte mit dem Datenpunkt FAULT_REPORTING. javascript.0 2019-02-26 21:47:17.221 info script.js.common.Homematic.Servicemeldungen: Es gibt: 12 Geräte mit dem Datenpunkt ERROR. javascript.0 2019-02-26 21:47:17.216 info script.js.common.Homematic.Servicemeldungen: Es gibt: 50 Geräte mit dem Datenpunkt DEVICE_IN_BOOTLOADER. javascript.0 2019-02-26 21:47:17.202 info script.js.common.Homematic.Servicemeldungen: Es gibt: 70 Geräte mit dem Datenpunkt UPDATE_PENDING. javascript.0 2019-02-26 21:47:17.185 info script.js.common.Homematic.Servicemeldungen: Es gibt: 91 Geräte mit dem Datenpunkt CONFIG_PENDING. javascript.0 2019-02-26 21:47:17.162 info script.js.common.Homematic.Servicemeldungen: Es gibt: 73 Geräte mit dem Datenpunkt STICKY_UNREACH. javascript.0 2019-02-26 21:47:17.142 info script.js.common.Homematic.Servicemeldungen: Es gibt: 93 Geräte mit dem Datenpunkt UNREACH. javascript.0 2019-02-26 21:47:17.120 info script.js.common.Homematic.Servicemeldungen: Es gibt: 15 Geräte mit dem Datenpunkt LOW_BAT. javascript.0 2019-02-26 21:47:17.117 info script.js.common.Homematic.Servicemeldungen: Bitte melden: Licht TV (00105709A24040) --- HmIP-PCBS-BAT --- Batterietyp fehlt im Script javascript.0 2019-02-26 21:47:17.109 info script.js.common.Homematic.Servicemeldungen: Es gibt: 59 Geräte mit dem Datenpunkt LOWBAT.
Grüße
-
@cash sagte in Servicemeldungen - All inclusive für Homematic -:
Neue Version auf GitHub.
Hallo, kann man auch eine Nachricht per E-Mail erhalten?
-
Batterie baue ich ein.
Wie kann man denn emails versenden? Gibt es Adapter dafür. Gibt es ein Mustescript wo ich den Befehl sehen kann?
-
@cash sagte in Servicemeldungen - All inclusive für Homematic -:
Batterie baue ich ein.
Wie kann man denn emails versenden? Gibt es Adapter dafür. Gibt es ein Mustescript wo ich den Befehl sehen kann?
Beispiel vom Badfenster:
on({id: "hm-rpc.1.xxxxxxxxx.1.STATE", change: "ne"}, function (obj) { var value = obj.state.val; if ( value === true ) { sendTo("email", "Badfenster wurde geöffnet"); } else { sendTo("email", "Badfenster wurde geschlossen"); } });