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.
    • 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
                      • smartboart
                        smartboart @M-A-X last edited by

                        @m-a-x

                        link zu Abfrage hat sich geändert...

                        request({url :"https://raspberrymatic.de/LATEST-VERSION.js"},
                        M cash 2 Replies Last reply Reply Quote 0
                        • M
                          M-A-X @smartboart last edited by

                          @smartboart
                          Ich hatte die Version 1.17 aus Github. Dort ist aber mittlerweile (wegen meines Issues??) eine 1.19 hochgeladen und mit der geht wieder alles!
                          Danke trotzdem für die Hilfe

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

                            @smartboart Der Link hat sich aber schon vor über einen Jahr geändert.

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

                              @cash ja sorry ich benutze eine angepasste Version des scripts. Mein link hat zufälliger weise irgendwann im zeitraum seit dem letzten Update bis gestern nicht mehr funktioniert... In der offiziellen Version werden auch andere links verwendet...

                              1 Reply Last reply Reply Quote 0
                              • cash
                                cash Most Active @M-A-X last edited by

                                @m-a-x Die neue Version gab es schon lange. Sieht man ja im log. Ich hatte nur vergessen die Version auf github hochzuladen 🙂

                                Mit einen Adapter Update wurde die Axios Version hochgezogen und Axios hatte seine Parameter anders ausgelegt dadurch lief das Script nicht mehr. Die User die im Beta Unterwegs waren, waren davon schon länger betroffen. Meine Vermutung daraus war das das Script keiner mehr nutzt…

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

                                  @cash ah. Ok. Auf jeden Fall danke für das Script und die Hilfe 🙂 ich werde dein Script wohl noch so lange benutzen wie es funktioniert 😉

                                  1 Reply Last reply Reply Quote 0
                                  • V
                                    Videospezi last edited by

                                    ich habe das aktuelle Script 1.19 vor ein paar Tagen installiert und wollte die Firmware Vesion meines Rasperrymatic abfragen. Habe im Script meine einstellungen vorgenommen, wie angegeben. Raspeberrymatic=4 , Datenpunkt manuell angelogt (Zeichenkette). Wenn ich das Script starte wird unten im Fenster auch alles korrekt angezeigt. aktuelle Version und Version aus dem I-nternet. Aber der Wert wird nicht in den Datenpunkt 0_userdate.0.Serverraum.CCU.Verfuegbare_CCU-Firmware eingetragen.
                                    Ich habe das Forum beriets mit der Suchfuntion bemüht, komme aber leider nicht weiter.
                                    Könnte mir jemand einen Tip geben, im Moment weiss ich nicht mehr weiter. Skript_CCU.JPG CCU_Debug.JPG CU_Objekte.JPG

                                    ? cash 2 Replies Last reply Reply Quote 0
                                    • ?
                                      A Former User @Videospezi last edited by

                                      @videospezi besser eine Antwort spät als nie, vielleicht hast du es auch schon selbst bemerkt, aber der Datenpunkt wird nur beschrieben wenn es auch nur eine neue Version gibt, vorher nicht.

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

                                        @videospezi einfach neue Version von github nehmen dort ist es anders.

                                        ? 1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User @cash last edited by

                                          @cash wirklich? Hab noch mal geschaut, ab Zeile 182 sieht man aber das der Datenpunkt nur beschrieben wird wenn die alte Version ungleich zur neuen ist.

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

                                            @ciddi89 ja wirklich. Wie Du schon sagst ungleich zur neuen. Wenn der Datenpunkt neu erstellt ist und somit leer ist sollte die Bedingung erfüllt sein. Bei der Abfrage, frage ich ja das neu erstellt Datenfeld ab.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            409
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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