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

  • 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.
  • AtifanA Atifan

    Hi bin gerade auf den Adapter hier gestoßen und habe ihn direkt mal installiert :)
    Dazu ein paar Fragen:

    • Ich habe mehrere Enigma2 Receiver, benötige ich pro Receiver eine eigenen Instanz?
    • ich wüsste aktuell nur nicht wirklich was ich mit dem Adapter anfangen kann :D Gibt es irgendwelche Praxisbeispiele wofür das gut sein kann? :dog:

    Danke!

    dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von dslraser
    #310

    @Atifan
    Ich nutze den Adapter in Verbindung mit Alexa oder auch iQontrol zum Sender umschalten oder zum lauter/leiser machen.

    iQontrol

    Screenshot_20200307-092245_Chrome.jpg

    In Verbindung mit dem TR-064 Adapter für die Fritzbox lasse ich z.B. bei ankommenden Anrufen die Lautstärke reduzieren oder den Ton ganz aus. Den Anrufer könntest Du auch auf dem TV anzeigen lassen. (mache ich aber mit einem Plugin direkt mit der VU)

    1 Antwort Letzte Antwort
    0
    • AtifanA Offline
      AtifanA Offline
      Atifan
      schrieb am zuletzt editiert von
      #311

      Hi,
      möchte meinen Enigma2 Receiver über Alexa an und ausschalten.
      Habe in Nodered ein Ablauf zum Steuern erstellt, aber es funktioniert nicht.
      Ich möchte die Datenpunkte WAKE_UP_FROM_STANDBY und STANDBY ansteuern.
      Wie muss ich das machen, dass er schaltet?
      Danke!

      99884a64-1751-4cb1-b457-d0063b5ce6be-image.png

      b19dbbd0-7581-48e9-b971-4560705f495b-image.png

      E 1 Antwort Letzte Antwort
      0
      • AtifanA Atifan

        Hi,
        möchte meinen Enigma2 Receiver über Alexa an und ausschalten.
        Habe in Nodered ein Ablauf zum Steuern erstellt, aber es funktioniert nicht.
        Ich möchte die Datenpunkte WAKE_UP_FROM_STANDBY und STANDBY ansteuern.
        Wie muss ich das machen, dass er schaltet?
        Danke!

        99884a64-1751-4cb1-b457-d0063b5ce6be-image.png

        b19dbbd0-7581-48e9-b971-4560705f495b-image.png

        E Offline
        E Offline
        el_malto
        schrieb am zuletzt editiert von
        #312

        @Atifan reagiert denn der Receiver wenn du die Datenpunkte manuell steuerst. Wenn ja ist mit dem Adapter alles Ok und das wäre dann glaube ich der falsche Thread hier da es ja mit dem Adapter nichts zu tun hat sondern generell um NodeRed geht.
        Ich benutze leider nicht NodeRed und kann dir daher nicht weiter helfen.

        1 Antwort Letzte Antwort
        0
        • AtifanA Offline
          AtifanA Offline
          Atifan
          schrieb am zuletzt editiert von
          #313

          Ja wenn ich auf den Butten des Datenpunktes klicke geht es. OK ich frage mal im NodeRed Bereich.

          1 Antwort Letzte Antwort
          0
          • AtifanA Offline
            AtifanA Offline
            Atifan
            schrieb am zuletzt editiert von
            #314

            Habs hinbekommen. Die Buttons müssen über ein false angesteuert werden.
            0b50d679-816f-4d90-b450-93f39443ae97-image.png

            1 Antwort Letzte Antwort
            0
            • AtifanA Offline
              AtifanA Offline
              Atifan
              schrieb am zuletzt editiert von
              #315

              Hm ich kann jetzt zwar den Receiver steuer wenn er bereits an ist.
              Ich kann ihn in Standby fahren und aus dem Standby aufwecken.
              Ich kann ihn aber nicht aus dem DeepStandby aufwecken.
              Geht das nicht?

              J 1 Antwort Letzte Antwort
              0
              • AtifanA Atifan

                Hm ich kann jetzt zwar den Receiver steuer wenn er bereits an ist.
                Ich kann ihn in Standby fahren und aus dem Standby aufwecken.
                Ich kann ihn aber nicht aus dem DeepStandby aufwecken.
                Geht das nicht?

                J Offline
                J Offline
                Jan1
                schrieb am zuletzt editiert von
                #316

                @Atifan
                Kommt drauf an, was alles aus geschaltet ist. Wenn LAN/WLAN im Standby aus ist und der Receiver kein WOL unterstützt eben nicht.

                1 Antwort Letzte Antwort
                0
                • AtifanA Offline
                  AtifanA Offline
                  Atifan
                  schrieb am zuletzt editiert von
                  #317

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

                  J 1 Antwort Letzte Antwort
                  0
                  • 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
                    schrieb am zuletzt editiert von
                    #318

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

                    1 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                      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
                        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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          638

                                          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