Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Slideshow (ehemals Diashow) v0.1.x

    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

    Test Adapter Slideshow (ehemals Diashow) v0.1.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Raabensohn last edited by Raabensohn

      hat sich erledigt.... 😉

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

        Super Adapter! Danke dafür👍
        Leider habe ich zwei Probleme, vielleicht liegt es auch einfach an mir. Zumindest konnte ich in den issus und hier im Forum nichts dazu finden.
        Ausgangssituation:
        Ich habe ein Android Tablet mit einer VIS an der Wand. Als Navigation benutze ich das "Material Design top Bar" widget in Verbindung mit "iframe 8 widget". Wie weiter oben schon empfohlen habe ich die Slideshow über eine neue View realisiert.
        Leider habe ich das Problem das sich die Slideshow nur dann automatisch aktiviert wenn ich in das top bar widget tippe. Tippen in den iframe widget teil haben keinen einfluss auf die aktivitäten der Slideshow.
        Außerdem habe ich den Effekt, dass wenn beim klingeln auf die Kamer view geschalt wird auch die Slideshow nicht automatisch startet, erst wenn ich wieder im Bereich der top bar tippe startet die Slideshow.
        Kann mir da einer helfen?

        1 Reply Last reply Reply Quote 0
        • R
          RandyAndy @AggroRalf last edited by

          @aggroralf

          Hallo Ralf,

          ich versende den Adpater nun schon ein Weile und alles läuft wunderbar. Ich verwende den Adapter um Sehenswürdigkeiten und Attraktionen anzuzeigen.
          Wird auch positiv angenommen.
          Ich bin aber mal so frech zu fragen ob es möglich wäre zu Bildern einen http:// Link zu hinterlegen. Sobald man das Bild anklickt wird dann ein Fenster (iframe z.B.) geöffnet und der hinterlegte Link geöffnet.
          Könnte man vielleicht im Dateinamen hinterlegen z.B. getrennt durch einen # oder über eine Datenbank, JSON, etc die die Bilder des Folders und den Link verbindet.

          Nur mal so als Idee.

          Andreas

          1 Reply Last reply Reply Quote 0
          • H
            Hausbaer last edited by

            Ich Versuche verzweifelt, Bilder von meiner OMV NAS zu verlinken.

            Hat dies schon jemand am Laufen?

            1 Reply Last reply Reply Quote 0
            • Rene R
              Rene R last edited by

              @Ralf

              Hallo wäre es möglich im Localen Ordner die Bilder nach den neusten Bilder zu suchen und anzuzeigen statt zuerst die alten Bilder und dann auf die neuen.

              Gruß Rene

              A 1 Reply Last reply Reply Quote 0
              • A
                AggroRalf Developer @Rene R last edited by

                @rene-r Hi, eine bestimmte Reihenfolge muss es halt geben 🙂

                Aktuell ist es glaub einfach nach Dateiname im Ordner, mehr nicht.

                Rene R 1 Reply Last reply Reply Quote 0
                • Rene R
                  Rene R @AggroRalf last edited by

                  @aggroralf

                  und wie kann ich es machen dass die neusten Bilder angezeigt werden, es gibt ja ein Tool um die Bilderdatei umzuschreiben nach Erstellungsdatum.

                  oder wäre es möglich ein kleines Skript zu schreiben wo nach Namen suchen tut, denn im Adapter stehen ja die Dateinamen.

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    AggroRalf Developer @Rene R last edited by

                    @rene-r Meinst externe Tools ? Sowas kann meines Wissens z.B. IrfanView.

                    Rene R 2 Replies Last reply Reply Quote 0
                    • Rene R
                      Rene R @AggroRalf last edited by

                      @aggroralf

                      oder was halt perfekt wäre, wenn man den Adapter mit Google Fotos verbinden könnte und von dort aus die Bilder laden könnte.

                      Das würde mir einiges an Arbeit abnehmen und somit auch alles stabil laufen.

                      Wäre ja ein Vorschlag

                      Gruß

                      Rene

                      1 Reply Last reply Reply Quote 0
                      • Rene R
                        Rene R @AggroRalf last edited by

                        @aggroralf

                        Mit externe Tools kann man ja per Skript ja die Bilder von Google Fotos runterladen bzw. synchronisieren.

                        aber vom Adapter fängt er ja nicht nach den neuen Bildern anzuzeigen sondern fängt bei den alten Bilder an und geht hoch zu den neuen Bildern. und möchte es dass es andersrum ist.

                        1 Reply Last reply Reply Quote 0
                        • H
                          hinsen2k last edited by

                          @AggroRalf

                          Nun hab ich deinen Adapter auch endlich gefunden 🙂 Danke dafür - es scheint genau das zu sein, was ich suche.

                          Allerdings bekomme ich den Adapter wohl nicht sauber installiert. Übers Beta Repository in aktuellster iobroker Version finde ich ihn und kann ihn installieren. Die Instanz ist grün und sollte daher wohl auch funktionieren. Allerdings finde ich es merkwürdig, dass ich unter den Objekten ausschließlich einen Ordner 0 mit dem Bolean Datenpunkt updatepicturelist habe. Mehr nicht. Soll das so sein!?
                          Im Standard ist ja Bing als Bildquelle ausgewählt. Ich denke, dass daraufhin mit dem Widget in der VIS sofort Bilder zu sehen wären, oder? Ich sehe nichts. Auch wenn ich Bilder einer lokalen Quelle auswähle, kommt nichts.
                          Die Standard-Quelle im Datenpunkt slideshow.0.picture existiert bei mir gar nicht. Aber in was müsste Sie ggf. ändern?

                          Ich glaube, bei mir ist der Wurm drin 😉

                          Hast Du einen Tipp für mich?

                          VG
                          sven

                          DJMarc75 1 Reply Last reply Reply Quote 0
                          • DJMarc75
                            DJMarc75 @hinsen2k last edited by

                            @hinsen2k Wie sieht denn die Konfig der Instanz aus ?

                            H 1 Reply Last reply Reply Quote 0
                            • H
                              hinsen2k @DJMarc75 last edited by

                              @djmarc75
                              48944b08-7c5d-4d11-911e-9d2a4682adc0-image.png

                              Eigentlich so, wie es nach der Installation ist. Ich verstehe es so, dass so wenigstens die Bing Bilder sofort sichtbar wären. Aber es ist wie in meinem vorherigen Post bereits beschrieben.

                              1 Reply Last reply Reply Quote 0
                              • M
                                mading last edited by

                                Hi,

                                danke für den tollen Adapter, funktioniert mit Synology DSM wunderbar! Eine Frage, wenn ich mir das Datum wann das Foto aufgenommen wurde, anzeigen lassen möchte, erhalte ich in VIS mit {slideshow.0.date} ein kryptisches Datum (epoch?)

                                96fbdd9b-3e8b-49bd-a4f2-512e1f232a01-image.png

                                In den Datenpunkten ist das Datum korrekt:
                                25674c0d-cc1e-4c13-9782-d7e9444d1873-image.png

                                1 Reply Last reply Reply Quote 0
                                • M
                                  mading last edited by

                                  kann meinen Beitrag nicht editieren. Hat sich erledigt, es gibt ein timestamp widget

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

                                    Tag,
                                    vermisst eigentlich noch jemand, ausser mir, einen DP welcher den aktuellen Dateinamen des Fotos zeigt?
                                    Klar macht das bei BING wenig Sinn aber bei den anderen Methoden schon mehr, da man ja die Dateinamen selbst festlegt.
                                    Ich löse das momentan per Auslesen vom DebugLog und per Skript - aber ist halt nicht optimal 🙃

                                    ISSUE auf GIT hab ich gemacht - gerne dranhängen (https://github.com/gaudes/ioBroker.slideshow/issues/276)

                                    djmarc75 created this issue in gaudes/ioBroker.slideshow

                                    closed start/stop/picname/etc #276

                                    1 Reply Last reply Reply Quote 1
                                    • DJMarc75
                                      DJMarc75 last edited by DJMarc75

                                      Kleiner Edit von mir in der main.js im Verzeichnis

                                      /opt/iobroker/node_modules/iobroker.slideshow/build
                                      

                                      var __create = Object.create;
                                      var __defProp = Object.defineProperty;
                                      var __defProps = Object.defineProperties;
                                      var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
                                      var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
                                      var __getOwnPropNames = Object.getOwnPropertyNames;
                                      var __getOwnPropSymbols = Object.getOwnPropertySymbols;
                                      var __getProtoOf = Object.getPrototypeOf;
                                      var __hasOwnProp = Object.prototype.hasOwnProperty;
                                      var __propIsEnum = Object.prototype.propertyIsEnumerable;
                                      var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
                                      var __spreadValues = (a, b) => {
                                       for (var prop in b || (b = {}))
                                         if (__hasOwnProp.call(b, prop))
                                           __defNormalProp(a, prop, b[prop]);
                                       if (__getOwnPropSymbols)
                                         for (var prop of __getOwnPropSymbols(b)) {
                                           if (__propIsEnum.call(b, prop))
                                             __defNormalProp(a, prop, b[prop]);
                                         }
                                       return a;
                                      };
                                      var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
                                      var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
                                      var __reExport = (target, module2, copyDefault, desc) => {
                                       if (module2 && typeof module2 === "object" || typeof module2 === "function") {
                                         for (let key of __getOwnPropNames(module2))
                                           if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
                                             __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
                                       }
                                       return target;
                                      };
                                      var __toESM = (module2, isNodeMode) => {
                                       return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
                                      };
                                      var utils = __toESM(require("@iobroker/adapter-core"));
                                      var import_global_helper = require("./modules/global-helper");
                                      var slideBing = __toESM(require("./modules/slideBing"));
                                      var slideLocal = __toESM(require("./modules/slideLocal"));
                                      var slideFS = __toESM(require("./modules/slideFS"));
                                      var slideSyno = __toESM(require("./modules/slideSynology"));
                                      let Helper;
                                      const MsgErrUnknown = "Unknown Error";
                                      let UpdateRunning = false;
                                      class Slideshow extends utils.Adapter {
                                       constructor(options = {}) {
                                         super(__spreadProps(__spreadValues({}, options), {
                                           name: "slideshow"
                                         }));
                                         this.tUpdatePictureStoreTimeout = null;
                                         this.tUpdateCurrentPictureTimeout = null;
                                         this.on("ready", this.onReady.bind(this));
                                         this.on("stateChange", this.onStateChange.bind(this));
                                         this.on("unload", this.onUnload.bind(this));
                                         this.isUnloaded = false;
                                       }
                                       async onReady() {
                                         try {
                                           Helper = new import_global_helper.GlobalHelper(this);
                                           await this.setObjectNotExistsAsync("updatepicturelist", {
                                             type: "state",
                                             common: {
                                               name: "updatepicturelist",
                                               type: "boolean",
                                               role: "button",
                                               read: true,
                                               write: true,
                                               desc: "Update picture list",
                                               def: false
                                             },
                                             native: {}
                                           });
                                           await this.setStateAsync("updatepicturelist", false, true);
                                           this.subscribeStates("updatepicturelist");
                                           await this.updatePictureStoreTimer();
                                         } catch (err) {
                                           Helper.ReportingError(err, MsgErrUnknown, "onReady");
                                         }
                                       }
                                       async onStateChange(id, state) {
                                         if (state) {
                                           if (id === `${this.namespace}.updatepicturelist` && (state == null ? void 0 : state.val) === true && (state == null ? void 0 : state.ack) === false) {
                                             if (UpdateRunning === true) {
                                               Helper.ReportingInfo("Info", "Adapter", "Update picture list already running");
                                             } else {
                                               Helper.ReportingInfo("Info", "Adapter", "Updating picture list");
                                               clearTimeout(this.tUpdateCurrentPictureTimeout);
                                               await this.updatePictureStoreTimer();
                                             }
                                             await this.setStateAsync("updatepicturelist", false, false);
                                           }
                                         }
                                       }
                                       onUnload(callback) {
                                         try {
                                           this.isUnloaded = true;
                                           clearTimeout(this.tUpdateCurrentPictureTimeout);
                                           clearTimeout(this.tUpdatePictureStoreTimeout);
                                           callback();
                                         } catch (e) {
                                           callback();
                                         }
                                       }
                                       async updatePictureStoreTimer() {
                                         UpdateRunning = true;
                                         let updatePictureStoreResult = { success: false, picturecount: 0 };
                                         Helper.ReportingInfo("Debug", "Adapter", "UpdatePictureStoreTimer occured");
                                         try {
                                           this.tUpdatePictureStoreTimeout && clearTimeout(this.tUpdatePictureStoreTimeout);
                                         } catch (err) {
                                           Helper.ReportingError(err, MsgErrUnknown, "updatePictureStoreTimer", "Clear Timer");
                                         }
                                         try {
                                           switch (this.config.provider) {
                                             case 1:
                                               updatePictureStoreResult = await slideBing.updatePictureList(Helper);
                                               break;
                                             case 2:
                                               updatePictureStoreResult = await slideLocal.updatePictureList(Helper);
                                               break;
                                             case 3:
                                               updatePictureStoreResult = await slideFS.updatePictureList(Helper);
                                               break;
                                             case 4:
                                               updatePictureStoreResult = await slideSyno.updatePictureList(Helper);
                                               break;
                                           }
                                         } catch (err) {
                                           Helper.ReportingError(err, MsgErrUnknown, "updatePictureStoreTimer", "Call Timer Action");
                                         }
                                         try {
                                           if (this.config.update_picture_list && this.config.update_picture_list > 0 && updatePictureStoreResult.success === true) {
                                             Helper.ReportingInfo("Debug", "updatePictureStoreTimer", `Update every ${this.config.update_picture_list} hours, starting timer`);
                                             this.tUpdatePictureStoreTimeout = setTimeout(() => {
                                               this.updatePictureStoreTimer();
                                             }, this.config.update_picture_list * 36e5);
                                           } else if (updatePictureStoreResult.success === false) {
                                             this.tUpdatePictureStoreTimeout = setTimeout(() => {
                                               this.updatePictureStoreTimer();
                                             }, this.config.update_interval * 3e5);
                                           }
                                           if (updatePictureStoreResult.success === true && updatePictureStoreResult.picturecount > 0 && this.isUnloaded === false) {
                                             await this.setObjectNotExistsAsync("picturecount", {
                                               type: "state",
                                               common: {
                                                 name: "picturecount",
                                                 type: "number",
                                                 role: "value",
                                                 read: true,
                                                 write: false,
                                                 desc: "Pictures found"
                                               },
                                               native: {}
                                             });
                                             await this.setStateAsync("picturecount", { val: updatePictureStoreResult.picturecount, ack: true });
                                             this.updateCurrentPictureTimer();
                                           }
                                         } catch (err) {
                                           Helper.ReportingError(err, MsgErrUnknown, "updatePictureStoreTimer", "Set Timer");
                                         }
                                         UpdateRunning = false;
                                       }
                                       async updateCurrentPictureTimer() {
                                         var _a;
                                         let CurrentPictureResult = null;
                                         let Provider = "";
                                         Helper.ReportingInfo("Debug", "Adapter", "updateCurrentPictureTimer occured");
                                         try {
                                           this.tUpdateCurrentPictureTimeout && clearTimeout(this.tUpdateCurrentPictureTimeout);
                                         } catch (err) {
                                           Helper.ReportingError(err, MsgErrUnknown, "updateCurrentPictureTimer", "Clear Timer");
                                         }
                                         try {
                                           switch (this.config.provider) {
                                             case 1:
                                               CurrentPictureResult = await slideBing.getPicture(Helper);
                                               Provider = "Bing";
                                               break;
                                             case 2:
                                               CurrentPictureResult = await slideLocal.getPicture(Helper);
                                               Provider = "Local";
                                               break;
                                             case 3:
                                               CurrentPictureResult = await slideFS.getPicture(Helper);
                                               Provider = "FileSystem";
                                               break;
                                             case 4:
                                               CurrentPictureResult = await slideSyno.getPicture(Helper);
                                               Provider = "Synology";
                                               break;
                                           }
                                         } catch (err) {
                                           Helper.ReportingError(err, MsgErrUnknown, "updateCurrentPictureTimer", "Call Timer Action");
                                         }
                                         try {
                                           if (CurrentPictureResult !== null && this.isUnloaded === false) {
                                             Helper.ReportingInfo("Debug", Provider, `Set picture to ${CurrentPictureResult.path}`);
                                             await this.setObjectNotExistsAsync("picture", {
                                               type: "state",
                                               common: {
                                                 name: "picture",
                                                 type: "string",
                                                 role: "text",
                                                 read: true,
                                                 write: false,
                                                 desc: "Current picture"
                                               },
                                               native: {}
                                             });
                                             await this.setStateAsync("picture", { val: CurrentPictureResult.url, ack: true });
                                             await this.setObjectNotExistsAsync("path", {
                                               type: "state",
                                               common: {
                                                 name: "path",
                                                 type: "string",
                                                 role: "text",
                                                 read: true,
                                                 write: false,
                                                 desc: "Path and Name"
                                               },
                                               native: {}
                                             });
                                             await this.setStateAsync("path", { val: CurrentPictureResult.path, ack: true });
                                             await this.setObjectNotExistsAsync("info1", {
                                               type: "state",
                                               common: {
                                                 name: "info1",
                                                 type: "string",
                                                 role: "text",
                                                 read: true,
                                                 write: false,
                                                 desc: "Info 1 for picture"
                                               },
                                               native: {}
                                             });
                                             await this.setStateAsync("info1", { val: CurrentPictureResult.info1, ack: true });
                                             await this.setObjectNotExistsAsync("info2", {
                                               type: "state",
                                               common: {
                                                 name: "info2",
                                                 type: "string",
                                                 role: "text",
                                                 read: true,
                                                 write: false,
                                                 desc: "Info 2 for picture"
                                               },
                                               native: {}
                                             });
                                             await this.setStateAsync("info2", { val: CurrentPictureResult.info2, ack: true });
                                             await this.setObjectNotExistsAsync("info3", {
                                               type: "state",
                                               common: {
                                                 name: "info3",
                                                 type: "string",
                                                 role: "text",
                                                 read: true,
                                                 write: false,
                                                 desc: "Info 3 for picture"
                                               },
                                               native: {}
                                             });
                                             await this.setStateAsync("info3", { val: CurrentPictureResult.info3, ack: true });
                                             await this.setObjectNotExistsAsync("date", {
                                               type: "state",
                                               common: {
                                                 name: "date",
                                                 type: "number",
                                                 role: "date",
                                                 read: true,
                                                 write: false,
                                                 desc: "Date of picture"
                                               },
                                               native: {}
                                             });
                                             await this.setStateAsync("date", { val: ((_a = CurrentPictureResult.date) == null ? void 0 : _a.getTime()) || null, ack: true });
                                           }
                                         } catch (err) {
                                           Helper.ReportingError(err, MsgErrUnknown, "updateCurrentPictureTimer", "Call Timer Action");
                                         }
                                         try {
                                           this.tUpdateCurrentPictureTimeout = setTimeout(() => {
                                             this.updateCurrentPictureTimer();
                                           }, this.config.update_interval * 1e3);
                                         } catch (err) {
                                           Helper.ReportingError(err, MsgErrUnknown, "updateCurrentPictureTimer", "Set Timer");
                                         }
                                       }
                                      }
                                      if (module.parent) {
                                       module.exports = (options) => new Slideshow(options);
                                      } else {
                                       (() => new Slideshow())();
                                      }
                                      //# sourceMappingURL=main.js.map
                                      
                                      

                                      Zeile 211 bis 223 von mir hinzugefügt.
                                      Dadurch wird ein neuer DP "path" erzeugt (Neustart des Adapters) in welchen bei jedem Bilderwechsel der aktuelle Pfad inkl. Dateiname geschrieben wird.

                                      Benutzung auf eigenes Risiko natürlich aber falls das jemand testen mag dann gerne.

                                      p.s. bei Update vom Adapter wird die main.js natürlich wieder mit der originalen überschrieben.

                                      Neuschwansteini 1 Reply Last reply Reply Quote 0
                                      • Neuschwansteini
                                        Neuschwansteini @DJMarc75 last edited by

                                        @djmarc75

                                        super, gute Idee, danke dir! Zu beachten, wer in der Shell an den Dateien rumfummelt, sollte mit den richtigen Rechten arbeiten, also entweder als user iobroker oder anschliessend mit chown die Rechte wieder auf iobroker:iobroker setzen, sonst schiesst ihr euch unter Umstaenden was..

                                        Ich habs so gemacht, geht bestimmt auch anders, wenn man sudo -u iobroker macht 🙂

                                        ilovegym@iobrokerS:/opt/iobroker/node_modules/iobroker.slideshow/build$ sudo cp main.js main.js-old
                                        ilovegym@iobrokerS:/opt/iobroker/node_modules/iobroker.slideshow/build$ ls
                                        lib  main.js  main.js-old  modules
                                        ilovegym@iobrokerS:/opt/iobroker/node_modules/iobroker.slideshow/build$ sudo rm main.js
                                        ilovegym@iobrokerS:/opt/iobroker/node_modules/iobroker.slideshow/build$ sudo nano main.js
                                        ilovegym@iobrokerS:/opt/iobroker/node_modules/iobroker.slideshow/build$ ls -la
                                        total 40
                                        drwxrwxr-x+ 4 iobroker iobroker  4096 Dec 15 07:20 .
                                        drwxrwxr-x+ 7 iobroker iobroker  4096 Dec 10 13:10 ..
                                        drwxrwxr-x+ 2 iobroker iobroker  4096 Dec 10 13:10 lib
                                        -rw-rw-r--+ 1 root     root     10815 Dec 15 07:20 main.js
                                        -rw-rw-r--+ 1 root     root     10676 Dec 15 07:20 main.js-old
                                        drwxrwxr-x+ 2 iobroker iobroker  4096 Dec 10 13:10 modules
                                        ilovegym@iobrokerS:/opt/iobroker/node_modules/iobroker.slideshow/build$ sudo chown iobroker:iobroker main.js
                                        ilovegym@iobrokerS:/opt/iobroker/node_modules/iobroker.slideshow/build$ ls -la
                                        total 40
                                        drwxrwxr-x+ 4 iobroker iobroker  4096 Dec 15 07:20 .
                                        drwxrwxr-x+ 7 iobroker iobroker  4096 Dec 10 13:10 ..
                                        drwxrwxr-x+ 2 iobroker iobroker  4096 Dec 10 13:10 lib
                                        -rw-rw-r--+ 1 iobroker iobroker 10815 Dec 15 07:20 main.js
                                        -rw-rw-r--+ 1 root     root     10676 Dec 15 07:20 main.js-old
                                        drwxrwxr-x+ 2 iobroker iobroker  4096 Dec 10 13:10 modules
                                        ilovegym@iobrokerS:/opt/iobroker/node_modules/iobroker.slideshow/build$
                                        
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • Attila Perge
                                          Attila Perge last edited by

                                          Hallo Ralf,
                                          super Adapter, Danke!

                                          Habe die Tage installiert und getestet.
                                          Auf mein Laptop funktioniert es auch.
                                          Auf ein Android Tablet unter Firefox und Chrom funktioniert es auch.
                                          Habe jetzt noch auf einen älteren IPad getestet, dort scheint es aber nicht zu funktionieren.
                                          Sollte später aber darüber laufen.

                                          Hast du eine Idee, was ich unter IOS anders machen muss, damit es dort auch funktioniert?

                                          Ich habe es auch in der ioBroker App versucht, dort scheint es leider auch nicht zu funktionieren.

                                          Hat es jemand unter IOS zum laufen bekommen?

                                          VG Attila

                                          1 Reply Last reply Reply Quote 0
                                          • W
                                            Wiesel 0 last edited by

                                            Hallo zusammen,

                                            (Hoffe hier richtig zu sein, da dies mein erster Beitrag in diesem Forum ist.)

                                            zunächst mal: super Adapter, der hat mir wirklich noch gefehlt!

                                            ich habe die Slideshow seit kurzem auf einem Android Outkitel RT1 und auf einem kleinen NUC über Windows in VIS 1.4.16. am laufen.

                                            Ich habe leider das Problem, dass sowohl beim Tablet als auch im Windows-Browser nach einigen Stunden der Speicher voll läuft und die View abstürzt.
                                            Ich habe es dann auf dem Tablet mit der App IOBroker Visu probiert, was leider auch keine Besserung brachte.

                                            Im Browser steht nur Fehlercode: Out of Memory und die Visu App friert einfach ein.

                                            Ich habe leider im Forum zu dem Problem nichts gefunden.

                                            Hat jemand eine Idee, wie ich das Problem in den Griff bekomme?

                                            Vielen Dank schonmal für eure Hilfe.!

                                            Einstellungen Slideshow.png

                                            Ro75 DJMarc75 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            408
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter bildschirmschoner diashow slideshow
                                            26
                                            100
                                            9048
                                            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