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. Tester
  4. Test Adapter enigma2 v1.2.x

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Test Adapter enigma2 v1.2.x

Scheduled Pinned Locked Moved Tester
adapterenigma2
640 Posts 71 Posters 171.9k Views 60 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.
  • AtifanA Atifan

    Ahso, ja WOL ok. Habe eine VU+ Uno 4K SE, muss ich mal schauen ob es mit der geht.

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

    @Atifan
    Mein Dream 900 machts z. B. nicht, was auch immer bisschen bemängelt wird.

    1 Reply Last reply
    0
    • ScroungerS Scrounger

      @Mic sagte in Material Design Widgets: Top App Bar Widget:

      Tipp: Scrollbar entfernen oder anders stylen

      Ich hab das noch etwas erweitert und optimiert, so dass die veränderte Scrollbar bei allen Material Design Widgets funktioniert. Zusätzlich funktioniert das auch mit Firefox und man kann es Auflösungsabhängig gestalten, d.h. da mir die Scrollbar von Android sehr gut gefällt, wird die angepasste Scrollbar nur auf dem Desktop angezeigt.

      Folgendes muss als CCS im VIS Editor eingetragen werden:

      @media only screen and (min-width: 1025px) {
          :root {
              --material-design-widget-scrollbar-color: #cdcdcd;
              --material-design-widget-scrollbar-track-color: #f0f0f0;
              
              /* Firefox */
              --material-design-widget-scrollbar-style: thin;
              
              /* nur Chrome, Edge, Safari */
              --material-design-widget-scrollbar-width: 7.5px;
              --material-design-widget-scrollbar-radius: 0px;
              --material-design-widget-scrollbar-hover-color: #a6a6a6;
          }
          
          /* Firefox */
          .materialdesign-widget, 
          .materialdesign-topAppBar-with-Drawer .mdc-drawer .mdc-drawer__content, 
          .v-menu__content.menuable__content__active,
          .materialdesign-widget .v-calendar-daily__scroll-area {
              scrollbar-width: var(--material-design-widget-scrollbar-style);
              scrollbar-color: var(--material-design-widget-scrollbar-color) var(--material-design-widget-scrollbar-track-color);
          }
          
          /* Chrome, Edge, Safari */
          .materialdesign-widget::-webkit-scrollbar,
          .materialdesign-topAppBar-with-Drawer .mdc-drawer .mdc-drawer__content::-webkit-scrollbar,
          .v-menu__content.menuable__content__active::-webkit-scrollbar, 
          .materialdesign-widget .v-calendar-daily__scroll-area::-webkit-scrollbar {
              width: var(--material-design-widget-scrollbar-width);
          }
          .materialdesign-widget::-webkit-scrollbar-track, 
          .materialdesign-topAppBar-with-Drawer .mdc-drawer .mdc-drawer__content::-webkit-scrollbar-track, 
          .v-menu__content.menuable__content__active::-webkit-scrollbar-track,
          .materialdesign-widget .v-calendar-daily__scroll-area::-webkit-scrollbar-track {
              background: var(--material-design-widget-scrollbar-track-color);
          }
          .materialdesign-widget::-webkit-scrollbar-thumb,     
          .materialdesign-topAppBar-with-Drawer .mdc-drawer .mdc-drawer__content::-webkit-scrollbar-thumb, 
          .v-menu__content.menuable__content__active::-webkit-scrollbar-thumb,
          .materialdesign-widget .v-calendar-daily__scroll-area::-webkit-scrollbar-thumb {
              background-color: var(--material-design-widget-scrollbar-color);
              border-right: 1px solid white;
              border-radius: var(--material-design-widget-scrollbar-radius);
          }
          .materialdesign-widget::-webkit-scrollbar-thumb:hover, 
          .materialdesign-topAppBar-with-Drawer .mdc-drawer .mdc-drawer__content::-webkit-scrollbar-thumb:hover, 
          .v-menu__content.menuable__content__active::-webkit-scrollbar-thumb:hover,
          .materialdesign-widget .v-calendar-daily__scroll-area::-webkit-scrollbar-thumb:hover {
              background: var(--material-design-widget-scrollbar-hover-color);
          }
      }
      

      Erklärung:

      • Auflösungabhängig -> min-width ändern, z.B. wenn ihr sowohl für Handy und Desktop die Scrollbar haben wollt, dann 0px eintragen
      @media only screen and (min-width: 1025px)
      
      • Einstellung für das Aussehen (Farbe, Breite, etc.) können unter :root { ... } gemacht werden:
          :root {
              --material-design-widget-scrollbar-color: #cdcdcd;
              --material-design-widget-scrollbar-track-color: #f0f0f0;
              
              /* Firefox */
              --material-design-widget-scrollbar-style: thin;
              
              /* nur Chrome, Edge, Safari */
              --material-design-widget-scrollbar-width: 7.5px;
              --material-design-widget-scrollbar-radius: 0px;
              --material-design-widget-scrollbar-hover-color: #a6a6a6;
          }
      

      650df926-45a8-40a0-8205-f2a708737baa-grafik.png 830a78d0-31af-4b00-a889-28f1b8469b21-grafik.png bea88183-1629-49a3-aa44-25c76a2c43f7-grafik.png 88aa262c-e2ec-4fa0-b215-02b2adc77792-grafik.png

      K Offline
      K Offline
      Kuddel
      wrote on last edited by Scrounger
      #319

      @Scrounger sagte in Material Design Widgets: Top App Bar Widget:

      Wurden die Daten der Aufnahmen per Enigma2 Adapter ausgelesen ?

      Wie kann ich Daten so darstellen?

      Edit: verschoben, da keine Frage zu TopAppBar Widget Einstellung

      ScroungerS 1 Reply Last reply
      0
      • ScroungerS Scrounger

        @Kuddel sagte in Material Design Widgets: Top App Bar Widget:

        Wurden die Daten der Aufnahmen per Enigma2 Adapter ausgelesen ?

        https://forum.iobroker.net/topic/25112/test-adapter-enigma2-v1-2-x/134

        @Hermanito33
        Lies dir bitte den Thread hier durch, da wurde es mehrfacha beschrieben.
        Oder hier https://www.smarthome-tricks.de/software-iobroker/vis-material-design-widgets-teil-2-top-app-bar-navigation/

        K Offline
        K Offline
        Kuddel
        wrote on last edited by Scrounger
        #320

        @Scrounger ah kleiner Denkfehler von mir.

        Ich meinte die Timer und nicht die Aufnahmen.

        Die timer werden ausgelesen und aktuell leider nur so dargestellt:

        c946546d-9504-471a-8adf-0db62b1865f2-grafik.png

        Edit: verschoben, da keine Frage zu TopAppBar Widget Einstellung

        ScroungerS 1 Reply Last reply
        0
        • K Kuddel

          @Scrounger ah kleiner Denkfehler von mir.

          Ich meinte die Timer und nicht die Aufnahmen.

          Die timer werden ausgelesen und aktuell leider nur so dargestellt:

          c946546d-9504-471a-8adf-0db62b1865f2-grafik.png

          Edit: verschoben, da keine Frage zu TopAppBar Widget Einstellung

          ScroungerS Offline
          ScroungerS Offline
          Scrounger
          Developer
          wrote on last edited by Scrounger
          #321

          @Kuddel
          Bitte poste deine Fragen zum Enigma Adapter / Darstellung mit Wigdets mit Enigma Adapter im entsprechenden Thema, das hat hier nix mit der TopAppBar zu tun!
          https://forum.iobroker.net/topic/25112/test-adapter-enigma2-v1-2-x

          Edit: verschoben, da keine Frage zu TopAppBar Widget Einstellung

          K 1 Reply Last reply
          0
          • ScroungerS Scrounger

            @Kuddel
            Bitte poste deine Fragen zum Enigma Adapter / Darstellung mit Wigdets mit Enigma Adapter im entsprechenden Thema, das hat hier nix mit der TopAppBar zu tun!
            https://forum.iobroker.net/topic/25112/test-adapter-enigma2-v1-2-x

            Edit: verschoben, da keine Frage zu TopAppBar Widget Einstellung

            K Offline
            K Offline
            Kuddel
            wrote on last edited by Scrounger
            #322

            @Scrounger bereits passiert:

            https://forum.iobroker.net/topic/25112/test-adapter-enigma2-v1-2-x/299?page=15

            Edit: verschoben, da keine Frage zu TopAppBar Widget Einstellung

            1 Reply Last reply
            0
            • K Kuddel

              @Scrounger ich bin gerade dabei eine Übersicht meiner geplanten Aufnahmen in meiner VIs einzubauen.

              Dein Skript läuft bei mir aber irgednwie nicht.

              Das Problem ist immer Zeile 68

              myDevices.Netzwerk.Devices.VuPlus.TimerList.setState(JSON.stringify(myList), true);
              

              Ich denke, dass ist der DP, in dem die neue JSON Liste erzeutgt wird ?

              Somit habe ich bei mir auch einen DP erzeugt:

              javascript.0.sonstige.vu_timer_liste
              

              Und aus deiner Befehlszeile folgendes gemacht:

              javascript.0.sonstige.vu_timer_liste.setState(JSON.stringify(myList), true);
              

              Irgendwo ist aber noch ein Fehler (siehe Log):

              javascript.0	2020-02-21 11:23:57.728	error	(65687) at process._tickCallback (internal/process/next_tick.js:68:7)
              javascript.0	2020-02-21 11:23:57.728	error	(65687) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
              javascript.0	2020-02-21 11:23:57.728	error	(65687) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
              javascript.0	2020-02-21 11:23:57.728	error	(65687) at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:580:17)
              javascript.0	2020-02-21 11:23:57.728	error	(65687) at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:745:17)
              javascript.0	2020-02-21 11:23:57.728	error	(65687) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1123:17)
              javascript.0	2020-02-21 11:23:57.728	error	(65687) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1070:37)
              javascript.0	2020-02-21 11:23:57.728	error	(65687) at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:878:28)
              javascript.0	2020-02-21 11:23:57.728	error	(65687) at Object.createScript (vm.js:277:10)
              javascript.0	2020-02-21 11:23:57.728	error	(65687) at new Script (vm.js:83:7)
              javascript.0	2020-02-21 11:23:57.728	error	(65687) SyntaxError: Unexpected number
              javascript.0	2020-02-21 11:23:57.728	error	(65687) ^^
              javascript.0	2020-02-21 11:23:57.728	error	(65687) javascript.0.sonstige.vu_timer_liste.setState(JSON.stringify(myList), true);
              javascript.0	2020-02-21 11:23:57.728	error	(65687) script.js.java.abfragen.receiver_aufnahmen compile failed: at script.js.java.abfragen.receiver_aufnahmen:68
              

              Falls jemand noch eine bessere Idee hat, immer her damit.

              Aktuell scheitere ich an der Anzeige der Start und Endzeit sowie der Endzeit:

              Titel					Sender		Start		Ende		Dauer
              Tatort: Ich hab im Traum geweinet	Das Erste HD	1582485000	1582491000	6000
              
              ScroungerS Offline
              ScroungerS Offline
              Scrounger
              Developer
              wrote on last edited by
              #323

              @Kuddel sagte in Test Adapter enigma2 v1.2.x:

              @Scrounger ich bin gerade dabei eine Übersicht meiner geplanten Aufnahmen in meiner VIs einzubauen.

              Dein Skript läuft bei mir aber irgednwie nicht.

              Das Problem ist immer Zeile 68

              myDevices.Netzwerk.Devices.VuPlus.TimerList.setState(JSON.stringify(myList), true);
              

              Ich nutze hier den linkeddevices adapter!

              Musst das natürlich entsprechend im skript korrigieren.
              Du musst den state setzen z.B.

              setState('datenpunktId', JSON.stringify(myList), true)
              
              K 1 Reply Last reply
              0
              • ScroungerS Scrounger

                @Kuddel sagte in Test Adapter enigma2 v1.2.x:

                @Scrounger ich bin gerade dabei eine Übersicht meiner geplanten Aufnahmen in meiner VIs einzubauen.

                Dein Skript läuft bei mir aber irgednwie nicht.

                Das Problem ist immer Zeile 68

                myDevices.Netzwerk.Devices.VuPlus.TimerList.setState(JSON.stringify(myList), true);
                

                Ich nutze hier den linkeddevices adapter!

                Musst das natürlich entsprechend im skript korrigieren.
                Du musst den state setzen z.B.

                setState('datenpunktId', JSON.stringify(myList), true)
                
                K Offline
                K Offline
                Kuddel
                wrote on last edited by
                #324

                @Scrounger ja jetzt funktioniert es.

                Jetzt möchte ich das Ganze mit dem Widget "materialdesign - Table" darstellen-

                Wie stelle ich im Widget ein, welche Infos in welcher Spalte dargestellt werden?

                Sortierung JSON:

                channelImage, title, recordDateFormatted, subtitle, starTimeFormatted, startTime, endTimeFormatted, channel
                

                Spätere Sortierung im Widget

                channellimage, channell, titel recordDateFormatted, starTimeFormatted, endTimeFormatted
                

                Und kann man im Skript evtl. noch die Laufzeit / Dauer einbauen?

                ScroungerS 1 Reply Last reply
                0
                • K Kuddel

                  @Scrounger ja jetzt funktioniert es.

                  Jetzt möchte ich das Ganze mit dem Widget "materialdesign - Table" darstellen-

                  Wie stelle ich im Widget ein, welche Infos in welcher Spalte dargestellt werden?

                  Sortierung JSON:

                  channelImage, title, recordDateFormatted, subtitle, starTimeFormatted, startTime, endTimeFormatted, channel
                  

                  Spätere Sortierung im Widget

                  channellimage, channell, titel recordDateFormatted, starTimeFormatted, endTimeFormatted
                  

                  Und kann man im Skript evtl. noch die Laufzeit / Dauer einbauen?

                  ScroungerS Offline
                  ScroungerS Offline
                  Scrounger
                  Developer
                  wrote on last edited by Scrounger
                  #325

                  @Kuddel sagte in Test Adapter enigma2 v1.2.x:

                  @Scrounger ja jetzt funktioniert es.

                  Jetzt möchte ich das Ganze mit dem Widget "materialdesign - Table" darstellen-

                  Wie stelle ich im Widget ein, welche Infos in welcher Spalte dargestellt werden?

                  Macht man über die reihenfolge der properties des json strings:

                                  myList.push(
                                      {
                                          channelImage: `/vis.0/myImages/picons/${listItem.serviceRefName}.png`,  //Saplte 1
                                          title: title,  //Spalte 2
                                          recordDateFormatted: recordDateFormatted,  //Spalte 3
                                          subtitle: subtitle,  //Spalte 4
                                          starTimeFormatted: starTimeFormatted,
                                          startTime: listItem.starTime,
                                          endTimeFormatted: endTimeFormatted,
                                          channel: listItem.channel,
                                      }
                                  )
                  

                  Und kann man im Skript evtl. noch die Laufzeit / Dauer einbauen?

                  Ja kannst über start und endzeit berechnen. Geht z.B. sehr einfach mit der momentjs library

                  K 2 Replies Last reply
                  0
                  • ScroungerS Scrounger

                    @Kuddel sagte in Test Adapter enigma2 v1.2.x:

                    @Scrounger ja jetzt funktioniert es.

                    Jetzt möchte ich das Ganze mit dem Widget "materialdesign - Table" darstellen-

                    Wie stelle ich im Widget ein, welche Infos in welcher Spalte dargestellt werden?

                    Macht man über die reihenfolge der properties des json strings:

                                    myList.push(
                                        {
                                            channelImage: `/vis.0/myImages/picons/${listItem.serviceRefName}.png`,  //Saplte 1
                                            title: title,  //Spalte 2
                                            recordDateFormatted: recordDateFormatted,  //Spalte 3
                                            subtitle: subtitle,  //Spalte 4
                                            starTimeFormatted: starTimeFormatted,
                                            startTime: listItem.starTime,
                                            endTimeFormatted: endTimeFormatted,
                                            channel: listItem.channel,
                                        }
                                    )
                    

                    Und kann man im Skript evtl. noch die Laufzeit / Dauer einbauen?

                    Ja kannst über start und endzeit berechnen. Geht z.B. sehr einfach mit der momentjs library

                    K Offline
                    K Offline
                    Kuddel
                    wrote on last edited by
                    #326

                    @Scrounger das sieht doch schonmal gut aus:

                    57b31b2b-eea8-434b-93ba-d787cb53b2ee-grafik.png

                    1 Reply Last reply
                    0
                    • ScroungerS Scrounger

                      @Kuddel sagte in Test Adapter enigma2 v1.2.x:

                      @Scrounger ja jetzt funktioniert es.

                      Jetzt möchte ich das Ganze mit dem Widget "materialdesign - Table" darstellen-

                      Wie stelle ich im Widget ein, welche Infos in welcher Spalte dargestellt werden?

                      Macht man über die reihenfolge der properties des json strings:

                                      myList.push(
                                          {
                                              channelImage: `/vis.0/myImages/picons/${listItem.serviceRefName}.png`,  //Saplte 1
                                              title: title,  //Spalte 2
                                              recordDateFormatted: recordDateFormatted,  //Spalte 3
                                              subtitle: subtitle,  //Spalte 4
                                              starTimeFormatted: starTimeFormatted,
                                              startTime: listItem.starTime,
                                              endTimeFormatted: endTimeFormatted,
                                              channel: listItem.channel,
                                          }
                                      )
                      

                      Und kann man im Skript evtl. noch die Laufzeit / Dauer einbauen?

                      Ja kannst über start und endzeit berechnen. Geht z.B. sehr einfach mit der momentjs library

                      K Offline
                      K Offline
                      Kuddel
                      wrote on last edited by Kuddel
                      #327

                      @Scrounger ein paar Fehler bekomme ich aber doch noch:

                      javascript.0	2020-03-17 12:11:00.871	error	at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
                      javascript.0	2020-03-17 12:11:00.871	error	at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:580:17)
                      javascript.0	2020-03-17 12:11:00.871	error	at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:1055:17)
                      javascript.0	2020-03-17 12:11:00.871	error	at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1464:17)
                      javascript.0	2020-03-17 12:11:00.871	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1412:38)
                      javascript.0	2020-03-17 12:11:00.871	error	at execute (/opt/iobroker/node_modules/iobroker.javascript/main.js:1228:27)
                      javascript.0	2020-03-17 12:11:00.871	error	at Script.runInNewContext (vm.js:139:17)
                      javascript.0	2020-03-17 12:11:00.871	error	at Script.runInContext (vm.js:133:20)
                      javascript.0	2020-03-17 12:11:00.871	error	at script.js.java.abfragen.receiver_aufnahmen:153:1
                      javascript.0	2020-03-17 12:11:00.871	error	at formatList (script.js.java.abfragen.receiver_aufnahmen:79:27)
                      javascript.0	2020-03-17 12:11:00.871	error	(38439) script.js.java.abfragen.receiver_aufnahmen: [createList] stack: TypeError: Cannot read property 'includes' of undefined
                      javascript.0	2020-03-17 12:11:00.871	error	(38439) script.js.java.abfragen.receiver_aufnahmen: [createList] error: Cannot read property 'includes' of undefined
                      

                      Hier mein Skript:

                      
                      
                      // import
                      
                      const moment = require("moment");
                      
                      const momentDurationFormatSetup = require("moment-duration-format");
                      
                      moment.locale("de");
                      
                      
                      
                      let enigma2AdapterTimerListId = 'enigma2.0.enigma2.TIMER_LIST';
                      
                      
                      
                      on({ id: enigma2AdapterTimerListId }, formatList);
                      
                      
                      
                      function formatList() {
                      
                         try {
                      
                             let list = JSON.parse(getState(enigma2AdapterTimerListId).val);
                      
                             let myList = [];
                      
                      
                      
                             if (list && list !== null && list !== undefined && list !== '') {
                      
                      
                      
                                 for (var i = 0; i <= list.length - 1; i++) {
                      
                                     let listItem = list[i]
                      
                      
                      
                      
                      
                                     let startTime = moment(listItem.starTime * 1000);
                      
                                     let endTime = moment(listItem.endTime * 1000);
                      
                                     let recordDateFormatted = `${startTime.format('ddd')} ${startTime.format('DD.MM')}`
                      
                                     let starTimeFormatted = `${startTime.format('LT')}`
                      
                                     let endTimeFormatted = `${endTime.format('LT')}`
                      
                      
                      
                                     if (moment().isSame(startTime, 'day')) {
                      
                                         recordDateFormatted = `Heute ${startTime.format('DD.MM')}`;
                      
                                     } else if (moment().add(1, 'day').isSame(startTime, 'day')) {
                      
                                         recordDateFormatted = `Morgen ${startTime.format('DD.MM')}`;
                      
                                     }
                      
                      
                      
                                     let rawtitle = listItem.title;
                      
                      
                      
                      
                      
                                     let title = rawtitle;
                      
                                     let subtitle = listItem.subtitle;
                      
                      
                      
                                     if (title.includes(' - ')) {
                      
                                         title = rawtitle.substring(0, rawtitle.indexOf(' - ')).trim();
                      
                      
                      
                                         if (subtitle === '') {
                      
                                             subtitle = rawtitle.substring(rawtitle.indexOf(' - ') + 2, rawtitle.length).trim();
                      
                                         }
                      
                                     }
                      
                      
                      
                      
                      
                                     myList.push(
                      
                                         {
                      
                                             channelImage: `http://192.168.4.24:8080/picon/${listItem.serviceRefName}.png`,
                                             channel: listItem.channel,
                                             title: title,
                                             recordDateFormatted: recordDateFormatted,
                                             starTimeFormatted: starTimeFormatted,
                                             endTimeFormatted: endTimeFormatted,
                                             subtitle: subtitle,
                                             startTime: listItem.starTime,
                                             
                      
                      
                      
                                             
                      
                                             
                      
                                         }
                      
                                     )
                      
                                 }
                      
                      
                      
                                 myList.sort(function (a, b) {
                      
                                     // Liste sortieren nach Startzeit
                      
                                     return a.starTime == b.starTime ? 0 : +(a.starTime > b.starTime) || -1;
                      
                                 });
                      
                             }
                      
                      
                      
                             setState('javascript.0.sonstige.vu_timer_liste', JSON.stringify(myList), true);
                      
                      
                      
                         } catch (err) {
                      
                             console.error(`[createList] error: ${err.message}`);
                      
                             console.error(`[createList] stack: ${err.stack}`);
                      
                         }
                      
                      }
                      
                      
                      
                      formatList();
                      
                      

                      EDIT: Fehlalarm. Das war ein anderes Skript mit dem ich angefangen habe, die Aufnahmen auszuwerten.

                      1 Reply Last reply
                      0
                      • K Offline
                        K Offline
                        Kuddel
                        wrote on last edited by
                        #328

                        Ich habe mich jetzt an ein Skript zum Auflisten der ganzen Aufnahmen gemacht:

                        So sehen die Rohdaten vom Enigma-Adapter aus:

                        [{"filename_stripped":"20200316_2215_-_KABEL_EINS_HD_-_DIE_BRUCE_WILLIS_STORY.ts",
                        "description":"Die Bruce Willis StoryDokumentation, D 2020",
                        "tags":"0",
                        "filesize":4989953340,
                        "eventname":"Die Bruce Willis Story",
                        "servicename":"kabel eins HD",
                        "filesize_readable":"4.65 GB",
                        "serviceref":"1:0:0:0:0:0:0:0:0:0:/media/hdd/movie/20200316_2215_-_KABEL_EINS_HD_-_DIE_BRUCE_WILLIS_STORY.ts",
                        "filename":"/media/hdd/movie/20200316_2215_-_KABEL_EINS_HD_-_DIE_BRUCE_WILLIS_STORY.ts",
                        "length":"71:57",
                        "lastseen":0,
                        "fullname":"1:0:0:0:0:0:0:0:0:0:/media/hdd/movie/20200316_2215_-_KABEL_EINS_HD_-_DIE_BRUCE_WILLIS_STORY.ts",
                        "recordingtime":1584393300,
                        "descriptionExtended":"Er ist der berühmteste Glatzkopf Hollywoods: Bruce Willis. Anlässlich seines 65. Geburtstages zeichnet Kabel Eins das Leben des Stars nach und deckt dabei so manches Geheimnis auf. Denn was viele nicht wissen: Abseits seiner Schauspielkarriere ist Willis ein erfolgreicher Geschäftsmann, Sänger, äußert sich immer wieder zu Politik und Zeitgeschehen - und ist bis heute eigentlich ein waschechter Pfälzer Junge ...",
                        "begintime":"16.3., 22:15",
                        "service":"1:0:19:C359:271E:F001:FFFF0000:0:0:0:",
                        "serviceRefName":"1_0_19_C359_271E_F001_FFFF0000_0_0_0"},
                        

                        So sieht aktuell meine VIS aus:
                        e269c70d-8ee0-4ea5-ae74-b4e757d1dc0a-grafik.png

                        Probleme:
                        *Die Anzeige von Datum und Startzeit wie man es von den Aufnahmen kennt ( Heute 17.03. | 20:15 uhr)
                        *Die Sortierung nach Datum fuktioniert nicht

                        Hier mein Skript

                        const moment = require("moment");
                        const momentDurationFormatSetup = require("moment-duration-format");
                        moment.locale("de");
                        
                        //Setzer des DPs der Liste mit den Filmen
                        let enigma2AdapterMovieListId = 'enigma2.0.enigma2.MOVIE_LIST';
                        
                        //Skript ausführen, wenn Film-Liste geändert wird
                        on({ id: enigma2AdapterMovieListId }, formatList);
                        
                        
                        function formatList() {
                           try {
                               let list = JSON.parse(getState(enigma2AdapterMovieListId).val);
                               let myList = [];
                        
                               if (list && list !== null && list !== undefined && list !== '') {
                                   for (var i = 0; i <= list.length - 1; i++) {
                                       let listItem = list[i]
                                       let startTime = moment(listItem.begintime);
                                       let startdatum = listItem.begintime
                                       
                                       //Output
                                       myList.push(
                                           {
                                               channelImage: `http://192.168.4.24:8080/picon/${listItem.serviceRefName}.png`,
                                               channel: listItem.servicename,
                                               title: listItem.eventname,
                                               startdatum: startdatum,
                                               dauer: listItem.length,
                                               groesse: listItem.filesize_readable
                                               
                                           }
                                       )
                                   }
                                   myList.sort(function (a, b) {
                                       // Liste sortieren nach Startzeit
                                       return a.startTime == b.startTime ? 0 : +(a.startzeit > b.startzeit) || -1;
                                   });
                               }
                               setState('javascript.0.sonstige.vu_aufnahmen_liste', JSON.stringify(myList), true);
                           } catch (err) {
                               console.error(`[createList] error: ${err.message}`);
                               console.error(`[createList] stack: ${err.stack}`);
                           }
                        }
                        
                        
                        
                        formatList();
                        
                        

                        @Scrounger vllt. schaust du bei Gelegenheit mal drüber :-)

                        ScroungerS 1 Reply Last reply
                        0
                        • K Kuddel

                          Ich habe mich jetzt an ein Skript zum Auflisten der ganzen Aufnahmen gemacht:

                          So sehen die Rohdaten vom Enigma-Adapter aus:

                          [{"filename_stripped":"20200316_2215_-_KABEL_EINS_HD_-_DIE_BRUCE_WILLIS_STORY.ts",
                          "description":"Die Bruce Willis StoryDokumentation, D 2020",
                          "tags":"0",
                          "filesize":4989953340,
                          "eventname":"Die Bruce Willis Story",
                          "servicename":"kabel eins HD",
                          "filesize_readable":"4.65 GB",
                          "serviceref":"1:0:0:0:0:0:0:0:0:0:/media/hdd/movie/20200316_2215_-_KABEL_EINS_HD_-_DIE_BRUCE_WILLIS_STORY.ts",
                          "filename":"/media/hdd/movie/20200316_2215_-_KABEL_EINS_HD_-_DIE_BRUCE_WILLIS_STORY.ts",
                          "length":"71:57",
                          "lastseen":0,
                          "fullname":"1:0:0:0:0:0:0:0:0:0:/media/hdd/movie/20200316_2215_-_KABEL_EINS_HD_-_DIE_BRUCE_WILLIS_STORY.ts",
                          "recordingtime":1584393300,
                          "descriptionExtended":"Er ist der berühmteste Glatzkopf Hollywoods: Bruce Willis. Anlässlich seines 65. Geburtstages zeichnet Kabel Eins das Leben des Stars nach und deckt dabei so manches Geheimnis auf. Denn was viele nicht wissen: Abseits seiner Schauspielkarriere ist Willis ein erfolgreicher Geschäftsmann, Sänger, äußert sich immer wieder zu Politik und Zeitgeschehen - und ist bis heute eigentlich ein waschechter Pfälzer Junge ...",
                          "begintime":"16.3., 22:15",
                          "service":"1:0:19:C359:271E:F001:FFFF0000:0:0:0:",
                          "serviceRefName":"1_0_19_C359_271E_F001_FFFF0000_0_0_0"},
                          

                          So sieht aktuell meine VIS aus:
                          e269c70d-8ee0-4ea5-ae74-b4e757d1dc0a-grafik.png

                          Probleme:
                          *Die Anzeige von Datum und Startzeit wie man es von den Aufnahmen kennt ( Heute 17.03. | 20:15 uhr)
                          *Die Sortierung nach Datum fuktioniert nicht

                          Hier mein Skript

                          const moment = require("moment");
                          const momentDurationFormatSetup = require("moment-duration-format");
                          moment.locale("de");
                          
                          //Setzer des DPs der Liste mit den Filmen
                          let enigma2AdapterMovieListId = 'enigma2.0.enigma2.MOVIE_LIST';
                          
                          //Skript ausführen, wenn Film-Liste geändert wird
                          on({ id: enigma2AdapterMovieListId }, formatList);
                          
                          
                          function formatList() {
                             try {
                                 let list = JSON.parse(getState(enigma2AdapterMovieListId).val);
                                 let myList = [];
                          
                                 if (list && list !== null && list !== undefined && list !== '') {
                                     for (var i = 0; i <= list.length - 1; i++) {
                                         let listItem = list[i]
                                         let startTime = moment(listItem.begintime);
                                         let startdatum = listItem.begintime
                                         
                                         //Output
                                         myList.push(
                                             {
                                                 channelImage: `http://192.168.4.24:8080/picon/${listItem.serviceRefName}.png`,
                                                 channel: listItem.servicename,
                                                 title: listItem.eventname,
                                                 startdatum: startdatum,
                                                 dauer: listItem.length,
                                                 groesse: listItem.filesize_readable
                                                 
                                             }
                                         )
                                     }
                                     myList.sort(function (a, b) {
                                         // Liste sortieren nach Startzeit
                                         return a.startTime == b.startTime ? 0 : +(a.startzeit > b.startzeit) || -1;
                                     });
                                 }
                                 setState('javascript.0.sonstige.vu_aufnahmen_liste', JSON.stringify(myList), true);
                             } catch (err) {
                                 console.error(`[createList] error: ${err.message}`);
                                 console.error(`[createList] stack: ${err.stack}`);
                             }
                          }
                          
                          
                          
                          formatList();
                          
                          

                          @Scrounger vllt. schaust du bei Gelegenheit mal drüber :-)

                          ScroungerS Offline
                          ScroungerS Offline
                          Scrounger
                          Developer
                          wrote on last edited by
                          #329

                          @Kuddel sagte in Test Adapter enigma2 v1.2.x:

                          Ich habe mich jetzt an ein Skript zum Auflisten der ganzen Aufnahmen gemacht:

                          Probleme:
                          *Die Anzeige von Datum und Startzeit wie man es von den Aufnahmen kennt ( Heute 17.03. | 20:15 uhr)
                          *Die Sortierung nach Datum fuktioniert nicht

                          Hier mal mein Skript für die Aufnahmen:

                          // import
                          const moment = require("moment");
                          const momentDurationFormatSetup = require("moment-duration-format");
                          moment.locale("de");
                          
                          let enigma2AdapterRecordListId = 'enigma2.0.enigma2.MOVIE_LIST';
                          
                          on({ id: enigma2AdapterRecordListId }, formatList);
                          
                          function formatList() {
                              try {
                                  let list = JSON.parse(getState(enigma2AdapterRecordListId).val);
                                  let myList = [];
                          
                                  if (list && list !== null && list !== undefined && list !== '') {
                          
                                      for (var i = 0; i <= list.length - 1; i++) {
                                          let listItem = list[i]
                          
                                          let recordTime = moment(listItem.recordingtime * 1000);
                                          let recordDateFormatted = `${recordTime.format('ddd')} ${recordTime.format('DD.MM')}`;
                                          let recordTimeFormatted = `${recordTime.format('LT')}`
                          
                                          if (moment().isSame(recordTime, 'day')) {
                                              recordDateFormatted = `Heute ${recordTime.format('DD.MM')}`;
                                          } else if (moment().add(-1, 'day').isSame(recordTime, 'day')) {
                                              recordDateFormatted = `Gestern ${recordTime.format('DD.MM')}`;
                                          }
                          
                          
                                          let rawtitle = listItem.eventname;
                                          let title = rawtitle;
                                          let subtitle = listItem.subtitle;
                          
                                          if (title.includes(' - ')) {
                                              title = rawtitle.substring(0, rawtitle.indexOf(' - ')).trim();
                                              subtitle = rawtitle.substring(rawtitle.indexOf(' - ') + 2, rawtitle.length).trim();
                          
                                              if (subtitle === undefined) {
                                                  subtitle = '';
                                              }
                                          }
                          
                                          
                                          myList.push(
                                              {
                                                  channelImage: `/vis.0/myImages/picons/${listItem.serviceRefName}.png`,
                                                  title: title,
                                                  recordDateFormatted: recordDateFormatted,
                                                  lenght: listItem.length + ' min, ' + listItem.filesize_readable,
                                                  recordTime: listItem.recordingtime,
                                                  subtitle: subtitle,
                                                  channel: listItem.servicename,
                                                  size: listItem.filesize_readable,
                                              }
                                          )
                                      }
                          
                                      myDevices.Netzwerk.Devices.VuPlus.RecordList.setState(JSON.stringify(myList), true);
                                  }
                              } catch (err) {
                                  console.error(`[formatList] error: ${err.message}`);
                                  console.error(`[formatList] stack: ${err.stack}`);
                              }
                          }
                          
                          formatList();
                          

                          Anzeige von Datum und Uhrzeit Zeile 24-28, muss über das skript formatiert werden:

                                          if (moment().isSame(recordTime, 'day')) {
                                              recordDateFormatted = `Heute ${recordTime.format('DD.MM')}`;
                                          } else if (moment().add(-1, 'day').isSame(recordTime, 'day')) {
                                              recordDateFormatted = `Gestern ${recordTime.format('DD.MM')}`;
                                          }
                          

                          damit die Sortierung funktioniert, brauchst du die raw daten als timestamp ohne irgendeine formatuierung und musst dafür eine eigene property im Objekt verwenden:

                                          myList.push(
                                              {
                                                  channelImage: `/vis.0/myImages/picons/${listItem.serviceRefName}.png`,
                                                  title: title,
                                                  recordDateFormatted: recordDateFormatted,
                                                  lenght: listItem.length + ' min, ' + listItem.filesize_readable,
                                                  recordTime: listItem.recordingtime,  // timestamp der Aufnahme -> darüber kann sortiert werden
                                                  subtitle: subtitle,
                                                  channel: listItem.servicename,
                                                  size: listItem.filesize_readable,
                                              }
                                          )
                          

                          Dann musst beim Widget für die Spalte mit deinem formatierten Datum 29.12.2019, 8:50h die Property recordTime als Objektname zum Sortieren eintragen:
                          590985e2-b3f8-4487-8aaa-7b69f1d26743-grafik.png

                          K 1 Reply Last reply
                          0
                          • ScroungerS Scrounger

                            @Kuddel sagte in Test Adapter enigma2 v1.2.x:

                            Ich habe mich jetzt an ein Skript zum Auflisten der ganzen Aufnahmen gemacht:

                            Probleme:
                            *Die Anzeige von Datum und Startzeit wie man es von den Aufnahmen kennt ( Heute 17.03. | 20:15 uhr)
                            *Die Sortierung nach Datum fuktioniert nicht

                            Hier mal mein Skript für die Aufnahmen:

                            // import
                            const moment = require("moment");
                            const momentDurationFormatSetup = require("moment-duration-format");
                            moment.locale("de");
                            
                            let enigma2AdapterRecordListId = 'enigma2.0.enigma2.MOVIE_LIST';
                            
                            on({ id: enigma2AdapterRecordListId }, formatList);
                            
                            function formatList() {
                                try {
                                    let list = JSON.parse(getState(enigma2AdapterRecordListId).val);
                                    let myList = [];
                            
                                    if (list && list !== null && list !== undefined && list !== '') {
                            
                                        for (var i = 0; i <= list.length - 1; i++) {
                                            let listItem = list[i]
                            
                                            let recordTime = moment(listItem.recordingtime * 1000);
                                            let recordDateFormatted = `${recordTime.format('ddd')} ${recordTime.format('DD.MM')}`;
                                            let recordTimeFormatted = `${recordTime.format('LT')}`
                            
                                            if (moment().isSame(recordTime, 'day')) {
                                                recordDateFormatted = `Heute ${recordTime.format('DD.MM')}`;
                                            } else if (moment().add(-1, 'day').isSame(recordTime, 'day')) {
                                                recordDateFormatted = `Gestern ${recordTime.format('DD.MM')}`;
                                            }
                            
                            
                                            let rawtitle = listItem.eventname;
                                            let title = rawtitle;
                                            let subtitle = listItem.subtitle;
                            
                                            if (title.includes(' - ')) {
                                                title = rawtitle.substring(0, rawtitle.indexOf(' - ')).trim();
                                                subtitle = rawtitle.substring(rawtitle.indexOf(' - ') + 2, rawtitle.length).trim();
                            
                                                if (subtitle === undefined) {
                                                    subtitle = '';
                                                }
                                            }
                            
                                            
                                            myList.push(
                                                {
                                                    channelImage: `/vis.0/myImages/picons/${listItem.serviceRefName}.png`,
                                                    title: title,
                                                    recordDateFormatted: recordDateFormatted,
                                                    lenght: listItem.length + ' min, ' + listItem.filesize_readable,
                                                    recordTime: listItem.recordingtime,
                                                    subtitle: subtitle,
                                                    channel: listItem.servicename,
                                                    size: listItem.filesize_readable,
                                                }
                                            )
                                        }
                            
                                        myDevices.Netzwerk.Devices.VuPlus.RecordList.setState(JSON.stringify(myList), true);
                                    }
                                } catch (err) {
                                    console.error(`[formatList] error: ${err.message}`);
                                    console.error(`[formatList] stack: ${err.stack}`);
                                }
                            }
                            
                            formatList();
                            

                            Anzeige von Datum und Uhrzeit Zeile 24-28, muss über das skript formatiert werden:

                                            if (moment().isSame(recordTime, 'day')) {
                                                recordDateFormatted = `Heute ${recordTime.format('DD.MM')}`;
                                            } else if (moment().add(-1, 'day').isSame(recordTime, 'day')) {
                                                recordDateFormatted = `Gestern ${recordTime.format('DD.MM')}`;
                                            }
                            

                            damit die Sortierung funktioniert, brauchst du die raw daten als timestamp ohne irgendeine formatuierung und musst dafür eine eigene property im Objekt verwenden:

                                            myList.push(
                                                {
                                                    channelImage: `/vis.0/myImages/picons/${listItem.serviceRefName}.png`,
                                                    title: title,
                                                    recordDateFormatted: recordDateFormatted,
                                                    lenght: listItem.length + ' min, ' + listItem.filesize_readable,
                                                    recordTime: listItem.recordingtime,  // timestamp der Aufnahme -> darüber kann sortiert werden
                                                    subtitle: subtitle,
                                                    channel: listItem.servicename,
                                                    size: listItem.filesize_readable,
                                                }
                                            )
                            

                            Dann musst beim Widget für die Spalte mit deinem formatierten Datum 29.12.2019, 8:50h die Property recordTime als Objektname zum Sortieren eintragen:
                            590985e2-b3f8-4487-8aaa-7b69f1d26743-grafik.png

                            K Offline
                            K Offline
                            Kuddel
                            wrote on last edited by
                            #330

                            @Scrounger vielen Dank für die Hilfe,

                            Jetzt sieht es so aus und funktioniert:

                            a2bd25d2-d8f1-4f7c-b9ce-66a786063c7d-grafik.png

                            Spalte 7 (recordTime) ist ausgeblendet und wird in Spalte 4 (Datum) zum sortieren verwendet

                            J 1 Reply Last reply
                            0
                            • Matten MattenM Offline
                              Matten MattenM Offline
                              Matten Matten
                              wrote on last edited by
                              #331

                              Moin!
                              Falls jemand Interesse hat, hab soeben ein Nodered Subflow für Enigma2 veröffentlicht.

                              Bild Text https://github.com/Matten-Matten/node-red-enigma2-flow

                              Gruß
                              Matten Matten

                              ioBroker auf Beelink mit WIN10 home|CCU3 (Raspberrymatic)|Neato BotVac D3|HYPERION Ambilight auf RPI3 und RPI ZeroW|HA-Bridge|Milight LED|Nodered&Redmatic|VU Duo2 & Solo se V2

                              1 Reply Last reply
                              2
                              • K Kuddel

                                @Scrounger vielen Dank für die Hilfe,

                                Jetzt sieht es so aus und funktioniert:

                                a2bd25d2-d8f1-4f7c-b9ce-66a786063c7d-grafik.png

                                Spalte 7 (recordTime) ist ausgeblendet und wird in Spalte 4 (Datum) zum sortieren verwendet

                                J Offline
                                J Offline
                                JanekHinderks
                                wrote on last edited by
                                #332

                                @Kuddel Kannst du mir eine fertige View zur Verfügung stellen? :)

                                Vielen Dank im Voraus.

                                Gruß Janek :)

                                K 1 Reply Last reply
                                0
                                • J JanekHinderks

                                  @Kuddel Kannst du mir eine fertige View zur Verfügung stellen? :)

                                  Vielen Dank im Voraus.

                                  Gruß Janek :)

                                  K Offline
                                  K Offline
                                  Kuddel
                                  wrote on last edited by
                                  #333

                                  @JanekHinderks nur die Liste der Aufnahmen ?

                                  J 1 Reply Last reply
                                  0
                                  • K Kuddel

                                    @JanekHinderks nur die Liste der Aufnahmen ?

                                    J Offline
                                    J Offline
                                    JanekHinderks
                                    wrote on last edited by
                                    #334

                                    @Kuddel Ich suche eigentlich eine View, wo man z.b. programme / Lautstärke etc. schalten kann.
                                    Parallel dazu halt etwas für Aufnahmen :)

                                    Viell. hast du ja was für mich. Du könntest mir auch erstmal Beispielbilder von deiner View schicken. Das wäre echt cool !

                                    Danke schonmal :)

                                    K 1 Reply Last reply
                                    0
                                    • J JanekHinderks

                                      @Kuddel Ich suche eigentlich eine View, wo man z.b. programme / Lautstärke etc. schalten kann.
                                      Parallel dazu halt etwas für Aufnahmen :)

                                      Viell. hast du ja was für mich. Du könntest mir auch erstmal Beispielbilder von deiner View schicken. Das wäre echt cool !

                                      Danke schonmal :)

                                      K Offline
                                      K Offline
                                      Kuddel
                                      wrote on last edited by
                                      #335

                                      @JanekHinderks

                                      Hier ist meine VIS als Export

                                      https://forum.iobroker.net/topic/30497/vorstellung-meine-dritte-vis/2?page=1

                                      1 Reply Last reply
                                      0
                                      • Matten MattenM Offline
                                        Matten MattenM Offline
                                        Matten Matten
                                        wrote on last edited by
                                        #336

                                        Hey all,

                                        Neue Version

                                        Bild Text

                                        NPM version npm i iobroker.enigma2

                                        Bild Text https://github.com/Matten-Matten/ioBroker.enigma2.git


                                        Changelog

                                        1.3.1 (2020-08-20)

                                        • (Matten-Matten) correction in .enigma2.Timer_is_set & .enigma2.isRecording login handling

                                        Gruß
                                        Matten Matten

                                        ioBroker auf Beelink mit WIN10 home|CCU3 (Raspberrymatic)|Neato BotVac D3|HYPERION Ambilight auf RPI3 und RPI ZeroW|HA-Bridge|Milight LED|Nodered&Redmatic|VU Duo2 & Solo se V2

                                        ? 1 Reply Last reply
                                        2
                                        • Matten MattenM Matten Matten

                                          Hey all,

                                          Neue Version

                                          Bild Text

                                          NPM version npm i iobroker.enigma2

                                          Bild Text https://github.com/Matten-Matten/ioBroker.enigma2.git


                                          Changelog

                                          1.3.1 (2020-08-20)

                                          • (Matten-Matten) correction in .enigma2.Timer_is_set & .enigma2.isRecording login handling

                                          Gruß
                                          Matten Matten

                                          ? Offline
                                          ? Offline
                                          A Former User
                                          wrote on last edited by
                                          #337

                                          @Matten-Matten Hi, danke für den Adapter, echt geil!
                                          Leider läuft bei mir die Version 1.3.1 nicht, bzw. lässt sich nicht installieren.
                                          Vorher hatte ich die ganze Zeit die 1.2.9 am laufen, die 1.3.0 ist mir irgendwie entgangen...

                                          Issue auf Git hab ich schon mit Logfiles etc gemacht. :-)

                                          Matten MattenM 2 Replies 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

                                          514

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          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