Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter enigma2 v1.2.x

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter enigma2 v1.2.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kuddel @Scrounger last edited by

      @Scrounger das sieht doch schonmal gut aus:

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

      1 Reply Last reply Reply Quote 0
      • K
        Kuddel @Scrounger last edited by Kuddel

        @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 Reply Quote 0
        • K
          Kuddel last edited by

          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 🙂

          Scrounger 1 Reply Last reply Reply Quote 0
          • Scrounger
            Scrounger Developer @Kuddel last edited by

            @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 Reply Quote 0
            • K
              Kuddel @Scrounger last edited by

              @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 Reply Quote 0
              • Matten Matten
                Matten Matten last edited by

                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

                1 Reply Last reply Reply Quote 2
                • J
                  JanekHinderks @Kuddel last edited by

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

                  Vielen Dank im Voraus.

                  Gruß Janek 🙂

                  K 1 Reply Last reply Reply Quote 0
                  • K
                    Kuddel @JanekHinderks last edited by

                    @JanekHinderks nur die Liste der Aufnahmen ?

                    J 1 Reply Last reply Reply Quote 0
                    • J
                      JanekHinderks @Kuddel last edited by

                      @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 Reply Quote 0
                      • K
                        Kuddel @JanekHinderks last edited by

                        @JanekHinderks

                        Hier ist meine VIS als Export

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

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

                          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

                          Neuschwansteini 1 Reply Last reply Reply Quote 2
                          • Neuschwansteini
                            Neuschwansteini @Matten Matten last edited by

                            @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 Matten 2 Replies Last reply Reply Quote 0
                            • Matten Matten
                              Matten Matten @Neuschwansteini last edited by Homoran

                              @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

                              Neuschwansteini 1 Reply Last reply Reply Quote 1
                              • Matten Matten
                                Matten Matten @Neuschwansteini last edited by

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

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

                                  @Matten-Matten Hi, super, du warst ja schneller als der Schall.. konnte eben erst wieder installieren, die Installation vom Admin aus lief einwandfrei durch, instanz erzeugt, einwandfrei, konfiguriert, läuft!

                                  Danke! Top!

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

                                    Hey all,
                                    Ich habe die Arbeit am Adapter weitestgehend eingestellt.

                                    Projekt Übernehmer gesucht!

                                    Bild Text

                                    NPM version npm i iobroker.enigma2

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


                                    Bei Interesse bitte auf das ISSUE antworten -> #44 <-


                                    Gruß
                                    Matten Matten

                                    dslraser E Xsev Glasfaser 4 Replies Last reply Reply Quote 2
                                    • dslraser
                                      dslraser Forum Testing Most Active @Matten Matten last edited by

                                      @Matten-Matten

                                      @apollon77
                                      kann das dann nicht auch ein Community Adapter werden ?

                                      apollon77 1 Reply Last reply Reply Quote 3
                                      • E
                                        el_malto @Matten Matten last edited by

                                        @Matten-Matten sehr schade. Leider habe ich keine Programmierkenntnisse.
                                        Trotzdem einen RIESEN Dank für diesen Adapter und die Zeit die du da rein gesteckt hast.👏 👏 👏

                                        dslraser 1 Reply Last reply Reply Quote 0
                                        • dslraser
                                          dslraser Forum Testing Most Active @el_malto last edited by

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

                                          @Matten-Matten sehr schade. Leider habe ich keine Programmierkenntnisse.
                                          Trotzdem einen RIESEN Dank für diesen Adapter und die Zeit die du da rein gesteckt hast.👏 👏 👏

                                          Das unterschreibe ich genau so.👍
                                          (Ich habe zwei Instanzen im Einsatz, die schon lange problemlos laufen)

                                          1 Reply Last reply Reply Quote 1
                                          • Xsev
                                            Xsev @Matten Matten last edited by

                                            @Matten-Matten
                                            Danke für den Adapter, lange problemlos im Einsatz. 👍
                                            Hoffe es findet sich jemand.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            950
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter enigma2
                                            71
                                            640
                                            115411
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo