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. Visualisierung
  4. [gelöst] Dynamische URL aus Datenpunkt als View-Hintergrund

NEWS

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

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

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

[gelöst] Dynamische URL aus Datenpunkt als View-Hintergrund

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
30 Beiträge 6 Kommentatoren 6.9k Aufrufe 10 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.
  • opossumO Offline
    opossumO Offline
    opossum
    schrieb am zuletzt editiert von opossum
    #10

    Hallo,
    wir (@Glasfaser und ich) haben es nun hinbekommen. Mittels Script hole ich mir jeden Tag den Link zum Bild. Dann mache ich einen Download, wobei der Dateiname fest vergeben ist. Das Script erneuert die Datei also einmal in 24 Stunden. Auf den Views habe ich den Hintergrund auf diese Datei eingetragen.
    Man muss in den Einstellungen des Javascript-Adapters folgendes Modul hinzufügen:
    request

    Hier das Script:

    schedule('10 0 * * *' , function()
    {
    const id_uri = 'javascript.0.Bild';
    var uri = getState(id_uri).val; 
    var fs = require('fs');
    var request = require('request');
    
    createState('javascript.0.Bild', "");
    createState('javascript.0.Title', "");
    BilddesTages();
    function BilddesTages(){
            var url = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=de-DE';
            request(url, function (err, state, body){
                if (body) {
                    body = JSON.parse(body);
                    var bild = "https://bing.com/" + body.images[0].url;
                    var title = body.images[0].title;
                    setState("javascript.0.Bild", bild);
                    setState("javascript.0.Title", title);
                } else {
                }
            });
    }
    exec('rm -f /media/backup/bild.jpg');
    setTimeout(function(){
    var download = function(uri, filename, callback){
      request.head(uri, function(err, res, body){
        console.log('content-type:', res.headers['content-type']);
        console.log('content-length:', res.headers['content-length']);
        request(uri).pipe(fs.createWriteStream(filename)).on('close', callback);
      });
    };
    download(uri, '/media/backup/bild.jpg', function(){
      console.log('Bild heruntergeladen');
     
    setTimeout(function(){
    const bild1 = fs.readFileSync('/media/backup/bild.jpg');
    writeFile('vis.0','/main/img/bild_des_tages/bild.jpg', bild1);
    console.log('Bild kopiert')
    }, 30000);           
    });
    }, 30000);
    });
    
    

    Ich habe dabei den Pfad /media/backup als Downloadpfad genommen, vor dem Download wird die vorhandene Datei gelöscht. Das Script kopiert dann die Datei von /media/backup/ nach /opt/iobroker/iobroker-data/files/vis.0/main/img/bild_des_tages/. Der Link auf die Datei in der View sieht wie folgt aus:

    url(http://192.168.1.100:8082/vis.0/main/img/bild_des_tages/bild.jpg)
    

    04cd2131-2754-41fc-8a49-1b98f8c1f684-image.png
    … und die View sieht dann wie folgt aus:
    82665c25-21ee-4283-89dd-4e596a129a82-image.png

    https://schlepper-petersdorf.jimdofree.com/

    Basti97B 1 Antwort Letzte Antwort
    3
    • opossumO Offline
      opossumO Offline
      opossum
      schrieb am zuletzt editiert von opossum
      #11

      Hallo,

      andere Variante mit CSS geht nun auch. In der View in der globalen CSS-Sektion folgendes eintragen:
      d723a3d3-c330-43ca-beb8-bdce9f4db5ab-image.png
      Hier noch mal der Code zum Kopieren. Man kann hier natürlich noch mehr Eigenschaften für das Image festlegen, wenn man das möchte.

      .hintergrund{
          background-image: url(http://192.168.1.100:8082/vis.0/main/img/bild_des_tages/bild.jpg);
      }
      

      Dann in den View-Eigenschaften noch die CSS-Klasse eintragen, fertig.
      f3bb7ad8-1d88-49ea-ac22-1aeadb55ecdb-image.png und die View sieht dann wie folgt aus, hier mal meine Seitenvorlage:

      5fed9398-d12e-4312-9663-a98beff0ca70-image.png

      https://schlepper-petersdorf.jimdofree.com/

      GlasfaserG TG70T 2 Antworten Letzte Antwort
      1
      • opossumO opossum

        Hallo,

        andere Variante mit CSS geht nun auch. In der View in der globalen CSS-Sektion folgendes eintragen:
        d723a3d3-c330-43ca-beb8-bdce9f4db5ab-image.png
        Hier noch mal der Code zum Kopieren. Man kann hier natürlich noch mehr Eigenschaften für das Image festlegen, wenn man das möchte.

        .hintergrund{
            background-image: url(http://192.168.1.100:8082/vis.0/main/img/bild_des_tages/bild.jpg);
        }
        

        Dann in den View-Eigenschaften noch die CSS-Klasse eintragen, fertig.
        f3bb7ad8-1d88-49ea-ac22-1aeadb55ecdb-image.png und die View sieht dann wie folgt aus, hier mal meine Seitenvorlage:

        5fed9398-d12e-4312-9663-a98beff0ca70-image.png

        GlasfaserG Offline
        GlasfaserG Offline
        Glasfaser
        schrieb am zuletzt editiert von
        #12

        @opossum

        Sehr schön erklärt ,dein ToDo :+1:

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

        1 Antwort Letzte Antwort
        1
        • opossumO Offline
          opossumO Offline
          opossum
          schrieb am zuletzt editiert von opossum
          #13

          Hallo,

          ich musste das Script im ersten Beitrag noch einmal anpassen, da das Überschreiben der Datei nicht funktionierte. Ich downloade die Datei jetzt erst einmal nach /media/backup. Hier muss man eventuell im Terminalfenster das Verzeichnis mit entsprechenden Rechten ausstatten -

          sudo chmod 777 media
          

          und dann auch im Verzeichnis media das backup-Verzeichnis entsprechend anpassen

          sudo chmod 777 backup
          

          , wenn der Download nicht klappt. Dann kopiere ich die Datei in den vis.0...-Pfad. Muss das jetzt beobachten, ob es so funktioniert.

          https://schlepper-petersdorf.jimdofree.com/

          GlasfaserG 1 Antwort Letzte Antwort
          0
          • opossumO opossum

            Hallo,

            ich musste das Script im ersten Beitrag noch einmal anpassen, da das Überschreiben der Datei nicht funktionierte. Ich downloade die Datei jetzt erst einmal nach /media/backup. Hier muss man eventuell im Terminalfenster das Verzeichnis mit entsprechenden Rechten ausstatten -

            sudo chmod 777 media
            

            und dann auch im Verzeichnis media das backup-Verzeichnis entsprechend anpassen

            sudo chmod 777 backup
            

            , wenn der Download nicht klappt. Dann kopiere ich die Datei in den vis.0...-Pfad. Muss das jetzt beobachten, ob es so funktioniert.

            GlasfaserG Offline
            GlasfaserG Offline
            Glasfaser
            schrieb am zuletzt editiert von Glasfaser
            #14

            @opossum

            Vielleicht so:

            
            download(uri, '/tmp/bild.jpg', function(){
            
             
            
            // Bild kopieren in VIS Verzeichnis für Anzeige im Webübersichtsbild      
            
            setTimeout(function(){
            
                      const bild1 = fs.readFileSync('/tmp/bild.jpg');
            
                      writeFile('vis.0','/main/img/bild_des_tages/bild.jpg', bild1);
            
                      console.log('Bild kopiert')    
            
                     });
            
                    }, 30000); // 20 sek warten bevor man das JPG umkopiert   
            
            

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

            1 Antwort Letzte Antwort
            2
            • opossumO Offline
              opossumO Offline
              opossum
              schrieb am zuletzt editiert von opossum
              #15

              Hallo, @Glasfaser ,

              danke Dir, habe das Script oben mal angepasst. Heute hat es nicht funktioniert, da ich die Ermittlung des Bildes nicht mehr im Script hatte :confused: . Mal sehen, wie das heute nacht aussieht. Das umkopieren funktioniert.
              EDIT: Ich habe noch den Löschbefehl für die vorhandene Bilddatei eingefügt. Das Löschen passiert vor dem erneuten Download. Jetzt bleibt nur noch, in das Script die Error-Behandlung einzubauen.

              https://schlepper-petersdorf.jimdofree.com/

              1 Antwort Letzte Antwort
              0
              • opossumO opossum

                Hallo,

                andere Variante mit CSS geht nun auch. In der View in der globalen CSS-Sektion folgendes eintragen:
                d723a3d3-c330-43ca-beb8-bdce9f4db5ab-image.png
                Hier noch mal der Code zum Kopieren. Man kann hier natürlich noch mehr Eigenschaften für das Image festlegen, wenn man das möchte.

                .hintergrund{
                    background-image: url(http://192.168.1.100:8082/vis.0/main/img/bild_des_tages/bild.jpg);
                }
                

                Dann in den View-Eigenschaften noch die CSS-Klasse eintragen, fertig.
                f3bb7ad8-1d88-49ea-ac22-1aeadb55ecdb-image.png und die View sieht dann wie folgt aus, hier mal meine Seitenvorlage:

                5fed9398-d12e-4312-9663-a98beff0ca70-image.png

                TG70T Offline
                TG70T Offline
                TG70
                Forum Testing
                schrieb am zuletzt editiert von
                #16

                Hallo,
                geht die Änderung des Hintergrundes auch wenn ich nur einen Farbcode verwenden möchte.
                Mein Vorhaben: Alle Views gleichzeitig ändern zu können?

                ∘ MB ASRock J4105M Intel J4105 CPU M-ATX | 16 GB RAM | 480 GB SSD ∘ PROXMOX LCX-Container > IoBroker

                opossumO 1 Antwort Letzte Antwort
                0
                • TG70T TG70

                  Hallo,
                  geht die Änderung des Hintergrundes auch wenn ich nur einen Farbcode verwenden möchte.
                  Mein Vorhaben: Alle Views gleichzeitig ändern zu können?

                  opossumO Offline
                  opossumO Offline
                  opossum
                  schrieb am zuletzt editiert von
                  #17

                  Hallo, @tg70,

                  das habe ich nicht probiert, müsste man das Hintergrund CSS vielleicht anpassen?

                  https://schlepper-petersdorf.jimdofree.com/

                  TG70T 1 Antwort Letzte Antwort
                  0
                  • opossumO opossum

                    Hallo, @tg70,

                    das habe ich nicht probiert, müsste man das Hintergrund CSS vielleicht anpassen?

                    TG70T Offline
                    TG70T Offline
                    TG70
                    Forum Testing
                    schrieb am zuletzt editiert von
                    #18

                    @opossum ... Ok schade, denn genau sowas suche ich gerade

                    ∘ MB ASRock J4105M Intel J4105 CPU M-ATX | 16 GB RAM | 480 GB SSD ∘ PROXMOX LCX-Container > IoBroker

                    1 Antwort Letzte Antwort
                    0
                    • Basti97B Offline
                      Basti97B Offline
                      Basti97
                      Most Active
                      schrieb am zuletzt editiert von
                      #19

                      Ich bin gerade auf dein Post gestoßen. Funktoniert dein Script noch? Ich wollte für meine vis auch ein veränderbares Hindergrund Bild einfügen.

                      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

                      opossumO 1 Antwort Letzte Antwort
                      0
                      • Basti97B Basti97

                        Ich bin gerade auf dein Post gestoßen. Funktoniert dein Script noch? Ich wollte für meine vis auch ein veränderbares Hindergrund Bild einfügen.

                        opossumO Offline
                        opossumO Offline
                        opossum
                        schrieb am zuletzt editiert von opossum
                        #20

                        Hallo, @basti97,

                        ja, das funktioniert noch. Habe gerade geschaut, wurde um gestern um 02:30 Uhr heruntergeladen und kopiert.

                        https://schlepper-petersdorf.jimdofree.com/

                        Basti97B 1 Antwort Letzte Antwort
                        0
                        • opossumO opossum

                          Hallo, @basti97,

                          ja, das funktioniert noch. Habe gerade geschaut, wurde um gestern um 02:30 Uhr heruntergeladen und kopiert.

                          Basti97B Offline
                          Basti97B Offline
                          Basti97
                          Most Active
                          schrieb am zuletzt editiert von
                          #21

                          @opossum Super Danke also brauche ich nur das Script einfügen und dann habe ich das Bild. Ich probiere es mal aus.

                          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 Antwort Letzte Antwort
                          0
                          • opossumO opossum

                            Hallo,
                            wir (@Glasfaser und ich) haben es nun hinbekommen. Mittels Script hole ich mir jeden Tag den Link zum Bild. Dann mache ich einen Download, wobei der Dateiname fest vergeben ist. Das Script erneuert die Datei also einmal in 24 Stunden. Auf den Views habe ich den Hintergrund auf diese Datei eingetragen.
                            Man muss in den Einstellungen des Javascript-Adapters folgendes Modul hinzufügen:
                            request

                            Hier das Script:

                            schedule('10 0 * * *' , function()
                            {
                            const id_uri = 'javascript.0.Bild';
                            var uri = getState(id_uri).val; 
                            var fs = require('fs');
                            var request = require('request');
                            
                            createState('javascript.0.Bild', "");
                            createState('javascript.0.Title', "");
                            BilddesTages();
                            function BilddesTages(){
                                    var url = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=de-DE';
                                    request(url, function (err, state, body){
                                        if (body) {
                                            body = JSON.parse(body);
                                            var bild = "https://bing.com/" + body.images[0].url;
                                            var title = body.images[0].title;
                                            setState("javascript.0.Bild", bild);
                                            setState("javascript.0.Title", title);
                                        } else {
                                        }
                                    });
                            }
                            exec('rm -f /media/backup/bild.jpg');
                            setTimeout(function(){
                            var download = function(uri, filename, callback){
                              request.head(uri, function(err, res, body){
                                console.log('content-type:', res.headers['content-type']);
                                console.log('content-length:', res.headers['content-length']);
                                request(uri).pipe(fs.createWriteStream(filename)).on('close', callback);
                              });
                            };
                            download(uri, '/media/backup/bild.jpg', function(){
                              console.log('Bild heruntergeladen');
                             
                            setTimeout(function(){
                            const bild1 = fs.readFileSync('/media/backup/bild.jpg');
                            writeFile('vis.0','/main/img/bild_des_tages/bild.jpg', bild1);
                            console.log('Bild kopiert')
                            }, 30000);           
                            });
                            }, 30000);
                            });
                            
                            

                            Ich habe dabei den Pfad /media/backup als Downloadpfad genommen, vor dem Download wird die vorhandene Datei gelöscht. Das Script kopiert dann die Datei von /media/backup/ nach /opt/iobroker/iobroker-data/files/vis.0/main/img/bild_des_tages/. Der Link auf die Datei in der View sieht wie folgt aus:

                            url(http://192.168.1.100:8082/vis.0/main/img/bild_des_tages/bild.jpg)
                            

                            04cd2131-2754-41fc-8a49-1b98f8c1f684-image.png
                            … und die View sieht dann wie folgt aus:
                            82665c25-21ee-4283-89dd-4e596a129a82-image.png

                            Basti97B Offline
                            Basti97B Offline
                            Basti97
                            Most Active
                            schrieb am zuletzt editiert von
                            #22

                            @opossum said in [gelöst] Dynamische URL aus Datenpunkt als View-Hintergrund:

                            Hallo,
                            wir (@Glasfaser und ich) haben es nun hinbekommen. Mittels Script hole ich mir jeden Tag den Link zum Bild. Dann mache ich einen Download, wobei der Dateiname fest vergeben ist. Das Script erneuert die Datei also einmal in 24 Stunden. Auf den Views habe ich den Hintergrund auf diese Datei eingetragen.
                            Man muss in den Einstellungen des Javascript-Adapters folgendes Modul hinzufügen:
                            request

                            Hier das Script:

                            schedule('10 0 * * *' , function()
                            {
                            const id_uri = 'javascript.0.Bild';
                            var uri = getState(id_uri).val; 
                            var fs = require('fs');
                            var request = require('request');
                            
                            createState('javascript.0.Bild', "");
                            createState('javascript.0.Title', "");
                            BilddesTages();
                            function BilddesTages(){
                                    var url = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=de-DE';
                                    request(url, function (err, state, body){
                                        if (body) {
                                            body = JSON.parse(body);
                                            var bild = "https://bing.com/" + body.images[0].url;
                                            var title = body.images[0].title;
                                            setState("javascript.0.Bild", bild);
                                            setState("javascript.0.Title", title);
                                        } else {
                                        }
                                    });
                            }
                            exec('rm -f /media/backup/bild.jpg');
                            setTimeout(function(){
                            var download = function(uri, filename, callback){
                              request.head(uri, function(err, res, body){
                                console.log('content-type:', res.headers['content-type']);
                                console.log('content-length:', res.headers['content-length']);
                                request(uri).pipe(fs.createWriteStream(filename)).on('close', callback);
                              });
                            };
                            download(uri, '/media/backup/bild.jpg', function(){
                              console.log('Bild heruntergeladen');
                             
                            setTimeout(function(){
                            const bild1 = fs.readFileSync('/media/backup/bild.jpg');
                            writeFile('vis.0','/main/img/bild_des_tages/bild.jpg', bild1);
                            console.log('Bild kopiert')
                            }, 30000);           
                            });
                            }, 30000);
                            });
                            
                            

                            Ich habe dabei den Pfad /media/backup als Downloadpfad genommen, vor dem Download wird die vorhandene Datei gelöscht. Das Script kopiert dann die Datei von /media/backup/ nach /opt/iobroker/iobroker-data/files/vis.0/main/img/bild_des_tages/. Der Link auf die Datei in der View sieht wie folgt aus:

                            url(http://192.168.1.100:8082/vis.0/main/img/bild_des_tages/bild.jpg)
                            

                            04cd2131-2754-41fc-8a49-1b98f8c1f684-image.png
                            … und die View sieht dann wie folgt aus:
                            82665c25-21ee-4283-89dd-4e596a129a82-image.png

                            Ist es das aktuelle???

                            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

                            opossumO 1 Antwort Letzte Antwort
                            0
                            • Basti97B Basti97

                              @opossum said in [gelöst] Dynamische URL aus Datenpunkt als View-Hintergrund:

                              Hallo,
                              wir (@Glasfaser und ich) haben es nun hinbekommen. Mittels Script hole ich mir jeden Tag den Link zum Bild. Dann mache ich einen Download, wobei der Dateiname fest vergeben ist. Das Script erneuert die Datei also einmal in 24 Stunden. Auf den Views habe ich den Hintergrund auf diese Datei eingetragen.
                              Man muss in den Einstellungen des Javascript-Adapters folgendes Modul hinzufügen:
                              request

                              Hier das Script:

                              schedule('10 0 * * *' , function()
                              {
                              const id_uri = 'javascript.0.Bild';
                              var uri = getState(id_uri).val; 
                              var fs = require('fs');
                              var request = require('request');
                              
                              createState('javascript.0.Bild', "");
                              createState('javascript.0.Title', "");
                              BilddesTages();
                              function BilddesTages(){
                                      var url = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=de-DE';
                                      request(url, function (err, state, body){
                                          if (body) {
                                              body = JSON.parse(body);
                                              var bild = "https://bing.com/" + body.images[0].url;
                                              var title = body.images[0].title;
                                              setState("javascript.0.Bild", bild);
                                              setState("javascript.0.Title", title);
                                          } else {
                                          }
                                      });
                              }
                              exec('rm -f /media/backup/bild.jpg');
                              setTimeout(function(){
                              var download = function(uri, filename, callback){
                                request.head(uri, function(err, res, body){
                                  console.log('content-type:', res.headers['content-type']);
                                  console.log('content-length:', res.headers['content-length']);
                                  request(uri).pipe(fs.createWriteStream(filename)).on('close', callback);
                                });
                              };
                              download(uri, '/media/backup/bild.jpg', function(){
                                console.log('Bild heruntergeladen');
                               
                              setTimeout(function(){
                              const bild1 = fs.readFileSync('/media/backup/bild.jpg');
                              writeFile('vis.0','/main/img/bild_des_tages/bild.jpg', bild1);
                              console.log('Bild kopiert')
                              }, 30000);           
                              });
                              }, 30000);
                              });
                              
                              

                              Ich habe dabei den Pfad /media/backup als Downloadpfad genommen, vor dem Download wird die vorhandene Datei gelöscht. Das Script kopiert dann die Datei von /media/backup/ nach /opt/iobroker/iobroker-data/files/vis.0/main/img/bild_des_tages/. Der Link auf die Datei in der View sieht wie folgt aus:

                              url(http://192.168.1.100:8082/vis.0/main/img/bild_des_tages/bild.jpg)
                              

                              04cd2131-2754-41fc-8a49-1b98f8c1f684-image.png
                              … und die View sieht dann wie folgt aus:
                              82665c25-21ee-4283-89dd-4e596a129a82-image.png

                              Ist es das aktuelle???

                              opossumO Offline
                              opossumO Offline
                              opossum
                              schrieb am zuletzt editiert von opossum
                              #23

                              Hallo, @basti97 ,
                              stelle das aktuelle Script zur Sicherheit hier noch mal ein, um 02:30 Uhr wird das Bild täglich heruntergeladen.

                              schedule('30 2 * * *' , function()
                              {
                              var fs = require('fs');
                              //Neue URL holen
                              const id_uri = '0_userdata.0.Bild';
                              var uri = getState(id_uri).val; 
                              //Löschen Bild vom Vortag
                              exec('rm -f /media/bild.jpg');
                              //Neues Bild Download
                              setTimeout(function(){
                              var download = function(uri, filename, callback){
                                request(uri, function(err, res, body){
                                  console.log('content-type:', res.headers['content-type']);
                                  console.log('content-length:', res.headers['content-length']);
                                  request(uri).pipe(fs.createWriteStream(filename)).on('close', callback);
                                });
                              };
                              download(uri, '/media/bild.jpg', function(err){
                                  if(err) {
                                      console.log('Fehler beim Herunterladen des Bildes');
                                  } else {
                                      console.log('Bild heruntergeladen');
                                  }
                              // Bild kopieren in VIS Verzeichnis für Anzeige im Webübersichtsbild      
                              setTimeout(function(){
                              const bild1 = fs.readFileSync('/media/bild.jpg');
                              delFile('vis.0', '/main/img/bild_des_tages/bild.jpg', function (err) {}); 
                              writeFile('vis.0','/main/img/bild_des_tages/bild.jpg', bild1);
                              console.log('Bild kopiert')
                              }, 30000);           
                              });
                              }, 30000);
                              });
                              

                              Habe die Datenpunkte mittlerweile in den Userdata-Bereich umgezogen.

                              Habe jetzt noch ein zusätzliches Script, das mir die Bildurl täglich 02.15 Uhr in meine Datenpunkte schreibt.

                              schedule('15 2 * * *' , function()
                              {
                              createState('0_userdata.0.Bild_des_Tages.Bild', "");
                              createState('0_userdata.0.Bild_des_Tages.Title', "");
                              BilddesTages();
                              function BilddesTages(){
                                      var url = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=de-DE';
                                      request(url, function (err, state, body){
                                          if (body) {
                                              body = JSON.parse(body);
                                              var bild = "https://bing.com/" + body.images[0].url;
                                              var title = body.images[0].title;
                                              setState("0_userdata.0.Bild_des_Tages.Bild", bild);
                                              setState("0_userdata.0.Bild_des_Tages.Title", title);
                                          } else {
                                          }
                                      });
                              }
                              });
                              

                              Liegt daran, dass ich auf meiner VIS einen Copyrighthinweis eingebaut habe. Man weiß ja nie.

                              https://schlepper-petersdorf.jimdofree.com/

                              Basti97B 2 Antworten Letzte Antwort
                              0
                              • opossumO opossum

                                Hallo, @basti97 ,
                                stelle das aktuelle Script zur Sicherheit hier noch mal ein, um 02:30 Uhr wird das Bild täglich heruntergeladen.

                                schedule('30 2 * * *' , function()
                                {
                                var fs = require('fs');
                                //Neue URL holen
                                const id_uri = '0_userdata.0.Bild';
                                var uri = getState(id_uri).val; 
                                //Löschen Bild vom Vortag
                                exec('rm -f /media/bild.jpg');
                                //Neues Bild Download
                                setTimeout(function(){
                                var download = function(uri, filename, callback){
                                  request(uri, function(err, res, body){
                                    console.log('content-type:', res.headers['content-type']);
                                    console.log('content-length:', res.headers['content-length']);
                                    request(uri).pipe(fs.createWriteStream(filename)).on('close', callback);
                                  });
                                };
                                download(uri, '/media/bild.jpg', function(err){
                                    if(err) {
                                        console.log('Fehler beim Herunterladen des Bildes');
                                    } else {
                                        console.log('Bild heruntergeladen');
                                    }
                                // Bild kopieren in VIS Verzeichnis für Anzeige im Webübersichtsbild      
                                setTimeout(function(){
                                const bild1 = fs.readFileSync('/media/bild.jpg');
                                delFile('vis.0', '/main/img/bild_des_tages/bild.jpg', function (err) {}); 
                                writeFile('vis.0','/main/img/bild_des_tages/bild.jpg', bild1);
                                console.log('Bild kopiert')
                                }, 30000);           
                                });
                                }, 30000);
                                });
                                

                                Habe die Datenpunkte mittlerweile in den Userdata-Bereich umgezogen.

                                Habe jetzt noch ein zusätzliches Script, das mir die Bildurl täglich 02.15 Uhr in meine Datenpunkte schreibt.

                                schedule('15 2 * * *' , function()
                                {
                                createState('0_userdata.0.Bild_des_Tages.Bild', "");
                                createState('0_userdata.0.Bild_des_Tages.Title', "");
                                BilddesTages();
                                function BilddesTages(){
                                        var url = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=de-DE';
                                        request(url, function (err, state, body){
                                            if (body) {
                                                body = JSON.parse(body);
                                                var bild = "https://bing.com/" + body.images[0].url;
                                                var title = body.images[0].title;
                                                setState("0_userdata.0.Bild_des_Tages.Bild", bild);
                                                setState("0_userdata.0.Bild_des_Tages.Title", title);
                                            } else {
                                            }
                                        });
                                }
                                });
                                

                                Liegt daran, dass ich auf meiner VIS einen Copyrighthinweis eingebaut habe. Man weiß ja nie.

                                Basti97B Offline
                                Basti97B Offline
                                Basti97
                                Most Active
                                schrieb am zuletzt editiert von
                                #24

                                @opossum Super Danke und die beiden Scripte muss ich dann einfach einfügen. Wird eigentlich ein Datenpunk benötigt?

                                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

                                opossumO 1 Antwort Letzte Antwort
                                0
                                • Basti97B Basti97

                                  @opossum Super Danke und die beiden Scripte muss ich dann einfach einfügen. Wird eigentlich ein Datenpunk benötigt?

                                  opossumO Offline
                                  opossumO Offline
                                  opossum
                                  schrieb am zuletzt editiert von
                                  #25

                                  Hallo, @basti97,

                                  ja, ich habe die beiden Datenpunkte 0_userdata.0.Bild_des_Tages.Bild und 0_userdata.0.Bild_des_Tages.Title angelegt.

                                  https://schlepper-petersdorf.jimdofree.com/

                                  Basti97B 1 Antwort Letzte Antwort
                                  0
                                  • opossumO opossum

                                    Hallo, @basti97,

                                    ja, ich habe die beiden Datenpunkte 0_userdata.0.Bild_des_Tages.Bild und 0_userdata.0.Bild_des_Tages.Title angelegt.

                                    Basti97B Offline
                                    Basti97B Offline
                                    Basti97
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #26

                                    @opossum Also muss ich sie per Hand in den Ordner erstellen oder geht das automatisch??

                                    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

                                    GlasfaserG 1 Antwort Letzte Antwort
                                    0
                                    • Basti97B Basti97

                                      @opossum Also muss ich sie per Hand in den Ordner erstellen oder geht das automatisch??

                                      GlasfaserG Offline
                                      GlasfaserG Offline
                                      Glasfaser
                                      schrieb am zuletzt editiert von
                                      #27

                                      @basti97 sagte in [gelöst] Dynamische URL aus Datenpunkt als View-Hintergrund:

                                      geht das automatisch??

                                      Jipp ,deswegen ist das drin :

                                      createState
                                      

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

                                      Basti97B 1 Antwort Letzte Antwort
                                      0
                                      • GlasfaserG Glasfaser

                                        @basti97 sagte in [gelöst] Dynamische URL aus Datenpunkt als View-Hintergrund:

                                        geht das automatisch??

                                        Jipp ,deswegen ist das drin :

                                        createState
                                        
                                        Basti97B Offline
                                        Basti97B Offline
                                        Basti97
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #28

                                        @glasfaser Dankeschön :)

                                        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 Antwort Letzte Antwort
                                        0
                                        • opossumO opossum

                                          Hallo, @basti97 ,
                                          stelle das aktuelle Script zur Sicherheit hier noch mal ein, um 02:30 Uhr wird das Bild täglich heruntergeladen.

                                          schedule('30 2 * * *' , function()
                                          {
                                          var fs = require('fs');
                                          //Neue URL holen
                                          const id_uri = '0_userdata.0.Bild';
                                          var uri = getState(id_uri).val; 
                                          //Löschen Bild vom Vortag
                                          exec('rm -f /media/bild.jpg');
                                          //Neues Bild Download
                                          setTimeout(function(){
                                          var download = function(uri, filename, callback){
                                            request(uri, function(err, res, body){
                                              console.log('content-type:', res.headers['content-type']);
                                              console.log('content-length:', res.headers['content-length']);
                                              request(uri).pipe(fs.createWriteStream(filename)).on('close', callback);
                                            });
                                          };
                                          download(uri, '/media/bild.jpg', function(err){
                                              if(err) {
                                                  console.log('Fehler beim Herunterladen des Bildes');
                                              } else {
                                                  console.log('Bild heruntergeladen');
                                              }
                                          // Bild kopieren in VIS Verzeichnis für Anzeige im Webübersichtsbild      
                                          setTimeout(function(){
                                          const bild1 = fs.readFileSync('/media/bild.jpg');
                                          delFile('vis.0', '/main/img/bild_des_tages/bild.jpg', function (err) {}); 
                                          writeFile('vis.0','/main/img/bild_des_tages/bild.jpg', bild1);
                                          console.log('Bild kopiert')
                                          }, 30000);           
                                          });
                                          }, 30000);
                                          });
                                          

                                          Habe die Datenpunkte mittlerweile in den Userdata-Bereich umgezogen.

                                          Habe jetzt noch ein zusätzliches Script, das mir die Bildurl täglich 02.15 Uhr in meine Datenpunkte schreibt.

                                          schedule('15 2 * * *' , function()
                                          {
                                          createState('0_userdata.0.Bild_des_Tages.Bild', "");
                                          createState('0_userdata.0.Bild_des_Tages.Title', "");
                                          BilddesTages();
                                          function BilddesTages(){
                                                  var url = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=de-DE';
                                                  request(url, function (err, state, body){
                                                      if (body) {
                                                          body = JSON.parse(body);
                                                          var bild = "https://bing.com/" + body.images[0].url;
                                                          var title = body.images[0].title;
                                                          setState("0_userdata.0.Bild_des_Tages.Bild", bild);
                                                          setState("0_userdata.0.Bild_des_Tages.Title", title);
                                                      } else {
                                                      }
                                                  });
                                          }
                                          });
                                          

                                          Liegt daran, dass ich auf meiner VIS einen Copyrighthinweis eingebaut habe. Man weiß ja nie.

                                          Basti97B Offline
                                          Basti97B Offline
                                          Basti97
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #29

                                          @opossum Ich habe noch eine Frage? Um den Scripten einen Namen zu geben. Was macht das erste und zweite Script?
                                          Ich könnte mir folgendes vorstellen: 1 Script. Bild abspeichern
                                          2 Script. altes Bild löschen

                                          ist das so richtig?? :)

                                          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

                                          GlasfaserG 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

                                          897

                                          Online

                                          32.4k

                                          Benutzer

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