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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. CCU Firmware Script

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    225

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

CCU Firmware Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 2 Kommentatoren 202 Aufrufe 3 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.
  • bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich benutze das bekannte CCU Firmware Script wonach gezeigt wird ob die Firmware auf der CCU veraltet ist.

    /**************************
    * Prüft ob im Internet eine neue Firmware verfügbar ist
    * 
    * 19.03.19 V1.00    Erste Version
    * 20.03.19 V1.01    Logging optimiert
    * 01.04.19 V1.02    Firmware kann auch für Rasperrymatic überwacht werden
    *                   Umstellung von var auf const und let (by Dutchman)
    **************************
    const logging = true; 
    const debugging = false; 
    const debugging_response = false;       //nur im Fehlerfall auf true. Hiermit wird die Antwort der Internetadresse protokolliert
    const CCU_Version = 3;                  //Hier eine Zahl eintragen: 2 = CCU2 // 3 = CCU3 // 4 = Rasperrymatic
    //Datenpunkt auswählen wo die installierte Version ersichtlich ist (aus Homematic.Rega Adapter)
    const id_Version_installiert = "hm-rega.0.PEQ1453161.0.FIRMWARE_VERSION";
    //Datenpunkt muss manuell angelegt werden. Kann irgendwo angelegt werden. Anschließend hier ersetzen
    const id_Version_Internet = 'javascript.0.System.Sonstige.Verfuegbare_CCU-Firmware';
    
    const observation = true;         //Dauerhafte Überwachung der Firmware (true = aktiv // false =inaktiv)
    const onetime = true;             //Prüft beim Scriptstart auf aktuelle Firmware
    
    //Prio für Pushover
    const prio_Firmware = 0;
    
    
    //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 _prio;
    let _titel;
    let _message;
    const _device = 'TPhone';         //Welches Gerät soll die Nachricht bekommen
    //const _device = 'All'; 
    
    //Variablen für Telegram
    const sendtelegram = true;            //true = verschickt per Telegram Nachrchten // false = Telegram wird nicht benutzt
    const user_telegram = 'Dieter';             //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
    
    
    // ab hier keine Änderung
    
    let _message_tmp;
    const request = require('request');
    
    function send_pushover_V4 (_device, _message, _titel, _prio) {
           if (_prio === 0){let 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
       }); 
    }
    
    function send_telegram (_message, user_telegram) {
       sendTo('telegram.0', { 
           text: _message,
           user: user_telegram,
           parse_mode: 'HTML'
       }); 
    }
    
    function send_mail (_message) {
       sendTo("email", {
           //from:    "iobroker@mydomain.com",
           //to:      "aabbcc@gmail.com",
           subject: "Servicemeldung",
           text:    _message
       });
    }
    
    function func_Version(){
       const Version_Internet = getState(id_Version_Internet).val;
       const ccu2 = 'http://update.homematic.com/firmware/download?cmd=js_check_version&version=12345&product=HM-CCU2&serial=12345';
       const ccu3 = 'http://update.homematic.com/firmware/download?cmd=js_check_version&version=12345&product=HM-CCU3&serial=12345';
       const Raspi = 'https://gitcdn.xyz/repo/jens-maus/RaspberryMatic/master/release/LATEST-VERSION.js?_version_=CURRENT_VERSION';
       let ccu;
       if(CCU_Version == 3){ccu = ccu3;}
       else if(CCU_Version == 4){ccu = Raspi;}
       else {ccu = ccu2;}
       url = ccu;
    
       request({url : url},
    
           function (error, response, body) {
               const Version_installiert = (getState(id_Version_installiert).val).trim();
               const Version = body.split("'");
               if(error){
                   log('error: ' + error);
               } else {
                   if(Version_Internet === ''){
                       if(logging){
                           log('ausgewähltes Objekt leer. Firmware wird erstmalig gesetzt.');
                       }
                       setState(id_Version_Internet,(Version[1]));
                   }
                   
                   if(Version_installiert == Version[1]){
                       if(logging){
                           log('Installierte Firmware '+Version_installiert  +' der CCU ist aktuell');
                       }
                   }
                   else{
                       if(logging){
                           log('Installierte Firmware '+Version_installiert  +' der CCU ist nicht aktuell. Aktuell verfügbare Version: '+ Version[1]);
                       }
                       
                       if(Version_Internet == Version[1]){
                           if(debugging){
                               log('[DEBUG] ' +'Version Internet hat sich nicht verändert');
                           }
                       } else {
                           if(debugging){
                               log('[DEBUG] ' +'Installierte Firmware der CCU ist nicht aktuell.');
                           }
                           log ("hier");
                           setState(id_Version_Internet,Version[1]);
                            _message_tmp = 'Installierte Firmware der CCU ist nicht aktuell. Installiert: ' +Version_installiert +' --- Verfügbare Version: '+Version[1];
                           
                            //Push verschicken
                           if(sendpush){
                               _prio = prio_Firmware;
                               _titel = 'CCU-Firmware';
                               _message = _message_tmp;
                               send_pushover_V4(_device, _message, _titel, _prio);
                           }
                           log ("telegram" + sendtelegram);
                           if(sendtelegram){
                               _message = _message_tmp;
                               send_telegram(_message, user_telegram);
                           }
                           if(sendmail){
                               _message = _message_tmp;
                               send_mail(_message);
                           }
                       }         
                   }
           
                   if(debugging_response){
                       log('body: ' + body);
                       log('Länge ' + Version.length + ' --- Version: ' + Version[1]);
                       log('response: ' + JSON.stringify(response));
                   }
               }
           }
       );
    }
    
    if(observation){
       //Nachts einmalig ausführen 05:54 Schaltzeiten berechnen
       schedule("54 05 * * *", func_Version);
    }
    
    if(onetime){
       //beim Starten
       func_Version();
    }
    

    Dies funktioniert nicht mehr.
    Ist wird nur noch angezeigt "undifined".

    Habt ihr dies auch?
    Besser noch eine Lösung.

    mfg
    Dieter


    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
    Danke.
    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
    ScreenToGif :https://www.screentogif.com/downloads.html

    1 Antwort Letzte Antwort
    0
    • GlasfaserG Offline
      GlasfaserG Offline
      Glasfaser
      schrieb am zuletzt editiert von Glasfaser
      #2

      @bahnuhr

      Hast du mal das ausprobiert , hier ist der Thread davon :

      https://forum.iobroker.net/topic/21170/script-zur-überprüfung-ob-eine-neue-firmware-für-die-ccu-verfügbar-ist/72

      bzw. die neue Version :

      https://github.com/Baenker/Pruefung-CCU-Firmware/blob/master/CCU-Firmware.js

      EDIT :

      Selber mal die neue Version getestet ,
      obwohl ich schon auf der CCU ( RaspberryMatic ) ein Programm habe .

      44ac57fb-e2e8-4311-880f-62128a913167-grafik.png

      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

      bahnuhrB 1 Antwort Letzte Antwort
      1
      • GlasfaserG Glasfaser

        @bahnuhr

        Hast du mal das ausprobiert , hier ist der Thread davon :

        https://forum.iobroker.net/topic/21170/script-zur-überprüfung-ob-eine-neue-firmware-für-die-ccu-verfügbar-ist/72

        bzw. die neue Version :

        https://github.com/Baenker/Pruefung-CCU-Firmware/blob/master/CCU-Firmware.js

        EDIT :

        Selber mal die neue Version getestet ,
        obwohl ich schon auf der CCU ( RaspberryMatic ) ein Programm habe .

        44ac57fb-e2e8-4311-880f-62128a913167-grafik.png

        bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #3

        @glasfaser

        Super, Danke für den Link.

        Offensichtlich hat sich der request Link für raspberrymatic geändert.

        Jetzt läuft es wieder.

        Danke.

        mfg
        Dieter


        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

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


        Support us

        ioBroker
        Community Adapters
        Donate

        505

        Online

        32.7k

        Benutzer

        82.5k

        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