NEWS
Servicemeldungen - All inclusive für Homematic -
-
@dominik-f sagte in Servicemeldungen - All inclusive für Homematic -:
Unter latest / Beta findest du bereits Version 4.10.14
Wenn ich bei "aktiver Verwahrungsort" auf Beta (latest) umstelle, sehe ich keine andere Javascript-Adapter Version als die 4.8.4.
Ich habe als Quelle diesen Pfad: http://download.iobroker.net/sources-dist-latest.json
Ist der nicht richtig? -
@röstkartoffel sagte in Servicemeldungen - All inclusive für Homematic -:
Ist der nicht richtig?
Ja ist richtig .
Nimm mal diese
http://iobroker.live/repo/sources-dist-latest.json
-
@glasfaser sagte in Servicemeldungen - All inclusive für Homematic -:
Danke. Jetzt kann ich die Version 4.10.14 sehen.
Ich nutze erst einmal die Servicemeldungsversion 1.70, ich weiß nicht, ob ich wirklich den JS-Adapter auf die Beta updaten will. -
@röstkartoffel wo finde ich Version 1.70?
Vll. läuft die Version bei mir auch besser.
Bin beim JavaScript Adapter auch eher vorsichtig und installiere nur stable Versionen
-
//Ab hier eigentliches Script const SelectorLOWBAT = $('channel[state.id=hm-rpc.*.0.LOWBAT_ALARM$]'); const SelectorLOW_BAT = $('channel[state.id=hm-rpc.*.0.LOW_BAT_ALARM$]'); const SelectorUNREACH = $('channel[state.id=hm-rpc.*.0.UNREACH_ALARM$]'); const SelectorSTICKY_UNREACH = $('channel[state.id=hm-rpc.*.0.STICKY_UNREACH_ALARM$]'); const SelectorCONFIG_PENDING = $('channel[state.id=hm-rpc.*.0.CONFIG_PENDING_ALARM$]'); const SelectorUPDATE_PENDING = $('channel[state.id=hm-rpc.*.0.UPDATE_PENDING_ALARM$]'); const SelectorDEVICE_IN_BOOTLOADER = $('channel[state.id=hm-rpc.*.0.DEVICE_IN_BOOTLOADER_ALARM$]'); const SelectorERROR = $('channel[state.id=hm-rpc.*.1.ERROR$]'); const SelectorERROR_CODE = $('channel[state.id=hm-rpc.*.ERROR_CODE$]'); const SelectorFAULT_REPORTING = $('channel[state.id=hm-rpc.*.4.FAULT_REPORTING$]'); const SelectorSABOTAGE = $('channel[state.id=hm-rpc.*.0.SABOTAGE_ALARM$]'); const SelectorERROR_NON_FLAT_POSITIONING = $('channel[state.id=hm-rpc.*.0.ERROR_NON_FLAT_POSITIONING_ALARM$]');
Nehmt die aktuelle Version und ersetzt den Teil im Script. Sollte um die Zeile 170 vermutlich sein. Einfach nach Selector suchen. Wenn ich mich nicht täusche ist der einzige Unterschied das $ am Ende jeder Zeile. Das muss mit dem Beta Adapter raus und mit dem Stable rein.
-
hab das Script vor 2 Tagen gefunden und installiert. Super ! Läuft sehr gut. Danke für die klasse Arbeit!
In der Version 1.80 wird der DP id_IST_Gesamt nicht geschrieben.
Im Script wird an 3 (Zeile 587, 1967, 2129) Stellen abgefragt, ob der DP existiert, hier hat sich wohl bei der letzten Änderung ein Bug eingeschlichen:
alt: if(existsState(id_IST_Gesamt)) --> richtig: if(! existsState(id_IST_Gesamt))Für den Garagentortaster/Schaltaktor HmIP-WGC fehlt der Batterietyp, es sind 2xLR6/AA.
Und noch eine Frage. Lassen sich die Push-Nachrichten auch an den Signal Messenger senden?
-
Werde ich mir beides angucken. Was ist denn der Signal Messenger?
-
@cash Signal ist ähnlich wie Whatsapp jedoch ohne FB im Hintergrund.
Es gibt dazu schon Diskussionen aber wohl noch keine Lösungen. Vielleicht muss man dazu noch etwas warten.
https://forum.iobroker.net/topic/31675/iobroker-und-signal-messenger?_=1612105438984 -
@odyseus Habe die Änderungen eingepflegt. Für den Messenger sollte dann mal jemand einen Adapter basteln danach kann man darüber nachdenken.
-
@cash habe den Teil aus Version 1.70 eingefügt.
Es sieht auf jeden Fall schon besser aus:
Bleiben noch zwei Fragen:
- Kann ich die Seriennummer enfernen, sodass nur der Gerätename und der Fehler angezeigt wird?
- Die Anzahl der Meldungen ist 0 und nicht 3
const id_IST_Gesamt = "javascript.0.HM-Servicemeldungen.Anzahl"/*Anzahl_GESAMT*/;
-
@kuddel Bitte aktuelle Version nutzen und wieder die Sachen ändern. Anzahl der Meldungen war ein Fehler enthalten.
Die Seriennummer kannst Du entfernen. Habe ich hier im Thread schon einmal geschrieben. Bitte mal selber suchen
-
@cash ich habe Version 1.80 kopiert und dort wie von dir Vorgeschlagen Zeile 172 bis 184 ausgetauscht. Damit funktioniert die Anzeige.
In wie weit ich damit die Berechnung der Anzahl verändert habe, kann ich natürlich nicht beurteilen.
Bzgl. der Seriennummer schaue ich mal. Danke für den Hinweis.
EDIT:
[DEBUG] Feld id_IST_Gesamt nicht ausgewählt
const id_IST_Gesamt = 'javascript.0.HM-Servicemeldungen.Anzahl_Gesamt';
-
Moin,
ich hab die neue Version 1.82 drauf. Habe alle Geräte neu eingelesen im Homematic Adapter und bekomme folgenden Meldungen nach dem Start des Sripts
javascript.1 2021-02-02 10:47:14.199 error (12724) at Script.runInContext (vm.js:130:18) javascript.1 2021-02-02 10:47:14.199 error (12724) at script.js.CCU_Servicemeldungen:2193:3 javascript.1 2021-02-02 10:47:14.199 error (12724) at script.js.CCU_Servicemeldungen:2190:5 javascript.1 2021-02-02 10:47:14.199 error (12724) at Servicemeldung (script.js.CCU_Servicemeldungen:1738:28) javascript.1 2021-02-02 10:47:14.199 error (12724) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:801:29) javascript.1 2021-02-02 10:47:14.198 error (12724) at script.js.CCU_Servicemeldungen:1739:74 javascript.1 2021-02-02 10:47:14.197 error (12724) script.js.CCU_Servicemeldungen: TypeError: Cannot read property 'common' of null javascript.1 2021-02-02 10:47:14.192 info (12724) script.js.CCU_Servicemeldungen: registered 200 subscriptions and 0 schedules javascript.1 2021-02-02 10:47:14.191 warn (12724) Object "hm-rpc.0.OEQ1829176" does not exist javascript.1 2021-02-02 10:47:14.189 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 14 Geräte mit dem Datenpunkt DEVICE_IN_BOOTLOADER. javascript.1 2021-02-02 10:47:14.186 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 5 Geräte mit dem Datenpunkt FAULT_REPORTING. javascript.1 2021-02-02 10:47:14.184 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 1 Geräte mit dem Datenpunkt ERROR_NON_FLAT_POSITIONING. javascript.1 2021-02-02 10:47:14.183 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 3 Geräte mit dem Datenpunkt ERROR. javascript.1 2021-02-02 10:47:14.181 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 5 Geräte mit dem Datenpunkt SABOTAGE. javascript.1 2021-02-02 10:47:14.179 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 7 Geräte mit dem Datenpunkt STICKY_UNREACH_ALARM. Derzeit: 1 Servicemeldung(en). javascript.1 2021-02-02 10:47:14.179 warn (12724) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.OEQ1829176.0.STICKY_UNREACH_ALARM existiert nicht. javascript.1 2021-02-02 10:47:14.176 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 7 Geräte mit dem Datenpunkt UNREACH_ALARM. Derzeit: 1 Servicemeldung(en). javascript.1 2021-02-02 10:47:14.175 warn (12724) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.OEQ1829176.0.UNREACH_ALARM existiert nicht. javascript.1 2021-02-02 10:47:14.173 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 17 Geräte mit dem Datenpunkt LOW_BAT. javascript.1 2021-02-02 10:47:14.166 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 6 Geräte mit dem Datenpunkt LOWBAT. javascript.1 2021-02-02 10:47:14.166 warn (12724) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.OEQ1829176.0.LOWBAT_ALARM existiert nicht. javascript.1 2021-02-02 10:47:14.161 info (12724) script.js.CCU_Servicemeldungen: Script manuell gestartet. (Version: 1.82) javascript.1 2021-02-02 10:47:10.953 info (12724) Start javascript script.js.CCU_Servicemeldungen
Das komische ist, diese Geräte hm-rpc.0.OEQ1829176 zB gibt es gar nicht bei mir in hm-rpc.0 .
Übersehe ich da etwas? -
@cash hatte nicht gesehen, dass schon Version 1.82 gibt.
Habe das Skript jetzt genommen, alle meine DPs hinterlegt und den Block aus Version 1.70 genommen.
Jetzt funktioniert alles.
Vielen Dank an dieser Stelle für deine Arbeit und dein Skript.
-
@nordischerjung Bitte mal in dem Thread etwas zurück lesen da stehen lösungeswege.
Das Problem ist Deine Installation. Ggf. Neustarten gucken ob es geht. Alle entsprechenden Adapter stoppen incl Javascript. Alle Objekte der Adapter löschen und wieder starten. Danach sollte es spätestens gehen. -
Erstmal vielen Dank für das klasse Script. Leider klappt das mit der prio Steuerung aber nicht.
Wenn ich z.B. Sabotage auf 2 stelle dann erhalte ich es trotzdem auf prio 0.
ich habe 4 pushover Instanzen und die dementsprechend konfiguriert.
Wenn ich den Part send_pushover die pushover_instanz auf die für prio 2 stelle dann gehts.Irgendwo ist da noch n Fehler
-
@prinzeisenherz1 Was steht in Deinen Script in den Zeilen 119-129 und in 141?
Er nimmt automatisch die höchste Prio aus diesen Einstellungen
-
@cash Sorry für die Späte Anwort
Also in Zeile 119-129 stehtconst prio_LOWBAT = 1; const prio_UNREACH = 0; const prio_STICKY_UNREACH = 0; const prio_CONFIG_PENDING = 0; const prio_UPDATE_PENDING = 0; const prio_DEVICE_IN_BOOTLOADER = 0; const prio_ERROR = 0; const prio_ERROR_CODE = 0; const prio_FAULT_REPORTING = 0; const prio_SABOTAGE= 2; const prio_ERROR_NON_FLAT_POSITIONING = 0;
und in Zeile 141 steht
let h_prio = -2; //nicht verändern die höchste Prio nach Fehlertyp wird verwendet
-
@prinzeisenherz1 Wieviel Datenpunkte hast Du denn mit Sabotage? Stell mal den Error auf 2 und erstell dann eine Sabotage
-
@cash geht leider nicht. Wird mir immer an die erste Instanz geschickt (Priorität 0).
Ich habe das mit einem Drehgriffsensor getestet.
Im Log kommt dann folgende Meldungscript.js.Service.Servicemeldungen_all: Neue Servicemeldung: (LEQ0629432) --- HM-Sec-RHS--- Typ: ERROR --- Status: 7 Sabotage
Also Sabotage wird erkannt. Ich habe im Bereich send_pushover mal ein log miteingebaut undda bekommt er die Priorität 0 zugeteilt.
function send_pushover (device, message, titel, prio) { log('Priorität : '+prio) //Version V4.01 vom 10.04.19 let pushover_Instanz; if (prio === 0){pushover_Instanz = pushover_Instanz0;} else if (prio == 1){pushover_Instanz = pushover_Instanz1;} else if (prio == 2){pushover_Instanz = pushover_Instanz2;} else {pushover_Instanz = pushover_Instanz3;} sendTo(pushover_Instanz, { device: device, message: message, title: titel, priority: prio, retry: 60, expire: 600, html: 1 }); }
script.js.Service.Servicemeldungen_all: Priorität : 0
Er müsste doch eigentlich prio 2 erhalten