NEWS
Servicemeldungen - All inclusive für Homematic -
-
@cash Mit dem letzten Firmware Update der Raspberrymatic wurde ein Watchdog eingeführt, welcher Probleme als Alarmmeldung ausgiebt. Wäre es dir möglich diese Meldungen auch mit in dein Script aufzunehmen und auszugeben?
-
@Knallochse Habe ich mitbekommen aber so lange es keinen eindeutigen Datenpunkt gibt kann ich nichts implementieren. Wenn ich das richtig verstanden habe informiet der Watchdog über Abstürze? Wie macht er das? Einfach nur eine Systemmeldung? Auf den allg. Datenpunkt kann ich nicht abfragen wieil dort alles gemeldet wird. Gibt es seit den Update einen neuen Datenpunkt im Regadapter?
-
@cash Hallo
Sorry komme gerade erst dazu zu antworten.
Es wird in der CCU eine Systemvariable mit dem Namen WatchDog-Alarm angelegt, welche den Alarm ("DPInfo": "No internet connection detected",) ablegt.Ich hoffe das hilft weiter
-
@Knallochse ich bin da unentschlossen. Solange dort der Weg nicht klar erkennbar ist werde ich da nichts machen. Wenn ich es richtig mitbekommen haben gibt es dort ja die Möglichkeit sich per mail-addon informieren zu lassen. Und ich denke Jens wird dort in den nächsten Versionen noch einiges korrigieren und verbessern. Ich behalte es also erstmal nur im Auge.
@All Ich hatte Ende letztes Monats um Unterstüzung gebeten zum testen. Die Resonanz war ja leider nicht so richtig groß.
Ich habe das Script nun auf GitHub veröffentlicht (als Servicemeldung beta.js). Ich bitte Euch es zusätzlich zu nutzen. Alle Konfiguration Einstellungen können so bleiben. Außer die pushover Instanzen (sofern Pushover genutzt werden soll) bzw ggf. mail und telegram anpassen. Damit Ihr auch mitkriegt wenn eine Meldung auftaucht.
Einfach mal nebenher laufen lassen. Ich benötige das Log wenn Meldungen auftauchen. Die Infos beim Starten vom Script sind nicht so relevant. Außer Ihr habt dort irgendwelche Merkwürdigkeiten. Ich habe das Script so umgeschrieben das Nachrichten zusammen gefasst werden können und teilweise werden. Leider (bzw zum Glück) hatte ich die letzten 2 Wochen nicht eine Servicemeldung so das ich eben Eure Hilfe brauche.
In dieser Version werden keine Objekte beschrieben deshalb braucht Ihr in der Konfiguration dort auch nichts ändern. In dieser Version werden auch noch nicht alle Meldungen überwacht. Aber zumindest so viele das die Chance besteht das man mehrere gleichzeitig haben kann.
Insgesamt habe ich sehr viel am Script verändert. Bei meinen Test läuft das Script aber schonmal sehr gut. Jetzt seit Ihr dran. Ihr müsst natürlich nicht...
-
@cash Hallo cash, kannst du es noch um dieses Gerät erweitern.
19:49:58.661 info javascript.0 script.js.common.Homematic.Servicemeldung_test: Bitte melden: Riegelkontakt Eingang (001E1A498B63E9) --- HmIP-SCI --- Batterietyp fehlt im Script
Grüße Homer.J.
-
werde ich in der nächsten Version ergänzen
-
Ich habe auf GitHub die aktuelle Beta Version hochgeladen. Mittlerweile sollte das meiste funktionieren. Servicemeldungen die zusammen auftreten werden nun auch zusammen gemeldet oder in einen Datenpunkt geschrieben.
Fehlen tut nur noch ein paar write_states für bestimmte Servicemeldungen.
Ein Fehler hat das Script aber auch noch: Wenn z. B. eine Unreach-Meldung kommt und danach die Sticky Unreach (wie bei normalen Homematic-Geräten üblich) werden die Meldungen zu einer zusammen gefaßt. Soweit so gut. Durch die Sticky_Unreach wird aber die Unreach erledigt somit existiert in dem Augenblick nur eine Servicemeldung und genau die wird erneut gemeldet. Bis her habe ich noch keine Möglichkeit gefunden die zu unterdrücken.
-
Hallo cash!
Lieben Dank für deinen enormen Aufwand!
Leider habe ich paar Fehlermeldungen sobald ich das Script v1.31 bei mir einspiele:
lt. meinen JS Adapter fehlte de Defintion von "datum_neu", konnte ich beheben mit:
Hierbei stehe ich jedoch an:
Die eigenen Datenpunkte sind ident wie in deiner Scriptversion v1.19 die ich bis jetzt laufen hatte.Wo könnte ich (m)einen Fehler finden?
LG, mxa -
@metaxa das datum_neu ist ein Fehler. Die Variable gab es früher einmal. Richtig muss es datum_seit heißen (also einfach ersetzen und das var xxx wieder entfernen). Wie kommst Du darauf das die Zeile 473 und 476 fehlerhaft sind? Nur weil der Javascript Adapter etwas rot anzeigt? Ich bin der Meinung, dass dort der Adapter irrt. Im log wirst Du dazu keinen Fehler finden.
Werde Heute oder Morgen eine neue Version hochladen wo der Fehler mit datum_neu berichtigt wurde.
Danke fürs melden.
-
@cash sagte in Servicemeldungen - All inclusive für Homematic -:
Alchy aus dem Homematic Forum
Hallo, bin noch am Anfang mit iobroker Wie binde ich dieses Script ein? Habe bisher immer mit Blockly gearbeitet. Statt Blockly nehme ich ja den Javascript import, aber es sind ja mehrer Dateien?! Danke schon einmal.
-
@marcbroe sagte in Servicemeldungen - All inclusive für Homematic -:
Statt Blockly nehme ich ja den Javascript import,
Nein, neues JS Skript anlegen, dann das Skript einfügen, anpassen, speichern , starten.
aber es sind ja mehrer Dateien
Nein, nimm die neue Beta Version. Anklicken, Alles Kopieren und im Neuen JS Script einfügen
-
@cash sagte in Servicemeldungen - All inclusive für Homematic -:
Wie kommst Du darauf das die Zeile 473 und 476 fehlerhaft sind?
Ich maße mir in keinsten Fall an, Fehler da oder dort zuzuweisen. Habe keine Ahnung von JS, von daher habe ich mich nur an die rote Anzeige rechts gehalten. Ja es stimmt, keine Fehlermeldung im Log.
Zur Zeit habe ich auch keine Servicemeldungen, was mir auch recht ist
LG, mxa
-
Habe gerade die aktuelle Beta hochgeladen. Vom Funktionsumfang jetzt identisch mit der alten Version.
Ich habe dort einen Log eingebaut bei doppelten Meldungen von unreach und sticky_unreach. Falls jemand eine Meldung bekommt bitte bei mir melden.
@metaxa War nicht böse gemeint. Ich bin auch kein javascript Profi...
-
Hatte heute zufällig mal wieder unreach-Meldungen. Leider funktioniert meine Idee noch nicht so ganz.
Also gibt es eine neue Beta-Version auf GitHub mit etwas mehr log-Einträgen damit ich hoffentlich das Problem finde.
-
Es gibt es neue Version (als Beta). Ich hoffe die letzte. Wenn ich mich nicht täusche sollten ab jetzt doppelte Meldungen unterdrückt werden.
-
Hallo cash,
wollte so was Ähnliches auch programmieren und habe bei der Suche dein Script entdeckt.
Bin echt begeistert davon und du hast mir bestimmt viel Arbeit erspart.
Meine Frau wird es dir auch dankenHabe die Version 1.36 am laufen und funktioniert so weit ganz gut.
Jetzt habe ich noch eine Frage zu meinem Verständnis und hoffe, dass zu Zeit hast zu antworten.- Bewirkt die Constante "autoAck" dasselbe wie die Einstellung in der Benutzerverwaltung der CCU "Automatische
Bestätigung der Servicemeldung Gerätekommunikation war gestört" ? Oder ist damit noch was anderes realisiert ?
Werde jetzt erst mal dein Script durchgehen,
bevor ich noch weiter Fragen stelle, das meiste wird sich dann wahrscheinlich von selbst beantworten.Gruß Arno
- Bewirkt die Constante "autoAck" dasselbe wie die Einstellung in der Benutzerverwaltung der CCU "Automatische
-
Hallo cash,
habe jetzt noch eine Frage
Mir ist aufgefallen, dass du in deinem Script die ID STICKY_UNREACH_ALARM auswertest. Hat das einen bestimmten Grund ? Die STICKY_UNREACH_ALARM zeigt eigentlich nur das eine Kommunikationsstörung Vorlag und sagt nichts über die aktuelle Störung der CCU aus. Bei den HMIP Geräten gibt es diesen Datenpunkt bereits nicht mehr, da sinnfrei.
Ich erhalte doppelte Pushover Meldungen, die von der ID STICKY_UNREACH_ALARM ausgelöst werden, da diese nur verzögert von der Rega quittiert werden also bereits nicht mehr aktuell sind. Wenn ich bei mir diesen Teil deines Scripts auskommentiere, bekomme ich nur die aktuellen Störungen gemeldet.
Wolltest du damit eine Quittiermeldung über Pushover realisieren ?Sorry das ich so viel nachfrage.
-
@ArnoD ob der Paramter das gleiche bewirkt weiß ich nicht 100% klingt zumindest so? Wenn ich mich nicht täusche gibt es die Option nur beim raspberrymatic...
Also bei IP Geräten gibt es keinen Sticky-Unreach das ist richtig. Ich möchte die Meldung auf jeden Fall haben, denn sie sagt das es eine Kommunikationsstörung gab die man nun mit dem Paramter autoACK erledigen kann.
Früher wollte man eigentlich schon wissen wieviel Kommunikationsstörungen hat meine ccu denn und wieviele erledigen sich von ganz alleine.
Sinn des Scripts ist es halt jede Servicemeldung zu pushen.
In meiner aktuellen Version (ich glaube 1.43) werden doppelte Meldungen rausgefiltert. Werde die Version heute Abend oder am Wochenende hochladen. Habe in der Version aber immer noch kleine ungereimtheiten. Ich bekomme leider nicht regelmäßig Servicemeldungen, so dass das Fehler finden nicht so einfach ist
Du kannst natürlich den Teil löschen oder auskommentieren. Einfacher geht es wenn Du ganz unten bei if(obervation) die drei Zeilen mit Sticky_Unreach auskommentierst.
Du kannst das Script jederzeit Deinen Bedürfnissen anpassen.
-
@cash danke für deine schnelle Antwort und für die neue Version 1.43
@cash said in Servicemeldungen - All inclusive für Homematic -:
@ArnoD ob der Paramter das gleiche bewirkt weiß ich nicht 100% klingt zumindest so? Wenn ich mich nicht täusche gibt es die Option nur beim raspberrymatic...
Ok wieder was gelernt, wuste nicht das diese Option nur bei der raspberrymatic vorhanden ist.
Habe heute die neue Version 1.43 am laufen und bin gerade wieder am testen.
Einen Fehler habe ich finden können, allerdings nicht im Script sondern in der automatischen Quittierfunktion der Raspberrymatic. Wenn ein Teilnehmer nicht mehr erreichbar ist wird die Störung automatisch quittiert und STICKY_UNREACH_ALARM auf 2 gesetzt obwohl die Störung immer noch besteht und eigentlich nicht quittiert werden kann, UNREACH bleibt auf true. Nach etwa 60 sek. wird STICKY_UNREACH_ALARM wieder auf 1 gesetzt. Das hat zur Folge das eine weitere Push Nachricht verschickt wird.
Das sieht dann so aus:
Ist aber eher ein Thema für Jens Maus
Ist es eigentlich gewollt das beide Meldungstexte verschickt werden? Also die Störung und das es sich um eine quttierbare Störung handelt.
Wenn es dir hilft bin ich immer gerne bereit zu testen, habe mehrer RF HMIP und Wired Geräte im Einsatz.
-
Hallo cash,
ich habe mal eine Frage zu deinem Script: Du verwendest bei den Push-Funktionen eine Variable messgae. Weiter unten im Script wird eine Variable message benutzt. Als temporäre Variablen nutzt du messgae_temp.Ist das so beabsichtichtigt? Oder verstehe ich deinen Code nicht (bin Anfänger