Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Script zur Überprüfung ob eine neue Firmware für die CCU verfügbar ist

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Script zur Überprüfung ob eine neue Firmware für die CCU verfügbar ist

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

      Nochmal kurz der Hinweis das es wieder eine neue Version gibt. In dem Script gibt es immer noch ein Problem wenn die Abfrage nicht funktioniert und ein "undefined" zurück kommt. Das kriege ich mit meinen jetzigen wissen leider nicht weg. Falls wer eine Idee hat würde ich mich über Lösungen freuen.

      Falls Ihr noch eine alte Version einsetzt solltet Ihr auf jeden Fall updaten. V1.07 hat den kompletten Javascript Adapter in den Abgrund gerissen :-((

      1 Reply Last reply Reply Quote 0
      • smartboart
        smartboart last edited by smartboart

        falscher Link aktiv

        1 Reply Last reply Reply Quote 0
        • smartboart
          smartboart last edited by smartboart

          ergab keinen Sinn

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

            @smartboart All das was Du geschrieben hattest machte mein Script auch ausser es kürzt nicht die Firmware beim Raspi weil dort die Firmware halt länger. Rest ist mir egal.

            @All ich habe mal wieder die aktuelle Version auf github gestellt. Sollte bei der Abfrage aus dem Internet mal nicht das erwartete zurückkommen gab es bisher immer eine Fehlermeldung diese fange ich jetzt entsprechend ab und logge es richtig. Ansonsten nur Kleinigkeiten

            1 Reply Last reply Reply Quote 0
            • F
              fraeggle last edited by

              DANKE das hab ich schon solange gesucht und endlich gefunden.
              Bin jetzt auf das nächste Firmware Update gespannt .....

              Gruß Peter

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

                Leider, leider hat eq3 anscheinend etwas gegen die Abragen. Derzeit funktioniert das Script nicht mehr für Besitzer der ccu2 und 3.

                eq3 lehnt die Abfragen mit falscher serial ab. Beim probieren hat eq3 dann anscheinend meine ip komplett geblockt 🙂

                Mal schauen ob ich dazu eine Lösung finde. Wenn man mit der eigenen Serial der ccu abfragt und einer richtigen alten Firmware funktioniert es auf jeden Fall. Ich gehe leider davon aus das wenn zuviele mit der gleichen Serial abfragen ebenfalls geblockt wird.

                Weiß jemand ob die so eine nr berechnen kann?

                1 Reply Last reply Reply Quote 0
                • F
                  File last edited by

                  Hallo zusammen,

                  Danke für die Bereitstellung des scripts, leider funktioniert es bei mir nicht korrekt. Trotz anstehendem Update wird mir nichts in den Datenpunkt geschrieben.

                  1c4054f8-ad67-428a-aae7-5ce37383c5ff-grafik.png

                  Kenne mich mit der Script-Sprache nur sehr wenig aus und brauche Hilfe.

                  LG
                  Philipp

                  cash Röstkartoffel 2 Replies Last reply Reply Quote 0
                  • cash
                    cash Most Active @File last edited by

                    @File Bitte mal das Post direkt über Deinen lesen...

                    Der Fehler im Log sollte aber definitiv nicht von dem Script kommen.

                    1 Reply Last reply Reply Quote 0
                    • Röstkartoffel
                      Röstkartoffel @File last edited by Röstkartoffel

                      @File
                      @cash

                      Im Skript ist bei der Anfrage ein Dummywert für die Seriennummmer und für die Softwareversion drin. Das akzeptiert der Downloadserver von EQ3 so nicht mehr.

                      Aber es gibt eine Lösung:
                      Ich nutze eine CCU2 und habe den Pfad in Zeile 102 so geändert

                          const ccu2 = 'http://update.homematic.com/firmware/download?cmd=js_check_version&version=2.47.20&product=HM-CCU2&serial=NEQxxxxxxx';
                      

                      wobei man natürlich anstelle der Serial NEQxxxxxxx die Seriennummer seines Gerätes eingeben muss.

                      Nach der Änderung bitte das Skript für 24 Stunden ausgeschaltet lassen, bis der Internetanschluss durch den Provider zwangsgetrennt wird und man eine neue IP bekommen hat. Alternativ kann man dieses auch im Router erzwingen (neue IP zuweisen oder so ähnlich).
                      Der Grund ist, das sich der Downloadserver merkt, von welchem IP-Anschluss die falsche Anfrage kommt und sperrt diese IP für weitere (auch gültige) Anfragen.

                      Wenn man gesperrt ist, sieht auch die CCU keine verfügbare Software-Version mehr.
                      CCU-Wartung.png

                      1 Reply Last reply Reply Quote 0
                      • N
                        nightfly6379 last edited by

                        Hallo cash,

                        vielen Dank für das Script.
                        Ich habe eine pvccu3 und bekomme die folgende Fehlermeldung.

                        Fehler bei der Abfrage der Firmware: Error: connect EHOSTUNREACH 95.216.13.95:443
                        

                        Die URL im Script funktioniert nicht mehr.
                        Gibt es hier eine neue Adresse?

                        VG

                        1 Reply Last reply Reply Quote 0
                        • Negalein
                          Negalein Global Moderator last edited by

                          @cash

                          Bin fündig geworden.
                          Script hatte sich nur verschluckt! 🙂

                          1 Reply Last reply Reply Quote 0
                          • S
                            schonwiederich last edited by

                            Hi , ich wollte mein CCU skript durch eine andere lösung ersetzen da es im ccu script immer zu "hängern" kam wenn die hompage mit dem aktuellen fw stand nicht geantwortet hat. dann habe ich diese lösung gefundenund umgesetzt. klappt für mich bisher super. habe ich heute morgen gemacht.

                            ich kenne mich mit JS nicht aus habe aber dennoch am script etwas ergänzt was ich brauchte.

                            zuerst habe ich neben dem datenpunkt der den installierten fw stand aus dem rega adapter enthält ´, auch direkt die variable aus der CCU (rega adapter) genommen, die bei mir zuvor auch die verfügbare fw angezeigt hat. ich habe also nicht einen neuen datenpunkt im io broker dafür verwendet.

                            //Datenpunkt auswählen wo die installierte Version ersichtlich ist (aus Homematic.Rega Adapter)
                            const id_Version_installiert = 'hm-rega.0.PEQ0628679.0.FIRMWARE_VERSION'/*hm-rega.0.PEQ0628679.0.FIRMWARE_VERSION*/;
                            //Datenpunkt muss manuell angelegt werden. Kann irgendwo angelegt werden. Anschließend hier ersetzen 
                            const id_Version_Internet = 'hm-rega.0.18721'/*CCUsysVar_Firmware_verfuegbar*/;
                            

                            Dann habe ich noch diese beiden "const" im script eingebunden:
                            Die Erste ist der logikwert true oder false der mir vorher im skript auf der ccu bescheid gesagt hat ob eine neue fw version vorlieg.
                            Die Zweite schreibt einfach den Wert aus dem Datenpunkt der CCU zur aktuell installierten Version in eine Variable auf der CCU, welche zuvor auch vom CCU skript befüllt wurde.

                            //Befüllung true oder false in CCU Logik Variable / true oder false
                            const id_aktuell_oder_nicht = 'hm-rega.0.18722'/*CCUsysVar_Firmware_Neue_Version_vorhanden*/;
                            //Befüllung der aktuell installierten FW in CCU Sys Var
                            const id_install_in_die_ccu_sys_var = 'hm-rega.0.18720'/*CCUsysVar_Firmware_Betriebsstand*/;
                            
                            

                            Im skript habe ich diese dann an dieser stelle setzen lassen:

                             if(Version_installiert == Version[1]){
                                                    if(logging){
                                                        log('Installierte Firmware '+Version_installiert  +' der CCU ('+Version[3]  +') ist aktuell.');
                                                    }
                                                    setState(id_aktuell_oder_nicht,false);
                                                    setState(id_install_in_die_ccu_sys_var,Version_installiert);
                                                }
                                                else{
                                                    if(!isNaN(parseInt(Version[1].substr(0,1)))){
                                                        if(logging){
                                                            log('Installierte Firmware '+Version_installiert  +' der CCU ('+Version[3]  +') ist nicht aktuell. Aktuell verfügbare Version: '+Version[1]);
                                                        }
                                                        setState(id_aktuell_oder_nicht,true);
                                                        setState(id_install_in_die_ccu_sys_var,Version_installiert);
                                                    }
                            

                            So habe ich dann in der CCU folgendes stehen:
                            9ad02a26-7dab-4219-93b8-d07b64d34cf1-image.png

                            Ich habe noch eine Frage zur täglichen Prüfung:

                            if(observation){
                                //Nachts einmalig ausführen 00:30 Schaltzeiten berechnen
                                schedule("54 05 * * *", func_Version);
                            

                            54 05 bedeutet täglich 0:30 ?

                            Danke und viele Grüße!

                            1 Reply Last reply Reply Quote 0
                            • G
                              gammler2003 last edited by gammler2003

                              Hallo zusammen,

                              zunächst einmal vielen Dank für die Bereitstellung des Skripts @cash .
                              Bei der Einrichtung ist mir aufgefallen, dass ich in meiner hm-rega-Instanz keinen Datenpunkt mit einem Firmwarestand finde. Allgemein finden sich recht wenige Datenpunkte darin. Das war bisher kein Problem, da ich den Adapter noch nie genutzt habe davor, sondern ausschließlich den RPC.

                              Hat jemand eine Idee, woran das liegen kann?

                              Bildschirmfoto 2021-12-25 um 11.21.10.png

                              Vielen Dank & Gruß
                              Steven

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

                                @gammler2003 Konfigurationsfehler würde ich sagen. Zeig mal die Einstellungen vom Adapter.

                                G 1 Reply Last reply Reply Quote 0
                                • G
                                  gammler2003 @cash last edited by

                                  @cash
                                  so meinst du?

                                  	
                                  _id	"system.adapter.hm-rega.0"
                                  common	
                                  name	"hm-rega"
                                  version	"3.0.33"
                                  title	"HomeMatic ReGaHSS"
                                  dependencies	
                                  0	"hm-rpc"
                                  1	
                                  js-controller	">=2.0.0"
                                  authors	
                                  0	"hobbyquaker <hq@ccu.io>"
                                  1	"bluefox <dogafox@gmail.com>"
                                  2	"Moritz Heusinger <moritz.heusinger@gmail.com>"
                                  license	"MIT"
                                  mode	"daemon"
                                  platform	"Javascript/Node.js"
                                  loglevel	"info"
                                  materialize	true
                                  docs	
                                  en	"README.md"
                                  readme	"https://github.com/ioBroker/ioBroker.hm-rega/blob/master/README.md"
                                  icon	"homematic.png"
                                  compact	true
                                  messagebox	true
                                  extIcon	"https://raw.githubusercontent.com/ioBroker/ioBroker.hm-rega/master/admin/homematic.png"
                                  keywords	
                                  0	"homematic"
                                  1	"eq3"
                                  2	"regahss"
                                  3	"ccu1"
                                  4	"ccu2"
                                  localLinks	
                                  _default	"%webinterfaceProtocol%://%homematicAddress%:%webinterfacePort%"
                                  type	"iot-systems"
                                  connectionType	"local"
                                  dataSource	"poll"
                                  tier	2
                                  plugins	
                                  sentry	
                                  dsn	"https://08c0b6d9b71c43cc91e9705877681085@sentry.iobroker.net/11"
                                  pathWhitelist	[]
                                  errorBlacklist	
                                  0	"SyntaxError"
                                  installedFrom	"iobroker.hm-rega@3.0.33"
                                  installedVersion	"3.0.33"
                                  enabled	true
                                  host	"phoscon"
                                  logLevel	"info"
                                  native	
                                  homematicAddress	"192.168.178.37"
                                  reconnectionInterval	"30"
                                  rfdEnabled	true
                                  rfdAdapter	"hm-rpc.0"
                                  hs485dEnabled	false
                                  hs485dAdapter	""
                                  cuxdEnabled	false
                                  cuxdAdapter	""
                                  hmipEnabled	true
                                  hmipAdapter	"hm-rpc.1"
                                  virtualDevicesEnabled	false
                                  virtualDevicesAdapter	""
                                  polling	true
                                  pollingInterval	"30"
                                  pollingTrigger	"BidCoS-RF.50.PRESS_SHORT"
                                  syncDutyCycle	true
                                  pollingIntervalDC	""
                                  syncVariables	true
                                  showInvSysVar	true
                                  syncPrograms	true
                                  syncNames	true
                                  syncFavorites	true
                                  enumFavorites	"enum.favorites"
                                  syncRooms	true
                                  enumRooms	"enum.rooms"
                                  syncFunctions	true
                                  enumFunctions	"enum.functions"
                                  useHttps	false
                                  username	""
                                  password	""
                                  webinterfacePort	80
                                  webinterfaceProtocol	"http"
                                  
                                  cash 1 Reply Last reply Reply Quote 0
                                  • cash
                                    cash Most Active @gammler2003 last edited by

                                    @gammler2003 nein ich meine die Einstellungen vom Rega Adapter

                                    G 1 Reply Last reply Reply Quote 0
                                    • G
                                      gammler2003 @cash last edited by

                                      @cash Das sind die Einstellungen. Nachfolgend mal einige Screenshots.

                                      Bildschirmfoto 2021-12-25 um 14.34.24.png Bildschirmfoto 2021-12-25 um 14.34.12.png Bildschirmfoto 2021-12-25 um 14.33.56.png Bildschirmfoto 2021-12-25 um 14.33.38.png

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

                                        @gammler2003 setz mal bei duty cycle einen intervall. Bei mir habe ich dort 500 eingetragen. Da mir der Wert nicht wichtig ist. Bin mir aber nicht sicher an welcher Stelle im Adapter die Sachen abgerufen werden. Evtl mit dem Duty Cycle zusammen?

                                        G 1 Reply Last reply Reply Quote 0
                                        • G
                                          gammler2003 @cash last edited by gammler2003

                                          Um diesen Beitrag zum Skript nicht mit meinem scheinbar individuellen Adapter-Problem zu sprengen, habe ich dafür hier einen neuen Beitrag aufgemacht.

                                          Vielen Dank für die bisherige Hilfe.

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            M-A-X last edited by M-A-X

                                            Hi.
                                            Ich habe seit kurzem (plötzlich?) ein Problem mit dem Script. Hab auch schon ein issue auf github erstellt.

                                            javascript.0 | 2022-02-13 08:40:21.402 | error | at Script.runInContext (vm.js:144:12)
                                            javascript.0 | 2022-02-13 08:40:21.402 | error | at script.js.CCUneueFirmware:287:3
                                            javascript.0 | 2022-02-13 08:40:21.401 | error | at script.js.CCUneueFirmware:285:5
                                            javascript.0 | 2022-02-13 08:40:21.401 | error | at func_Version (script.js.CCUneueFirmware:132:5)
                                            javascript.0 | 2022-02-13 08:40:21.401 | error | at wrap (/opt/iobroker/node_modules/axios/lib/helpers/bind.js:9:15)
                                            javascript.0 | 2022-02-13 08:40:21.400 | error | at Axios.request (/opt/iobroker/node_modules/axios/lib/core/Axios.js:40:11)
                                            javascript.0 | 2022-02-13 08:40:21.400 | error | script.js.CCUneueFirmware: Error: Provided config url is not valid
                                            

                                            Wäre super wenn mir einer einen Denkanstoß geben könnte woran es liegen könnte. Ich finde im Script keine config URL 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            745
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            21
                                            95
                                            9931
                                            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