Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Servicemeldungen - All inclusive für Homematic -

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

Servicemeldungen - All inclusive für Homematic -

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
1.0k Beiträge 93 Kommentatoren 322.7k Aufrufe 102 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B Bratwurst

    Ich hatte das Problem der fehlenden Datenpunkte... jetzt habe ich durch Umstieg auf SSD einmal komplett neu angefangen und siehe da... nicht ein Datenpunkt vom Skript gefunden.
    Ich habe "nur" die 4 Datenpunkte für das Skript angelegt... habe ich etwas essenzielles vergessen / übersehen? Muss eine Einstellung im hm-rpc gemacht sein? oder in PIVCCU?

    cashC Offline
    cashC Offline
    cash
    Most Active
    schrieb am zuletzt editiert von
    #891

    @bratwurst Sind die Datenpunkte mit Alarm da? Wenn nicht, kann das Script nichts finden

    1 Antwort Letzte Antwort
    0
    • B Offline
      B Offline
      Bratwurst
      schrieb am zuletzt editiert von
      #892

      Tatsächlich ist nicht ein ALARM Datenpunkt da... ich habe mit der SSD komplett neu angefangen... das kann doch nicht sein.
      Gibt es Einstellung in PiVCCU3 oder im Rega Adapter die vergessen haben kann?

      cashC 1 Antwort Letzte Antwort
      0
      • B Bratwurst

        Tatsächlich ist nicht ein ALARM Datenpunkt da... ich habe mit der SSD komplett neu angefangen... das kann doch nicht sein.
        Gibt es Einstellung in PiVCCU3 oder im Rega Adapter die vergessen haben kann?

        cashC Offline
        cashC Offline
        cash
        Most Active
        schrieb am zuletzt editiert von
        #893

        @bratwurst Nicht das ich wüßte. Du hattest die gleichen Probleme aber schon auf der Seite davor. Wenn ich es richtig gesehen habe gab es neue Versionen von den Adaptern die sich teils um Probleme mit den Datenpunkten kümmern. Bist Du auf den Beta-Channel oder stable? Ggf. sonst Issue auf Github bei dem Adapter aufmachen.

        Mein Script ist an sich dumm. Es fragt nur nach den Datenpunkten. Ohne Datenpunkte kann mein Script nichts.

        1 Antwort Letzte Antwort
        0
        • B Offline
          B Offline
          Bratwurst
          schrieb am zuletzt editiert von
          #894

          stable... ist cuxd eine Voraussetzung?

          cashC 1 Antwort Letzte Antwort
          0
          • B Bratwurst

            stable... ist cuxd eine Voraussetzung?

            cashC Offline
            cashC Offline
            cash
            Most Active
            schrieb am zuletzt editiert von
            #895

            @bratwurst nein. Cuxd braucht man nicht. Bei stable warte mal noch ein paar Tage oder Wochen. Da werden die Beta-Versionen bestimmt stable. Vielleicht werden dann die Punkte auch bei Dir richtig angelegt. Ich kann Dir hier leider nicht helfen. Hatte selber noch nie Probleme mit fehlenden Datenpunkten.

            1 Antwort Letzte Antwort
            0
            • hg6806H Offline
              hg6806H Offline
              hg6806
              Most Active
              schrieb am zuletzt editiert von hg6806
              #896

              Leider habe ich seit einiger Zeit das Problem, dass immer die Servicemeldung erscheint, dass der Rauchmelder nicht erreichbar wäre.
              In der CCU2 ist keine Servicemeldung aktiv. Alles grün.
              Wenn ich den Wert aus den Objekten löschen, erscheint er bei Neustart des Skriptes wieder. Auch Telegram meldet es.

              Ich sehe auch nicht im Skript wo er sich das herholt:

              instanz = 'javascript.0.';
              var idAnzahl = instanz + 'Servicemeldungen.Homematic.Anzahl',
                  idText =   instanz + 'Servicemeldungen.Homematic.Text';
               
              createState(idAnzahl, 0, {
                  name: 'Homematic Servicemeldungen Anzahl',
                  desc: 'Zahl der Homematic Servicemeldungen',
                  type: 'number'
              });
              createState(idText, "", {
                  name: 'Homematic Servicemeldungen Text',
                  desc: 'Liste der Geräte, die Servicemeldungen produzieren',
                  type: 'string'
              });
               
              var SelectorUNREACH         = $('channel[state.id=*.UNREACH]');
              var SelectorLOWBAT          = $('channel[state.id=*.LOWBAT]');
               
              function countService(obj) {
                  var anzahl    = 0;
                  var text      = "";
                  var delimiter = "";
               
                  // Klartext Name ermitteln
                  function getname(id) {
                      var tokens      =  [];
                      var object = getObject(id);
                  	tokens          =  object.common.name.split(":");
                  	return tokens[0];
                  }
               
                  function count(id,cause) {
                      var status = getState(id).val;
                      if (status) { 
                          text = text + delimiter + getname(id) + " " + cause + " " ;
                          delimiter = "\n"; // Neue Zeile für Telegram
                          ++anzahl;
                      }
                  }
               
                  SelectorUNREACH.each(function (id, i) {count(id,"ist nicht erreichbar");});
                  SelectorLOWBAT.each(function (id, i) {count(id,"hat schwache Batterie");});
               
                  if (!anzahl) text = "keine Servicemeldungen";
               
                  log("Homematic-Servicemeldungen: " + text);
                  //log("Anzahl Homematic-Servicemeldungen: " + anzahl);
               
                  setState(idText, text); 
                  setState(idAnzahl, anzahl);
                  setState('telegram.0.communicate.response', text);
              }
               
              countService();
              SelectorUNREACH.on(function(obj)        {countService(obj);});
              SelectorLOWBAT.on(function(obj)         {countService(obj);});
               
              
              cashC 1 Antwort Letzte Antwort
              0
              • hg6806H hg6806

                Leider habe ich seit einiger Zeit das Problem, dass immer die Servicemeldung erscheint, dass der Rauchmelder nicht erreichbar wäre.
                In der CCU2 ist keine Servicemeldung aktiv. Alles grün.
                Wenn ich den Wert aus den Objekten löschen, erscheint er bei Neustart des Skriptes wieder. Auch Telegram meldet es.

                Ich sehe auch nicht im Skript wo er sich das herholt:

                instanz = 'javascript.0.';
                var idAnzahl = instanz + 'Servicemeldungen.Homematic.Anzahl',
                    idText =   instanz + 'Servicemeldungen.Homematic.Text';
                 
                createState(idAnzahl, 0, {
                    name: 'Homematic Servicemeldungen Anzahl',
                    desc: 'Zahl der Homematic Servicemeldungen',
                    type: 'number'
                });
                createState(idText, "", {
                    name: 'Homematic Servicemeldungen Text',
                    desc: 'Liste der Geräte, die Servicemeldungen produzieren',
                    type: 'string'
                });
                 
                var SelectorUNREACH         = $('channel[state.id=*.UNREACH]');
                var SelectorLOWBAT          = $('channel[state.id=*.LOWBAT]');
                 
                function countService(obj) {
                    var anzahl    = 0;
                    var text      = "";
                    var delimiter = "";
                 
                    // Klartext Name ermitteln
                    function getname(id) {
                        var tokens      =  [];
                        var object = getObject(id);
                    	tokens          =  object.common.name.split(":");
                    	return tokens[0];
                    }
                 
                    function count(id,cause) {
                        var status = getState(id).val;
                        if (status) { 
                            text = text + delimiter + getname(id) + " " + cause + " " ;
                            delimiter = "\n"; // Neue Zeile für Telegram
                            ++anzahl;
                        }
                    }
                 
                    SelectorUNREACH.each(function (id, i) {count(id,"ist nicht erreichbar");});
                    SelectorLOWBAT.each(function (id, i) {count(id,"hat schwache Batterie");});
                 
                    if (!anzahl) text = "keine Servicemeldungen";
                 
                    log("Homematic-Servicemeldungen: " + text);
                    //log("Anzahl Homematic-Servicemeldungen: " + anzahl);
                 
                    setState(idText, text); 
                    setState(idAnzahl, anzahl);
                    setState('telegram.0.communicate.response', text);
                }
                 
                countService();
                SelectorUNREACH.on(function(obj)        {countService(obj);});
                SelectorLOWBAT.on(function(obj)         {countService(obj);});
                 
                
                cashC Offline
                cashC Offline
                cash
                Most Active
                schrieb am zuletzt editiert von
                #897

                @hg6806 sorry das ist ein anderes Script was Du nutzt. Falscher Thread...

                1 Antwort Letzte Antwort
                0
                • hg6806H Offline
                  hg6806H Offline
                  hg6806
                  Most Active
                  schrieb am zuletzt editiert von
                  #898

                  OK, würde das Script hier ganz gerne nehmen, jedoch habe ich etwas Startschwierigkeiten.

                  1. Wo werden dann Datenpunkte angelegt?
                  2. Was muss ich bei Telegramm eintragen? Im alten Script gab es einfach nur
                  setState('telegram.0.communicate.response', text);
                  
                  cashC 1 Antwort Letzte Antwort
                  0
                  • B Offline
                    B Offline
                    Bratwurst
                    schrieb am zuletzt editiert von
                    #899

                    Hatte Kontakt mit foxriver76 und er hat eine neue stable Version veröffentlicht... jetzt funktioniert es... vielen Dank!

                    1 Antwort Letzte Antwort
                    0
                    • hg6806H hg6806

                      OK, würde das Script hier ganz gerne nehmen, jedoch habe ich etwas Startschwierigkeiten.

                      1. Wo werden dann Datenpunkte angelegt?
                      2. Was muss ich bei Telegramm eintragen? Im alten Script gab es einfach nur
                      setState('telegram.0.communicate.response', text);
                      
                      cashC Offline
                      cashC Offline
                      cash
                      Most Active
                      schrieb am zuletzt editiert von
                      #900

                      @hg6806 zu 1) ist mir persönlich völlig egal wo Du die Datenpunkte anlegst. Ich habe bei mir ein System was ich nutze. Wichtig ist nur die Datenpunkte im Script einzutragen.

                      zu2) Es gibt nur 2 Parameter für den Telegramversand. Ich hätte bisher behauptet die sind sehr selbsterklärend? Welcher Parameter in welcher Zeile ist nicht klar?

                      hg6806H 1 Antwort Letzte Antwort
                      0
                      • cashC cash

                        @hg6806 zu 1) ist mir persönlich völlig egal wo Du die Datenpunkte anlegst. Ich habe bei mir ein System was ich nutze. Wichtig ist nur die Datenpunkte im Script einzutragen.

                        zu2) Es gibt nur 2 Parameter für den Telegramversand. Ich hätte bisher behauptet die sind sehr selbsterklärend? Welcher Parameter in welcher Zeile ist nicht klar?

                        hg6806H Offline
                        hg6806H Offline
                        hg6806
                        Most Active
                        schrieb am zuletzt editiert von hg6806
                        #901

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

                        Wichtig ist nur die Datenpunkte im Script einzutragen.

                        Verrätst du mir auch wo die eingetragen werden?

                        const user_telegram = '';
                        Hier trage ich die User-ID ein?

                        cashC 1 Antwort Letzte Antwort
                        0
                        • hg6806H hg6806

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

                          Wichtig ist nur die Datenpunkte im Script einzutragen.

                          Verrätst du mir auch wo die eingetragen werden?

                          const user_telegram = '';
                          Hier trage ich die User-ID ein?

                          cashC Offline
                          cashC Offline
                          cash
                          Most Active
                          schrieb am zuletzt editiert von
                          #902

                          @hg6806 Das kommt darauf an welche Datenpunkte Du verwenden willst. Hast Du Dir das Script mal angesehen? Eigentlich sollte es dann klar sein wo welche Datenpunkte rein müssen. Falls Du die Datenpunkte nicht brauchst einfach meine Datenpunkte aus dem Script löschen und Parameter auf false.

                          Ich weiß nicht was die User-ID bei Telegram ist. Bei Pushover gibt man den Smartphone Namen. Ich habe Telegram eingefügt weil es gewünscht war. Nutze es selber nicht. Ggf mal im Telegram Adapter nachschauen…

                          hg6806H 1 Antwort Letzte Antwort
                          0
                          • cashC cash

                            @hg6806 Das kommt darauf an welche Datenpunkte Du verwenden willst. Hast Du Dir das Script mal angesehen? Eigentlich sollte es dann klar sein wo welche Datenpunkte rein müssen. Falls Du die Datenpunkte nicht brauchst einfach meine Datenpunkte aus dem Script löschen und Parameter auf false.

                            Ich weiß nicht was die User-ID bei Telegram ist. Bei Pushover gibt man den Smartphone Namen. Ich habe Telegram eingefügt weil es gewünscht war. Nutze es selber nicht. Ggf mal im Telegram Adapter nachschauen…

                            hg6806H Offline
                            hg6806H Offline
                            hg6806
                            Most Active
                            schrieb am zuletzt editiert von
                            #903

                            @cash
                            Ja hatte ich mir angeschaut.
                            Ist das so korrekt? Dann müsste ich die noch in den Objekten anlegen.

                            const id_IST_LOWBAT = 'javascript.0.Servicemeldungen.Homematic.Anzahl_LOWBAT'/*Anzahl LOWBAT*/;
                            const id_IST_LOW_BAT = '';
                            const id_IST_UNREACH = 'javascript.0.Servicemeldungen.Homematic.Anzahl_UNREACH'/*Anzahl_UNREACH*/;
                            const id_IST_STICKY_UNREACH = 'javascript.0.Servicemeldungen.Homematic.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 = '';
                            const id_IST_Gesamt = "javascript.0.Servicemeldungen.Homematic.Anzahl_GESAMT"/*Anzahl_GESAMT*/;
                            
                            

                            Und wie werden die Texte in Datenpunkte geschrieben?

                            cashC 1 Antwort Letzte Antwort
                            0
                            • hg6806H hg6806

                              @cash
                              Ja hatte ich mir angeschaut.
                              Ist das so korrekt? Dann müsste ich die noch in den Objekten anlegen.

                              const id_IST_LOWBAT = 'javascript.0.Servicemeldungen.Homematic.Anzahl_LOWBAT'/*Anzahl LOWBAT*/;
                              const id_IST_LOW_BAT = '';
                              const id_IST_UNREACH = 'javascript.0.Servicemeldungen.Homematic.Anzahl_UNREACH'/*Anzahl_UNREACH*/;
                              const id_IST_STICKY_UNREACH = 'javascript.0.Servicemeldungen.Homematic.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 = '';
                              const id_IST_Gesamt = "javascript.0.Servicemeldungen.Homematic.Anzahl_GESAMT"/*Anzahl_GESAMT*/;
                              
                              

                              Und wie werden die Texte in Datenpunkte geschrieben?

                              cashC Offline
                              cashC Offline
                              cash
                              Most Active
                              schrieb am zuletzt editiert von
                              #904

                              @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 Antwort Letzte Antwort
                              0
                              • hg6806H Offline
                                hg6806H Offline
                                hg6806
                                Most Active
                                schrieb am zuletzt editiert von hg6806
                                #905

                                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...

                                cashC 1 Antwort Letzte Antwort
                                0
                                • hg6806H 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...

                                  cashC Offline
                                  cashC Offline
                                  cash
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #906

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • hg6806H Offline
                                    hg6806H Offline
                                    hg6806
                                    Most Active
                                    schrieb am zuletzt editiert von hg6806
                                    #907

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

                                    cashC 1 Antwort Letzte Antwort
                                    0
                                    • hg6806H hg6806

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

                                      cashC Offline
                                      cashC Offline
                                      cash
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #908

                                      @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....

                                      hg6806H 1 Antwort Letzte Antwort
                                      2
                                      • cashC cash

                                        @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....

                                        hg6806H Offline
                                        hg6806H Offline
                                        hg6806
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #909

                                        @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 Antwort Letzte Antwort
                                        0
                                        • D Offline
                                          D Offline
                                          djsirius
                                          schrieb am zuletzt editiert von
                                          #910

                                          Nabend zusammen,

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

                                          Vielen Dank!

                                          Gruß

                                          djsirius

                                          GlasfaserG D 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          425

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe