NEWS
Servicemeldungen - All inclusive für Homematic -
-
@cash sagte in Servicemeldungen - All inclusive für Homematic -:
@nik82 Mit der Javascript Instanz verstehe ich eigentlich auch nicht. Reboot sollte das gleiche sein.
Wichtig ist nur wenn man ein neues Homematic Gerät bekommt muss nachdem die Homematic Instanzen neu gestartet wurden und dadurch das neue Gerät in ioBroker bekannt ist auch die Javascript Instanz neu gestartet werden. Damit das Script anschließend das Gerät mit überwacht.
Ja reboot wurde vor der Datenpunkt löschung gemacht.
Danke für den Tip und danke für deine Hilfe:-) -
Hallo
Ich versuche gerade das script zum Laufen zu brigen, leider ohne Erfolg.
Hier die Fehlermeldung im Logjavascript.0 2020-05-16 19:13:23.690 error (26107) at Script.runInContext (vm.js:133:20) javascript.0 2020-05-16 19:13:23.690 error (26107) at script.js.Service.Meldungen:2073:5 javascript.0 2020-05-16 19:13:23.690 error (26107) at Servicemeldung (script.js.Service.Meldungen:716:21) javascript.0 2020-05-16 19:13:23.690 error (26107) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:796:29) javascript.0 2020-05-16 19:13:23.690 error (26107) at script.js.Service.Meldungen:717:74 javascript.0 2020-05-16 19:13:23.690 error (26107) TypeError: Cannot read property 'common' of null javascript.0 2020-05-16 19:13:23.690 error (26107) ^ javascript.0 2020-05-16 19:13:23.690 error (26107) common_name = getObject(id.substring(0, id.lastIndexOf('.') - 2)).common.name; javascript.0 2020-05-16 19:13:23.690 error (26107) script.js.Service.Meldungen: script.js.Service.Meldungen:717 javascript.0 2020-05-16 19:13:23.689 warn (26107) Object "hm-rpc.0.001559939631D4" does not exist javascript.0 2020-05-16 19:13:23.688 info (26107) script.js.Service.Meldungen: Es gibt: 33 Geräte mit dem Datenpunkt LOWBAT_ALARM. Derzeit: 2 Servicemeldung(en). javascript.0 2020-05-16 19:13:23.680 info (26107) script.js.Service.Meldungen: Script manuell gestartet. log_manuell ist deshalb true. javascript.0 2020-05-16 19:13:23.277 info (26107) Start javascript script.js.Service.Meldungen
Was habe ich falsch gemacht?
Volker -
@Knusterus said in Servicemeldungen - All inclusive für Homematic -:
Object "hm-rpc.0.001559939631D4" does not exist
Deine Daten sind nicht sauber....
-
@cash
Ok klär mich doch bitte mal auf ,was ich einstellen muß ,irgendwie steh ich auf dem Schlauch. -
Hast Du die Fehlermeldung gelesen? Was ist das für ein Gerät. Ist das noch unter den Objekten? Ggf. mal die Javascript Instanz neu starten falls Du das Gerät nicht mehr hast
-
@cash said in Servicemeldungen - All inclusive für Homematic -:
Hast Du die Fehlermeldung gelesen? Was ist das für ein Gerät. Ist das noch unter den Objekten? Ggf. mal die Javascript Instanz neu starten falls Du das Gerät nicht mehr hast
Das sind 4 Homematic IP Tür und Fensterkontakte. Was soll ich mit den tun??
-
wie 4? Das ist doch nur ein Gerät? Das Script kann es nicht finden. Was nutzt Du? Nur Hmip oder auch normale? Nutzt Du cuxd? Wieviele Instanzen sind installiert? Wo in den Objekten ist das Gerät? Sind die Instanzen richtig konfiguriert?
-
Das sind aber viele Fragen, Also cuxd nutze ich nicht, sonst nur Homematicgeräte , und halt die 4 HomematicIP Tür und Fenstermelder die sind allerdings nicht so interessant. Die habe ich jetzt hier
//Geräte die nicht überwacht werden sollen. Komma getrennt erfassen const no_observation = 'hm-rpc.0.001559939631D4, hm-rpc.0.0015599396327B, hm-rpc.0.00155993963915, hm-rpc.0.0017D709AE3153';
eingetragen, die Fehlermeldung bleibt aber.
Die Geräte sind hier
Was habe ich falsch gemacht?
-
Wenn Du die Geräte oben einträgst ändert das nichts. Ist auch logisch ein Fehler bleibt ein Fehler. In Deinem Fall sind die hmip Geräte in der Instanz für die normalen Homematic Geräte das darf nicht sein. Die also auf jeden Fall dort löschen. Sind die Geräte in der zweiten Instanz auch zu finden? Wenn Du die Geräte dort gelöscht hast auf jeden Fall danach mal die Rega-Instanz und alle Homematic Instanzen neu starten danach die Java Instanz auch neu starten.
-
So ich habe mir jetzt noch eine 2 hm-rpc Instanz für Homematic IP
angelegt und schon ist der Fehler weg und das Script läuft ohne Fehler durch. Prima Danke für den Denkanstoß!!!
Eine Frage habe ich aber noch ,welches Widget nutzt man für die Anzeige??
-
Dazu kann ich nichts sagen. Ich lasse mir nichts anzeigen. Mir reichen die Push. Bei mir ständ aber auch eigentlich sonst immer nur „0 Servicemeldungen“. Das muss ich nicht sehen...
-
Ok danke erstmal für deine Hilfe , Ich bin schon mal froh das das Script läuft.
Dann frag ich mal in die Runde, welches Widget nutzt Ihr zur Anzeige??
Volker
-
Ich nutze das MD CSS von Uhula und sein Skript/Widget dafür:
https://github.com/Uhula/ioBroker-Material-Design-Style/tree/master/templates/MduiLogHM -
@Dominik-F
Danke für die Info aber so kompliziert brauche ich es nicht .
@all
Ich habe schon mehrere Widgets getestet aber so richtig schön ist es nicht
Schön wäre wenn jedes Gerät in einer Zeile untereinander aufgeführt wäre,das würde mir schon reichen.
Wie kann ich das realisieren.
Volker -
Mit einen Script könnte man den String umwandeln oder im Script selber das Komma ersetzen durch <br> wobei die erste Variante die saubere wäre...
-
@cash
Davon habe ich leider keine Ahnung, könntest Du mir da bitte helfen, wo ich das Komma ersetzten soll. -
Hallo zusammen,
bin gerade auf dieses super Script aufmerksam geworden.
Versuche so viele Programme von der CCU in iobroker einzubinden, wie möglich, damit ich die CCU ein wenig entlasten kann.In iobroker habe ich drei Instanzen von hm-rpc laufen.
hm-rpc.0 -> normale Homatic Geräte
hm-rpc.1 -> virtuelle CUXD Geräte
hm-rpc.2 -> IP Geräte.leider lässt sich das Script nicht sarten.
im Log habe ich folgende Fehlermeldungen:
const Version = 1.71; const logging = true; //Sollte immer auf true stehen. Bei false wird garnicht protokolliert const debugging = false; //true protokolliert viele zusätzliche Infos const find_bug = false; //erhöht das Logging wird nur verwendet wenn ein aktulles Bug gesucht wird const show_each_device = false; //zeigt alle verfügbaren Datenpunkte je Device const autoAck = true; //Löschen bestätigbarer Kommunikationsstörungen (true = an, false = aus) const observation = true; //Dauerhafte Überwachung der Geräte auf Servicemeldungen aktiv (true = aktiv // false =inaktiv) const onetime = true; //Prüft beim Script Start ob derzeit Geräte eine Servicemeldung haben const with_time = false; //Hängt die Uhrzeit an die Serviemeldung //Geräte die nicht überwacht werden sollen. Komma getrennt erfassen const no_observation = 'LEQ092862x9, XXX'; //Instanz Cuxd ausschließen. Instanz als Zahl z. B. '1' oder bei Nichtnutzung hohe Nr eintragen z. B. '9' const CUXD = '99'; //pro Fehlertyp kann eine andere Prio genutzt werden const prio_LOWBAT = 0; 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= 0; const prio_ERROR_NON_FLAT_POSITIONING = 0; //Variablen für Servicemeldung in Objekt schreiben // Wenn einer Meldung auftritt wird diese in ein Textfeld geschrieben. z. B. für vis const write_message = false; // true schreibt beim auftreten einer Servicemeldung die Serviemeldung in ein Objekt const id_Text_Servicemeldung = ''; // Objekt wo die Servicemeldung hingeschrieben werden soll (String) //Variablen für Pushover const sendpush = false; //true = verschickt per Pushover Nachrchten // false = Pushover wird nicht benutzt const pushover_Instanz0 = 'pushover.0'; // Pushover instance für Pio = 0 const pushover_Instanz1 = 'pushover.1'; // Pushover instance für Pio = 1 const pushover_Instanz2 = 'pushover.2'; // Pushover instance für Pio = 2 const pushover_Instanz3 = 'pushover.3'; // Pushover instance für Pio = -1 oder -2 let h_prio = -2; //nicht verändern die höchste Prio nach Fehlertyp wird verwendet let titel; let message; let device = 'TPhone'; //Welches Gerät soll die Nachricht bekommen //let _device = 'All'; //Variablen für Telegram const sendtelegram = false; //true = verschickt per Telegram Nachrchten // false = Telegram wird nicht benutzt const user_telegram = ''; //User der die Nachricht bekommen soll //Variable zum verschicken der Servicemeldungen per eMail const sendmail = false; //true = verschickt per email Nachrchten // false = email wird nicht benutzt //Ergebnis in Datenfelder schreiben const write_state = true; //Schreibt die Ergebnisse der Servicemeldungen in Datenfelder. (true = schreiben, false, kein schreiben)
Habe ich etwas übersehen?
Danke!
-
Du solltest auch nochmal Deine Config durcharbeiten. Stichwort Cuxd und Zeile 17...
Ansonsten welche Versionen vom js-Controller? Welche Version javascript und Homematic Instanzen? -
Ich ergänze gleich mal. Cuxd-Geräte kann man nicht überwachen. Sollte logisch sein! Deshalb muss man die Instanz wählen wenn man cuxd nutzt.
-
Danke für die schnelle Rückmeldung. Habe Zeile 17 jetzt auf 9 gestellt.
Ich möchte CUXD auch nicht mit überwachen.
Aktuell läuft bei mir auf der CCU das Scrip von Alchy.
Leider bin ich keiner, der eben mal fix was programieren kann, oder den Fehler eingrenzen kann.
An der Fehlermeldung hat sich nichts getan, diese ist unverändert.hm-rega -> 2.5.5
hm-rpc -> 1.14.2
js -> 4.5.1