Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter enigma2 v1.2.x

NEWS

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

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

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

Test Adapter enigma2 v1.2.x

Geplant Angeheftet Gesperrt Verschoben Tester
adapterenigma2
640 Beiträge 71 Kommentatoren 162.0k Aufrufe 60 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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

      <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

      <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

      K 1 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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)
          

          <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

          <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

          K 1 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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

              <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

              <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

              K 2 Antworten Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #326

                @Scrounger das sieht doch schonmal gut aus:

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

                1 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  0
                  • K Offline
                    K Offline
                    Kuddel
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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

                      <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

                      <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

                      K 1 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • Matten MattenM Offline
                          Matten MattenM Offline
                          Matten Matten
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #332

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

                            Vielen Dank im Voraus.

                            Gruß Janek :)

                            K 1 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #333

                              @JanekHinderks nur die Liste der Aufnahmen ?

                              J 1 Antwort Letzte Antwort
                              0
                              • K Kuddel

                                @JanekHinderks nur die Liste der Aufnahmen ?

                                J Offline
                                J Offline
                                JanekHinderks
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #335

                                  @JanekHinderks

                                  Hier ist meine VIS als Export

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • Matten MattenM Offline
                                    Matten MattenM Offline
                                    Matten Matten
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      Ein ehemaliger Benutzer
                                      schrieb am zuletzt editiert von
                                      #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 Antworten Letzte Antwort
                                      0
                                      • ? Ein ehemaliger Benutzer

                                        @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 Offline
                                        Matten MattenM Offline
                                        Matten Matten
                                        schrieb am zuletzt editiert von Homoran
                                        #338

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

                                        @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. :-)

                                        bitte noch einmal versuchen, oder von npm installieren.

                                        EDIT: kurze Rückmeldung geben ob es jetzt funktioniert!

                                        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 Antwort Letzte Antwort
                                        0
                                        • ? Ein ehemaliger Benutzer

                                          @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 Offline
                                          Matten MattenM Offline
                                          Matten Matten
                                          schrieb am zuletzt editiert von
                                          #339

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

                                          @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. :-)

                                          problem behoben, ich konnte jetzt auch von git installieren.

                                          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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          460

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe