Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Skript um auf neue Tasmota Version zu prüfen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    12
    1
    139

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

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

Skript um auf neue Tasmota Version zu prüfen

Scheduled Pinned Locked Moved Skripten / Logik
javascript
17 Posts 7 Posters 3.5k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    Leviathan09
    wrote on last edited by
    #1

    Hallo zusammen,

    ich bin auf der Suche nach einer Möglichkeit über ein Skript auf ein neues Release von Tasmota zu prüfen.
    Sobald das dann der Fall ist hätte ich gerne eine Benachrichtigung per Telegram.

    Ich habe schon einige Zeit mit googlen etc verbracht, da ich aber leider fast keine Ahnung vom Programmieren habe finde ich leider nichts.

    Ich hoffe jemand von euch kann mir hier helfen.

    1 Reply Last reply
    0
    • L Offline
      L Offline
      Leviathan09
      wrote on last edited by
      #2

      Keiner eine Idee oder einen Vorschlag?

      1 Reply Last reply
      0
      • AlCalzoneA Offline
        AlCalzoneA Offline
        AlCalzone
        Developer
        wrote on last edited by
        #3

        Ich nehme an, es will keiner für dich googlen. Wenn du ein paar Ansatzpunkte lieferst (z.B. wo die Information ggf. herkommt), finden sich vielleicht mehr Helfer.

        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

        J 1 Reply Last reply
        0
        • AlCalzoneA AlCalzone

          Ich nehme an, es will keiner für dich googlen. Wenn du ein paar Ansatzpunkte lieferst (z.B. wo die Information ggf. herkommt), finden sich vielleicht mehr Helfer.

          J Offline
          J Offline
          Jan1
          wrote on last edited by Jan1
          #4

          Da brauchst kein Script dafür, da im der Regel jedes WE eine neue zur Verfügung steht und unter der Woche die bestehende ein paar neue Funktionen bekommt.
          Somit hast eigentlich so gut wie jeden zweiten Tag ne neue Tasmota und willst daran wirllich immer erinnert werden?

          L 1 Reply Last reply
          0
          • J Jan1

            Da brauchst kein Script dafür, da im der Regel jedes WE eine neue zur Verfügung steht und unter der Woche die bestehende ein paar neue Funktionen bekommt.
            Somit hast eigentlich so gut wie jeden zweiten Tag ne neue Tasmota und willst daran wirllich immer erinnert werden?

            L Offline
            L Offline
            Leviathan09
            wrote on last edited by
            #5

            @Jan1 Erstmal Danke für deine Antwort!
            Wo gibt es denn so oft eine neue Version?
            Wenn ich auf die GitHub-Page gehe von Sonoff-Tasmota ist das letzte Release von vor 2 Monaten ->GitHub Tasmota

            An diese Releases würde ich gerne erinnert werden (Klar, ich kann mir von GitHub ne Mail schicken lassen)
            Jedoch würde ich im späteren Verlauf anhand des Skripts was mich benachrichtigt evtl. ein Backup auf meinen Geräten anstoßen und anschließend das neue Release aufspielen.

            @AlCalzone Erster Ansatzpunkt bzgl. Release siehe oben, zweiter Anhaltspunkt könnte auch die Seite sein -> Hackbox.org

            Was mich an sich schon mal weiter bringen würde, wäre eine Möglichkeit auf eine der beiden Seiten nur die Release Version abzufragen.
            Diese könnte ich dann im ioBroker mit der vorhandenen vergleichen.

            1 Reply Last reply
            0
            • L Offline
              L Offline
              Leviathan09
              wrote on last edited by
              #6

              Scheine es nun soweit hinbekommen haben nach zwei Tagen an den ich eigentlich nichts anderes gemacht habe außer Essen, Googlen, Ausprobieren, Googlen etc.

              Wenn ich mir sicher bin poste ich hier wie ich die Abfrage von GitHub realisiert habe.

              J 1 Reply Last reply
              0
              • L Leviathan09

                Scheine es nun soweit hinbekommen haben nach zwei Tagen an den ich eigentlich nichts anderes gemacht habe außer Essen, Googlen, Ausprobieren, Googlen etc.

                Wenn ich mir sicher bin poste ich hier wie ich die Abfrage von GitHub realisiert habe.

                J Offline
                J Offline
                Jan1
                wrote on last edited by
                #7

                @Leviathan09
                Wenn es Dir nur um die Master Version geht, dann ist das richtig. Bei der Dev. Version gibts fast täglich was neues. Wobei ich nur update, wenn auch für mich relevante Änderungen dabei sind, was so alle 3 Wochen der Fall ist. Deshalb hilft da nur nach schauen und lesen was geändert wurde.

                L 1 Reply Last reply
                0
                • J Jan1

                  @Leviathan09
                  Wenn es Dir nur um die Master Version geht, dann ist das richtig. Bei der Dev. Version gibts fast täglich was neues. Wobei ich nur update, wenn auch für mich relevante Änderungen dabei sind, was so alle 3 Wochen der Fall ist. Deshalb hilft da nur nach schauen und lesen was geändert wurde.

                  L Offline
                  L Offline
                  Leviathan09
                  wrote on last edited by
                  #8

                  @Jan1 Ja geht mir erstmal nur um die Master. Da es bei mir nur ein paar einfache Steckdosen betrifft denke ich sind die Änderungen in den Dev-Releases nicht so wichtig für mich.

                  1 Reply Last reply
                  0
                  • L Offline
                    L Offline
                    Leviathan09
                    wrote on last edited by Leviathan09
                    #9

                    So hier nun mal das Skript so wie ich es mir erstellt habe.
                    Vermutlich könnte man auch immer die gleiche Variable nehmen und mit dem neuen Inhalt "updaten" aber so war es für mich als Anfänger übersichtlicher.
                    Ebenso könnte man natürlich die Variablen noch global im Skript deklarieren usw. aber wie schon gesagt für mich als Anfänger war es so jetzt erstmal einfacher/übersichtlicher.

                    exec('curl -X GET -k \'https://api.github.com/repos/arendst/Sonoff-Tasmota/releases/latest\'', function (error, result, stderr) { 	//GitAPI aufruf für JSON Inhalt von Latest Tasmota Release
                        
                        setState("ioBroker-Objekt-1", result, true); 			//JSON in Objekt schreiben
                        var Tasmonta_JSON = JSON.parse(result) 				//JSON Resultat in Variable Schreiben
                        
                        var TasmotaTagName = Tasmonta_JSON.tag_name 			//JSON nach "tag_name" filtern und in Variable schreiben
                        
                        var TasmotaVersion = TasmotaTagName.replace(/v/i, ""); 		//Aus Variable überflüssiges "v" filtern und in Release-Variable schreiben
                        console.log(TasmotaVersion); 					//Dient zur Überprüfung ob der richtige Wert abgerufen wird
                    
                        setState("ioBroker-Objekt-1", TasmotaVersion, true); 		//Release Nummer in Objekt schreiben
                      });
                    

                    Die Ausgabe von "console.log" sieht am Ende dann so aus:

                    21:13:15.456	info	javascript.0 script.js.common.Tasmota_Update: 6.5.0
                    
                    smartboartS 1 Reply Last reply
                    0
                    • L Leviathan09

                      So hier nun mal das Skript so wie ich es mir erstellt habe.
                      Vermutlich könnte man auch immer die gleiche Variable nehmen und mit dem neuen Inhalt "updaten" aber so war es für mich als Anfänger übersichtlicher.
                      Ebenso könnte man natürlich die Variablen noch global im Skript deklarieren usw. aber wie schon gesagt für mich als Anfänger war es so jetzt erstmal einfacher/übersichtlicher.

                      exec('curl -X GET -k \'https://api.github.com/repos/arendst/Sonoff-Tasmota/releases/latest\'', function (error, result, stderr) { 	//GitAPI aufruf für JSON Inhalt von Latest Tasmota Release
                          
                          setState("ioBroker-Objekt-1", result, true); 			//JSON in Objekt schreiben
                          var Tasmonta_JSON = JSON.parse(result) 				//JSON Resultat in Variable Schreiben
                          
                          var TasmotaTagName = Tasmonta_JSON.tag_name 			//JSON nach "tag_name" filtern und in Variable schreiben
                          
                          var TasmotaVersion = TasmotaTagName.replace(/v/i, ""); 		//Aus Variable überflüssiges "v" filtern und in Release-Variable schreiben
                          console.log(TasmotaVersion); 					//Dient zur Überprüfung ob der richtige Wert abgerufen wird
                      
                          setState("ioBroker-Objekt-1", TasmotaVersion, true); 		//Release Nummer in Objekt schreiben
                        });
                      

                      Die Ausgabe von "console.log" sieht am Ende dann so aus:

                      21:13:15.456	info	javascript.0 script.js.common.Tasmota_Update: 6.5.0
                      
                      smartboartS Offline
                      smartboartS Offline
                      smartboart
                      wrote on last edited by smartboart
                      #10

                      @Leviathan09

                      Hallo, fand die Idee von deinem Skript super und habe mal angefangen das weiter auszuarbeiten.
                      Ich habe diverse Funktionen hinzugefügt, sowie einen täglichen Schedule zur Abfrage eingebaut. Ebenfalls States für Vis und als Trigger angelegt.
                      Logs hinzugefügt und Telegram Nachrichten eingebaut.

                      // - to do: automatischer download der Firmware und automatischer Update aller Endgeräte...
                      // - download über Umwege lokal zum Multihostmaster oder NAS , wenn alle Tasmota Geräte vom Internet getrennt sind / bei mir der Fall.
                      // - Für User welche alle Endgeräte mit dem Internet verbunden haben könnte automatisch OTA via Webserver upgedatet werden
                      // - Ideen und Änderung weiterer User

                      Hoffe du hast nix dagegen.. Wer interesse hat, hier die Erweiterung:

                      // Ur Skript von Leviathan09 19.05.2019 erweitert von smartboart
                      // smartboard 09.11.2019 
                      // smartboart : diverse Funktionen hinzugefügt, sowie einen täglichen Schedule zur Abfrage eingebaut. 
                      // Ebenfalls States für Vis und als Trigger angelegt.
                      // logs erweitert und Telegram Nachrichten hinzugefügt 
                      // - to do: automatischer download der Firmware und automatischer Update aller Endgeräte... 
                      // - download über Umwege lokal zum Multihostmaster oder NAS , wenn alle Tasmota Geräte vom Internet getrennt sind / bei mir der fall.
                      // - Für User welche alle Endgeräte mit dem Internet verbunden haben könnte automatisch OTA via Webserver upgedatet werden
                      // - Ideen und Änderung weiterer User
                      
                      
                      // Tasmota Update Script
                      
                      // States für Vis und zukünftige Trigger für Update
                      createState('javascript.0.Status.Tasmota.Tasmota_Firmware.Update',{ def: false,  type: 'boolean', name: 'Tasmota Update verfügbar'});
                      createState('javascript.0.Status.Tasmota.Tasmota_Firmware.Version',{ type: 'string', read: true, write: true, desc: 'Tasmota Firmware Version online', name: 'Tasmota Firmware Update Version'});
                      
                      const id1 = 'javascript.0.Status.Tasmota.Tasmota_Firmware.Update';
                      const id2 = 'javascript.0.Status.Tasmota.Tasmota_Firmware.Version';
                      
                      var logging = true; // log aktivieren, deaktivieren
                      var telegram = true; // telegram Versand aktiveren, deaktivieren
                      var autoupdate = false; // under construction
                      var download = false; // under construction
                      var downloadlink = 'http://thehackbox.org/tasmota/release/sonoff.bin'; //downloadlink für bin file
                      
                      // Skriptstart
                      check_Version();
                      
                      //Version abrufen
                      
                      function check_Version(){
                      
                          exec('curl -X GET -k \'https://api.github.com/repositories/80286288/releases/latest\'', function (error, result, stderr){	//GitAPI aufruf für JSON Inhalt von Latest Tasmota Release
                          var Tasmota_JSON = JSON.parse(result) 				//JSON Resultat in Variable Schreiben
                          var TasmotaTagName = Tasmota_JSON.tag_name 			//JSON nach "tag_name" filtern und in Variable schreiben
                          if (logging)log('aktuelle Tasmota Firmware ' + TasmotaTagName); 					//Dient zur Überprüfung ob der richtige Wert abgerufen wird
                          setState(id2, TasmotaTagName, true); 		//Release Nummer in Objekt schreiben
                      });
                      }
                      
                      // Function für Vis und für Update starten
                      function Update() {
                      if(telegram) sendTo("telegram.0", "send", {text: (['Tasmota Firmware Update verfügbar: ',getState(id2).val,''].join(''))});
                      setState(id1,true,true);
                      if(logging)log (['Tasmota Firmware Update verfügbar: ',getState(id2).val,''].join(''));
                      }
                      
                      // Update starten oder Firmware automatisch herunter laden
                      function Remote (){
                      if(logging && autoupdate)log('Tasmota Firmwareupdate der dafür konfigurierten Geräte gestartet ');
                      if(telegram && autoupdate) sendTo("telegram.0", "send", {text: ('Tasmota Firmware Update der dafür konfigurierten Geräte gestartet')});
                      
                      /*if(update)hier die dazu nötign Befehler integrieren. in Arbeit.....wie z.B download der Firmware in definierten Pfad ( eingetragen in der Tasmota Config)
                      und update aller dazu konfigurierten Geräte. wenn Updtae ausgeführt State für Vis zurück setzen
                      setState(id1,false,true);*/
                      
                      if(logging && download)log('Tasmota Firmwaredownload  gestartet ');
                      if(telegram && download) sendTo("telegram.0", "send", {text: ('Tasmota Firmware download gestartet')});
                      /*if(download) hier die dazu nötigen Befehle integrieren 
                      Satet update verfügbar wird für diesen Fall manuell über vis zurück gesetzt */
                      }
                      
                      // Trigger täglich um 23:58 die online verfügbare Version / latest abfragen
                      schedule({hour: 23, minute: 58}, function () {
                      check_Version ();
                      if(logging)log('Tägliche Versionsabfrage')
                      });
                      
                      // Trigger Meldung und Funktion für Vis wenn update Verfügbar bzw. bei Stateänderung
                      on(id2, function(dp) {
                      Update();
                      if(logging)log('TasmotaFirmwareupdate verfügbar');
                      });
                      
                      // Trigger für  Automatisches Update oder firmwaredownload
                      on(id1, function(dp) {
                      Remote();
                      if(logging && autoupdate)log('Tasmota Firmwareupdate der dafür konfigurierten Geräte starten ');
                      if(logging && download)log('Tasmota Firmware download starten ');
                      });
                      
                      
                      
                      1 Reply Last reply
                      1
                      • M Offline
                        M Offline
                        Machinima
                        wrote on last edited by
                        #11

                        In Anlehnung an das CCU-Firmwareupdate Skript habe ich mir das für die Sonoff-/Tasmota-Geräte angepasst. Auch hier müsst ihr einen Datenpunkt vom Typ Zeichenkette erstellen und ggf. in dem Skript ersetzen.

                        const id_Version_Internet = '0_userdata.0.Servicemeldungen.Verfuegbare_Tasmota-Firmware'/*Verfuegbare Tasmota-Firmware*/;
                        

                        Benachrichtigung per Pushover, E-Mail oder oder Telegram funktioniert ebenfalls. Berücksichtigt werden nur Geräte, die unter dem Sonoff-Adapter laufen.

                        const logging = true; 
                        const debugging = false;
                        
                        //Prio für Pushover
                        const prio_Firmware = 1;
                        
                        //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 _prio;
                        let _titel;
                        let _message;
                        //const _device = 'TPhone';         //Welches Gerät soll die Nachricht bekommen
                        const _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
                        
                        let _message_tmp;
                        
                        const id_Version_Internet = '0_userdata.0.Servicemeldungen.Verfuegbare_Tasmota-Firmware'/*Verfuegbare Tasmota-Firmware*/;
                        var cacheSelectorTasmotaVersions = $('channel[state.id=sonoff.0.*.Version]');
                        
                        const request = require('request');
                        
                        function func_Version() {
                            var options = {
                                url: 'https://api.github.com/repos/arendst/Tasmota/releases/latest',
                                headers: {
                                    'User-Agent': 'ioBroker Tasmota Firmware Check'
                                }
                            };
                        
                            request(options, function (error, response, body) {
                                const availableFirmware = getState(id_Version_Internet).val;
                        
                                if(error) {
                                    log('error: ' + error);
                                } else {
                                    var tasmotaJson = JSON.parse(body); 
                                    var tasmotaTagName = tasmotaJson.tag_name;
                                    var tasmotaVersion = tasmotaTagName.replace(/v/i, "").trim();
                        
                                    if(availableFirmware == ''){
                                        if(logging){
                                            log('ausgewähltes Objekt leer. Firmware wird erstmalig gesetzt. Firmware: '+ tasmotaVersion);// +' Zentrale: ' +Version[3]);
                                        }
                                        setState(id_Version_Internet, tasmotaVersion);
                                    }
                        
                                    var devices = [];
                        
                                    cacheSelectorTasmotaVersions.each(function (id, i) {
                                        var installedFirmware = getState(id).val.trim();
                                        installedFirmware = installedFirmware.replace('(sonoff)', '').trim();
                                        installedFirmware = installedFirmware.replace('(tasmota)', '').trim();
                        
                                        var obj = getObject(id);
                                        var infoId = id.substring(0, id.lastIndexOf("."));
                                        var hostName = getState(infoId + '.Hostname').val;
                        
                                        if(installedFirmware == tasmotaVersion){
                                            if(logging){
                                                log('Installierte Tasmota-Firmware für Gerät ' + hostName  + ' ist aktuell.');
                                            }
                                        } else {
                                            if(logging){
                                                log('Installierte Tasmota-Firmware für Gerät ' + hostName  + ' (' + installedFirmware + ') ist nicht aktuell. Aktuell verfügbare Version: ' + tasmotaVersion);
                                            }
                                            
                                            if(availableFirmware == tasmotaVersion){
                                                if(debugging){
                                                    log('[DEBUG] ' + 'Version Internet hat sich nicht verändert');
                                                }
                                            } else {
                                                if(debugging){
                                                    log('[DEBUG] ' + 'Installierte Tasmota-Firmware ist nicht aktuell.');
                                                }
                                                
                                                setState(id_Version_Internet, tasmotaVersion);
                        
                                                devices.push(hostName + ' (' + installedFirmware + ')');
                                            }         
                                        }
                                    });
                        
                                    if(devices.length > 0) {
                                        _message_tmp = 'Neue Tasmota-Firmware ' + tasmotaVersion + ' für folgende Geräte verfügbar:\n' + devices.join('\n');
                                
                                        //Push verschicken
                                        if(sendpush){
                                            _prio = prio_Firmware;
                                            _titel = 'Tasmota-Firmware';
                                            _message = _message_tmp;
                                            send_pushover_V4(_device, _message, _titel, _prio);
                                        }
                                        if(sendtelegram){
                                            _message = _message_tmp;
                                            send_telegram(_message, user_telegram);
                                        }
                                        if(sendmail){
                                            _message = _message_tmp;
                                            send_mail(_message);
                                        }
                                    }
                                }
                            });
                        }
                                
                        function send_pushover_V4 (_device, _message, _titel, _prio) {
                                let pushover_Instanz;
                                if (_prio === 0){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
                            });
                        }
                        
                        // um 10:00 Uhr prüfen
                        schedule({hour: 10, minute: 0}, func_Version);
                        
                        //beim Starten
                        func_Version();
                        
                        1 Reply Last reply
                        1
                        • smartboartS Offline
                          smartboartS Offline
                          smartboart
                          wrote on last edited by smartboart
                          #12

                          Hallo, jemand ne idee wie ich den download der Datei hinbekomme und entsprechend ablege.. (downloadlink) im nächsten Schritt möchte ich die Datei auf dem ftpServer ablegen..

                          Hab unten mal was zusammen geschustert, aber bekomme folgende Fehlermeldung..
                          Wo mache ich einen Fehler?

                          (1700) script.js.common.Status_Geraete.Sonstige.Tasmota_Updateprüfung: Fehler beim speichern: Error: EISDIR: illegal operation on a directory, open '/opt/iobroker/iobroker-data/files/_temp/'

                          const id1 = 'javascript.0.Status.Tasmota.Tasmota_Firmware.Update';
                          
                          var logging = true;
                          var telegram = false;
                          var download = true; // under construction
                          var destpath = '/opt/iobroker/iobroker-data/files/_temp/';
                          //zielpfad für bin file
                          var downloadlink1 = 'http://thehackbox.org/tasmota/release/tasmota-minimal.bin'; //downloadlink für bin file
                          var downloadlink2 = 'http://thehackbox.org/tasmota/release/tasmota.bin'; //downloadlink für bin file
                          
                          var fs      = require('fs');
                          var request = require('request');
                          
                          // Update starten oder Firmware automatisch herunter laden
                          on({id:id1,val:true,change:'ne'},function(dp){
                          if(download){
                              request.get({url: downloadlink1, download: 'binary'}, function (err, response, body) {
                                  fs.writeFile(destpath, body, 'binary', function(err){
                          if(logging )log('Tasmota Firmwaredownload  gestartet ');
                          if(telegram) sendTo("telegram.0", "send", {text: ('Tasmota Firmware download gestartet')});
                                  if (err && logging){
                                       log('Fehler beim  speichern: ' + err);
                                          }
                                      }); 
                                  });
                              }
                          });
                          
                          
                          1 Reply Last reply
                          0
                          • H Offline
                            H Offline
                            Henning
                            wrote on last edited by
                            #13

                            @smartboart said in Skript um auf neue Tasmota Version zu prüfen:

                            var destpath = '/opt/iobroker/iobroker-data/files/_temp/'

                            Hallo Smartboart,
                            versuch mal statt des Pfades den Dateinamen angegeben, also

                            var destpath = '/opt/iobroker/iobroker-data/files/_temp/tasmota.bin'

                            EISDIR bedeutet: "Error, is Directory", es wird versucht, eine Datei in einen Verzeichnisnamen zu kopieren.

                            Viele Grüße,

                            Henning

                            smartboartS 1 Reply Last reply
                            0
                            • H Henning

                              @smartboart said in Skript um auf neue Tasmota Version zu prüfen:

                              var destpath = '/opt/iobroker/iobroker-data/files/_temp/'

                              Hallo Smartboart,
                              versuch mal statt des Pfades den Dateinamen angegeben, also

                              var destpath = '/opt/iobroker/iobroker-data/files/_temp/tasmota.bin'

                              EISDIR bedeutet: "Error, is Directory", es wird versucht, eine Datei in einen Verzeichnisnamen zu kopieren.

                              Viele Grüße,

                              Henning

                              smartboartS Offline
                              smartboartS Offline
                              smartboart
                              wrote on last edited by smartboart
                              #14

                              @Henning sagte in Skript um auf neue Tasmota Version zu prüfen:

                              var destpath = '/opt/iobroker/iobroker-data/files/_temp/tasmota.bin'

                              Danke...das wars....

                              jetzt müsste ich das noch auf den FTP Server rüber schieben...
                              damit klappt es leider nicht...
                              noch ne idee?

                              var destpath1 = 'ftp://usr:pwd@ipadress/iobroker/tasmota/tasmota-minimal.bin'; //zielpfad für bin file
                              
                              
                              
                              //  Firmware automatisch herunter laden
                              
                              
                              var download = true; // under construction
                              var destpath1 = '/opt/iobroker/iobroker-data/files/_temp/tasmota-minimal.bin';
                              var destpath2 = '/opt/iobroker/iobroker-data/files/_temp/tasmota.bin';
                              var downloadlink1 = 'http://thehackbox.org/tasmota/release/tasmota-minimal.bin'; //downloadlink für bin file
                              var downloadlink2 = 'http://thehackbox.org/tasmota/release/tasmota.bin'; //downloadlink für bin file
                              var fs      = require('fs');
                              var request = require('request');
                              var logging = true; 
                              
                              on({id:idUpdate,val:true,change:'ne'},function(dp){
                                  if(download){
                                  download1();
                                  download2();
                                  }
                              });
                              
                              function download1(){
                                  request.get({url: downloadlink1, download: 'binary'}, function (err, response, body) {
                                      fs.writeFile(destpath1, body, 'binary', function(err){
                              if(logging)log('Tasmota Firmwaredownload tasmota-miniml.bin gestartet ');
                              if(sendtelegram) sendTo("telegram.0", "send", {text: ('Tasmota Firmware download tasmota-minimal.bin gestartet')});
                                      if (err && logging){
                                           log('Fehler beim  speichern: ' + err);
                                          }
                                      }); 
                                  });
                              }
                              
                              function download2(){
                                  request.get({url: downloadlink2, download: 'binary'}, function (err, response, body) {
                                      fs.writeFile(destpath2, body, 'binary', function(err){
                              if(logging)log('Tasmota Firmwaredownload tasmota.bin gestartet ');
                              if(sendtelegram) sendTo("telegram.0", "send", {text: ('Tasmota Firmware download tasmota.bin gestartet')});
                                      if (err && logging){
                                           log('Fehler beim  speichern: ' + err);
                                          }
                                      }); 
                                  });
                              } 
                              
                              1 Reply Last reply
                              0
                              • Basti97B Offline
                                Basti97B Offline
                                Basti97
                                Most Active
                                wrote on last edited by
                                #15

                                Gibt es ein fertiges Script inklusive Telegram benachrichtigung von dir @smartboart :)
                                und Visu Anzeige.

                                Iobroker läuft als VM auf Proxmoxserver x folgende Hersteller im Einsatz Sonoff, Gosund, Siemens x Aofo über Tasmota x Zigbee x das Smarthome wächst und wächst

                                smartboartS 1 Reply Last reply
                                0
                                • Basti97B Basti97

                                  Gibt es ein fertiges Script inklusive Telegram benachrichtigung von dir @smartboart :)
                                  und Visu Anzeige.

                                  smartboartS Offline
                                  smartboartS Offline
                                  smartboart
                                  wrote on last edited by
                                  #16

                                  @basti97
                                  https://forum.iobroker.net/topic/38118/vorlage-tasmota-one-click-firmware-update-vis-javascript?_=1624399595655

                                  Basti97B 1 Reply Last reply
                                  0
                                  • smartboartS smartboart

                                    @basti97
                                    https://forum.iobroker.net/topic/38118/vorlage-tasmota-one-click-firmware-update-vis-javascript?_=1624399595655

                                    Basti97B Offline
                                    Basti97B Offline
                                    Basti97
                                    Most Active
                                    wrote on last edited by
                                    #17

                                    @smartboart Danke ich werde es testen.

                                    Iobroker läuft als VM auf Proxmoxserver x folgende Hersteller im Einsatz Sonoff, Gosund, Siemens x Aofo über Tasmota x Zigbee x das Smarthome wächst und wächst

                                    1 Reply Last reply
                                    0
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    564

                                    Online

                                    32.7k

                                    Users

                                    82.4k

                                    Topics

                                    1.3m

                                    Posts
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                    ioBroker Community 2014-2025
                                    logo
                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Home
                                    • Recent
                                    • Tags
                                    • Unread 0
                                    • Categories
                                    • Unreplied
                                    • Popular
                                    • GitHub
                                    • Docu
                                    • Hilfe