Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Servicemeldungen - All inclusive für Homematic -

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Servicemeldungen - All inclusive für Homematic -

    This topic has been deleted. Only users with topic management privileges can see it.
    • cash
      cash Most Active @hg6806 last edited by

      @hg6806 sieht soweit gut. Die andere Frage verstehe ich nicht? Wenn eine Meldung Auftritt erkennt das das Script und prüft was es machen soll. Wenn es eine Telegram Nachricht senden soll, dann macht es das. Soll es Datenpunkte füllen dann macht es das. Wichtig ist halt das es die Alarm-Datenpunkte gibt, die normal durch die hm- Adapter erzeugt wurden.

      1 Reply Last reply Reply Quote 0
      • hg6806
        hg6806 Most Active last edited by hg6806

        Naja, Hauptfunktion wäre für mich, dass die Servicemeldungen im VIS angezeigt werden.
        Und dafür bräuchte ich einen Datenpunkt wo die ganzen Meldungen drinstehen.
        Sorry, aber ich kenne mich mit Javascript leider so gar nicht aus.

        Telegram kam schon mal was...

        cash 1 Reply Last reply Reply Quote 0
        • cash
          cash Most Active @hg6806 last edited by

          @hg6806 Dann musst Du nur den oder die Datenpunkte die Du haben willst in Vis einpflegen und schon werden sie dort angezeigt.

          1 Reply Last reply Reply Quote 0
          • hg6806
            hg6806 Most Active last edited by hg6806

            Ja, aber welchen Datenpunkt?
            In welchem steht Text drin, den müsste ich doch auch anlegen oder?

            cash 1 Reply Last reply Reply Quote 0
            • cash
              cash Most Active @hg6806 last edited by

              @hg6806 Sorry bitte das Script komplett von 105 bis 176 durcharbeiten und die Kommentare in jeder Zeile lesen. Kleiner Tipp von 163 - 176 liefern jeweils nur eine Anzahl --> das ist eine Zahl. Wenn Du die nicht brauchst kannst Du 161 auf false setzen.

              Ganz ehrlich ein bißchen mehr Eigeninitiative kann man schon erwarten....

              hg6806 1 Reply Last reply Reply Quote 2
              • hg6806
                hg6806 Most Active @cash last edited by

                @cash
                Wie schon erwähnt kann ich mich mit Javascript (und Software generell) nicht aus und tue mich da echt schwer.
                Ich habe es so mal versucht und scheint zu laufen:

                //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 = true;        // true schreibt beim auftreten einer Servicemeldung die Serviemeldung in ein Objekt
                const id_Text_Servicemeldung = 'javascript.0.Servicemeldungen.Homematic.Text';  // Objekt wo die Servicemeldung hingeschrieben werden soll (String)
                
                
                1 Reply Last reply Reply Quote 0
                • D
                  djsirius last edited by

                  Nabend zusammen,

                  wo kann ich denn die aktuelle Version von dem Skript downloaden?

                  Vielen Dank!

                  Glasfaser D 2 Replies Last reply Reply Quote 0
                  • Glasfaser
                    Glasfaser @djsirius last edited by

                    @djsirius

                    Am Threadanfang ist ein Link hinterlegt .

                    1.JPG

                    https://forum.iobroker.net/topic/19436/servicemeldungen-all-inclusive-für-homematic

                    1 Reply Last reply Reply Quote 0
                    • D
                      djsirius @djsirius last edited by

                      @Glasfaser habs gerade gefunden! 👓
                      Danke!

                      1 Reply Last reply Reply Quote 0
                      • J
                        jensus11 last edited by

                        @chris_71 sagte in Servicemeldungen - All inclusive für Homematic -:

                        @cash
                        Hab den Fehler gefunden, lag an einem zusätzlichen NPM Modul im Javascript-Adapter.
                        Nun sieht alles fein aus 🙂

                        Hi, welches Modul war es denn?

                        1 Reply Last reply Reply Quote 0
                        • J
                          jensus11 last edited by

                          Ich musste kein Modul installieren, dachte ich erst weil nicht ausgelesen wurde von den verbauten Geräten. Habe dann die neuste Skriptversion installiert, Datenpunkte angepasst und einmal neu gestartet.

                          Nun habe ich die Prios von Pushover zu ordnet, aber Prio 2 bei Sabotage wir nicht übernommen. Da wird Prio 0 benutzt.

                          Dann einen Sabotage Datenpunkt angelegt, der bleibt aber auch bei 0 und ändert sich nicht auf 1.

                          Jemand ne Idee?

                          cash 1 Reply Last reply Reply Quote 0
                          • cash
                            cash Most Active @jensus11 last edited by

                            @jensus11 Was heißt denn Sabotage Datenpunkte angelegt? Wie sieht die Konfig aus bei der Prio? Wie wurde Sabotage ausgelöst? Was steht im log?

                            1 Reply Last reply Reply Quote 0
                            • J
                              jensus11 last edited by jensus11

                              const Version = 1.86;
                              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 = 'JPCAPM00176, XXX';
                              
                              //Instanz Cuxd ausschließen. Instanz als Zahl z. B. '1' oder bei Nichtnutzung hohe Nr eintragen z. B. '9'
                              const CUXD = '9';
                              
                              //pro Fehlertyp kann eine andere Prio genutzt werden
                              const prio_LOWBAT = 0;
                              const prio_UNREACH = 1;
                              const prio_STICKY_UNREACH = 1;
                              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;
                              
                              //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 = true;        // true schreibt beim auftreten einer Servicemeldung die Serviemeldung in ein Objekt
                              const id_Text_Servicemeldung = 'javascript.0.Allservicemeldungen.Raspberrymatic.Text';  // Objekt wo die Servicemeldung hingeschrieben werden soll (String)
                              
                              //Variablen für Pushover
                              const sendpush = true;     //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 = 'iPhone';         //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)
                              //nicht benutzte Felder einfach leer lassen --> var id_IST_XXX = '';
                              //Müssen selber als Zahl angelegt werden
                              const id_IST_LOWBAT = 'javascript.0.Allservicemeldungen.Raspberrymatic.Anzahl_LOWBAT'/*Anzahl LOWBAT*/;
                              const id_IST_LOW_BAT = '';
                              const id_IST_UNREACH = 'javascript.0.Allservicemeldungen.Raspberrymatic.Anzahl_UNREACH'/*Anzahl_UNREACH*/;
                              const id_IST_STICKY_UNREACH = 'javascript.0.Allservicemeldungen.Raspberrymatic.Anzahl_STICKY_UNREACH'/*Anzahl_STICKY_UNREACH*/;
                              const id_IST_CONFIG_PENDING = '';
                              const id_IST_UPDATE_PENDING = '';
                              const id_IST_DEVICE_IN_BOOTLOADER = '';
                              const id_IST_ERROR = '';
                              const id_IST_ERROR_NON_FLAT_POSITIONING = '';
                              const id_IST_ERROR_CODE = '';
                              const id_IST_FAULT_REPORTING = '';
                              const id_IST_SABOTAGE = 'javascript.0.Allservicemeldungen.Raspberrymatic.Anzahl_SABOTAGE'/*Anzahl_SABOTAGE*/;;
                              const id_IST_Gesamt = "javascript.0.Allservicemeldungen.Raspberrymatic.Anzahl_GESAMT"/*Anzahl_GESAMT*/;
                              
                              //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]');
                              
                              
                              javascript.0 2403594	2021-08-06 21:14:38.039	info	script.js.Meldungen_Alarme.Allservicemeldungen: Es werden: 361 Datenpunkte überwacht. Derzeit: 6 Servicemeldung(en).
                              javascript.0 2403594	2021-08-06 21:14:35.039	info	script.js.Meldungen_Alarme.Allservicemeldungen: registered 361 subscriptions and 0 schedules
                              javascript.0 2403594	2021-08-06 21:14:35.038	info	script.js.Meldungen_Alarme.Allservicemeldungen: Es gibt: 50 Geräte mit dem Datenpunkt UPDATE_PENDING.
                              javascript.0 2403594	2021-08-06 21:14:35.035	info	script.js.Meldungen_Alarme.Allservicemeldungen: Es gibt: 64 Geräte mit dem Datenpunkt CONFIG_PENDING.
                              javascript.0 2403594	2021-08-06 21:14:35.030	info	script.js.Meldungen_Alarme.Allservicemeldungen: Es gibt: 44 Geräte mit dem Datenpunkt DEVICE_IN_BOOTLOADER.
                              javascript.0 2403594	2021-08-06 21:14:35.027	info	script.js.Meldungen_Alarme.Allservicemeldungen: Es gibt: 10 Geräte mit dem Datenpunkt FAULT_REPORTING.
                              javascript.0 2403594	2021-08-06 21:14:35.026	info	script.js.Meldungen_Alarme.Allservicemeldungen: Keine Geräte gefunden mit dem Datenpunkt ERROR_NON_FLAT_POSITIONING.
                              javascript.0 2403594	2021-08-06 21:14:35.026	info	script.js.Meldungen_Alarme.Allservicemeldungen: Es gibt: 13 Geräte mit dem Datenpunkt ERROR.
                              javascript.0 2403594	2021-08-06 21:14:35.024	info	script.js.Meldungen_Alarme.Allservicemeldungen: Es gibt: 3 Geräte mit dem Datenpunkt SABOTAGE.
                              javascript.0 2403594	2021-08-06 21:14:35.023	info	script.js.Meldungen_Alarme.Allservicemeldungen: Es gibt: 58 Geräte mit dem Datenpunkt STICKY_UNREACH.
                              javascript.0 2403594	2021-08-06 21:14:35.019	info	script.js.Meldungen_Alarme.Allservicemeldungen: Es gibt: 64 Geräte mit dem Datenpunkt UNREACH.
                              javascript.0 2403594	2021-08-06 21:14:35.018	info	script.js.Meldungen_Alarme.Allservicemeldungen: Es gibt: 64 Geräte mit dem Datenpunkt UNREACH_ALARM. Derzeit: 1 unterdrückte Servicemeldung(en).
                              javascript.0 2403594	2021-08-06 21:14:35.013	info	script.js.Meldungen_Alarme.Allservicemeldungen: Es gibt: 3 Geräte mit dem Datenpunkt LOW_BAT.
                              javascript.0 2403594	2021-08-06 21:14:35.012	info	script.js.Meldungen_Alarme.Allservicemeldungen: Es gibt: 52 Geräte mit dem Datenpunkt LOWBAT_ALARM. Derzeit: 6 Servicemeldung(en).
                              javascript.0 2403594	2021-08-06 21:14:35.003	info	script.js.Meldungen_Alarme.Allservicemeldungen: Bitte melden: Bodenfeuchte (JPCAPM3802) --- HB-UNI-Sen-CAP-MOIST-T --- Batterietyp fehlt im Script
                              javascript.0 2403594	2021-08-06 21:14:35.003	info	script.js.Meldungen_Alarme.Allservicemeldungen: Bitte melden: Bodenfeuchte Hochbeet (JPCAPM00176) --- HB-UNI-Sen-CAP-MOIST-T --- Batterietyp fehlt im Script
                              javascript.0 2403594	2021-08-06 21:14:35.001	info	script.js.Meldungen_Alarme.Allservicemeldungen: Script manuell gestartet. (Version: 1.86)
                              javascript.0 2403594	2021-08-06 21:14:30.034	info	Start javascript script.js.Meldungen_Alarme.Allservicemeldungen
                              javascript.0 2403594	2021-08-06 21:14:30.034	info	Start javascript script.js.Meldungen_Alarme.Allservicemeldungen
                              

                              Das kommt wenn ich den Fensterkontakt entferne.

                              javascript.0 2403594	2021-08-06 21:27:04.448	info script.js.Meldungen_Alarme.Allservicemeldungen: Neue Servicemeldung: (KEQ0164324) --- HM-Sec-SC--- Typ: ERROR --- Status: 7 Sabotage
                              

                              Bildschirmfoto 2021-08-06 um 21.06.56.png

                              cash 2 Replies Last reply Reply Quote 0
                              • cash
                                cash Most Active @jensus11 last edited by

                                @jensus11 Ok das Script läuft wie es soll. Dein Fensterkontakt meldet keine Sabotage über den Sabotage Punkt sondern über Error mit Status Sabotage.

                                Ich muss mal schauen ob das bei mir auch so ist und ob da evtl doch noch was nicht richtig ist. Ich erinnere mich an einen ähnlichen Fall. Weiß leider nicht mehr was die genaue Ursache war.

                                Gibt es bei den Fensterkontakt den Datenpunkte Sabotage_Alarm? was zeigt er an wenn Du die Sabotage auslöst?

                                1 Reply Last reply Reply Quote 0
                                • cash
                                  cash Most Active @jensus11 last edited by

                                  @jensus11 Es wurden nur 3 Geräte mit den Datenpunkt Sabotage gefunden? Passt das bei Dir?

                                  J 1 Reply Last reply Reply Quote 0
                                  • J
                                    jensus11 @cash last edited by

                                    @cash sagte in Servicemeldungen - All inclusive für Homematic -:

                                    @jensus11 Es wurden nur 3 Geräte mit den Datenpunkt Sabotage gefunden? Passt das bei Dir?

                                    Anscheinend ja, das sind die paar IP Geräte die ich habe.

                                    Bildschirmfoto 2021-08-06 um 21.47.29.png

                                    cash 1 Reply Last reply Reply Quote 0
                                    • cash
                                      cash Most Active @jensus11 last edited by

                                      @jensus11 Das Gerät was Du getestest hast ist das ein IP oder ein normales? Hat das den Sabotage Punkt oder nicht? Ggf müsste ich das dann im Script abfangen und die Prio hochsetzten

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        jensus11 last edited by

                                        Das ist ein normales Funk Teil. Das Bild ist von dem Fensterkontakt, das hat kein Sabotage Punkt.

                                        cash 1 Reply Last reply Reply Quote 0
                                        • cash
                                          cash Most Active @jensus11 last edited by

                                          @jensus11 Zeile 1365 einfügen mit
                                          if(status == 7){
                                          if(prio < prio_SABOTAGE){prio = prio_SABOTAGE;}
                                          }

                                          Dann bitte nochmal testen

                                          1 Reply Last reply Reply Quote 0
                                          • J
                                            jensus11 last edited by

                                            Bildschirmfoto 2021-08-06 um 22.12.03.png

                                            leider keine Änderung.

                                            cash 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            875
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            93
                                            1038
                                            274483
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo