Hauptmenü

Enigma2 Integration

Begonnen von luvat, 30 Juni 2016, 18:51:54

Vorheriges Thema - Nächstes Thema

luvat

Hallo,

ich möchte gerne meine Dreambox integrieren. .. Soweit ist ja alles easy ... was ich nicht hinbekomme ist, dass ich die Senderliste in einem select (einer Combobox) anzeigen lasse und bei Auswahl eines anderen Senders der Sender entsprechend wechselt.

Hat das schon wer hinbekommen? Für ein Snippet wäre ich super dankbar.

Beste Grüße

setstate

Das Enigma2 Modul kennt zwar die Channels, bietet aber keine Liste direkt an, deshalb habe ich mir mit einem UserReading helfen müssen

setreading SatReceiver channels Das_Erste_HD:ZDF_HD:RTL_HD:SAT.1_HD:ProSieben_HD:VOX_HD:kabel_eins_HD:RTLII_HD:TLC_HD:SIXX_HD:SUPER_RTL_HD:RTLNITRO_HD:Pro7_MAXX_HD:SAT.1_Gold_HD:DMAX_HD:TELE_5_HD:Disney_Channel_HD:NICKELODEON_HD:EinsPlus_HD:Einsfestival_HD:zdf_neo_HD:3sat_HD:zdf.kultur_HD:arte_HD:MDR_Sachsen_HD:WDR_HD_Dortmund:BR_Fernsehen_Nord_HD:rbb_Berlin_HD:SWR_BW_HD:n-tv_HD:N24_HD:ZDFinfo_HD:tagesschau24_HD:KiKA_HD:PHOENIX_HD:Deluxe_Music_HD:MTV_HD:ANIXE_HD:RiC:ServusTV_HD_Deutschland:Comedy_Central/VIVA:SPORT1:pearl.tv_HD_Shop:TecTime_TV

In der TabletUI kann man diese dann so einbinden

<div data-type="select" data-device="SatReceiver" data-list="channels" data-get="channel" data-set="channel"></div>


Die List kann man dem Enigma2 Modul aber per Trick entlocken. Einfach einen Channel anwählen wollen, den es nicht gibt. Dann gibt es eine Fehlermeldung mit allen "richtigen" Sendern.

set SatReceiver channel gibmirdielisteraus

Man muss dann nur noch für das Select-Widget die Kommas durch ein Doppelpunkt ersetzen.

luvat

Klasse. Vielen Dank!
Funktioniert perfekt.
Ich schulde dir ein Bier :)

setstate

#3
Super! Vielen Dank!  ;D

Ich habe gleich noch bissel rumgespielt und meine Musik-Player Steuerung als Vorlage hergenommen und etwas Neues zur SatReciever-Steuerung darauf aufgebaut.
Kann man noch schicker machen, hier nur mal der erste Wurf


<!DOCTYPE html>
<html>
<head>
    <!--
     /* FHEM tablet ui */
     /*
     * UI builder framework for FHEM
     *
     * Version: 2.2.0
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015-2016 Mario Stephan <mstephan@shared-files.de>
     * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
     *
     * !!!! Evaluation version - run only in a staging enviroment !!!!
     *
     * - create a new folder named 'tablet_eval' in /<fhem-path>/www
     * - copy all files incl. sub folders into /<fhem-path>/www/tablet_eval
     * - add 'define TABLETUIEVAL HTTPSRV ftui_eval ./www/tablet_eval Tablet-EVAL' in fhem.cfg
     * - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet_eval/
     */
    -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="74">
    <meta name="widget_base_height" content="71">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="gridster_disable" content="1">
    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="debug" content="0"> <!-- verbose level 1-6 = output to console;0 = not output -->
    <meta http-equiv="Cache-Control" content="no-store" />

    <link rel="stylesheet" href="lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="lib/font-awesome.min.css" />
    <link rel="stylesheet" href="lib/jquery.toast.min.css" />

    <!-- define your personal style here, it wont be overwritten  -->
    <!-- link rel="stylesheet" href="css/fhem-green-ui.css" / -->
    <!-- link rel="stylesheet" href="css/fhem-tablet-ui-user.css" / -->

    <script src="../pgm2/jquery.min.js"></script>
    <script src="lib/jquery.toast.min.js"></script>
    <script src="lib/jquery.gridster.min.js"></script>
    <script src="js/fhem-tablet-ui.js" defer></script>

    <title>FHEM-Tablet-UI</title>
</head>

<body>
    <div class="gridster">
      <ul>
        <li data-row="1" data-col="2" data-sizex="5" data-sizey="6">
             <header>SATRECEIVER</header>
                 <div data-type="image"
                          data-url="http://vusolo2.local/grab?format=jpg"
                          data-size='350'
                          data-refresh="30"
                          class="row top-space nocache">
                 </div>
                 <div class="row top-space">
                     <div data-type="label" data-device="SatReceiver" data-get="eventstart_hr" data-substitution="s/(:00)$//g" class="inline middle"></div>
                     <div data-type="level" data-device="SatReceiver" data-get="eventcurrenttime" data-min="eventstart" data-max="eventstart_next" data-width="240"   class="horizontal inline middle"></div>
                     <div data-type="label" data-device="SatReceiver" data-get="eventstart_next_hr" data-substitution="s/(:00)$//g" class="inline middle"></div>
                 </div>
                 <div class="row large thin top-space">
                     <div data-type="label" data-device="SatReceiver" data-get="currentTitle" class="bold"></div>
                     <div data-type="label" data-device="SatReceiver" data-get="channel" class=""></div>
                 </div>
                 <div class="row top-space">
                     <div data-type="switch" data-device="SatReceiver" data-get="power" data-set="power"
                          data-icon="fa-power-off" data-background-icon="-"
                          data-on-color="white" data-off-color="gray"
                          data-on-background-color="white" data-off-background-color="gray"
                          class="col-1-5">
                     </div>
                     <div data-type="push" data-device="SatReceiver"
                           data-icon="fa-step-backward" data-background-icon="-"
                           data-off-color="#fff" data-on-color="#aa6900"
                           data-set-on="channelDown" class="col-1-5 big">
                     </div>
                     <div data-type="switch"
                             data-device="SatReceiver"
                             data-states='["on","on","on"]'
                             data-set-states='["pause","play","play"]'
                             data-background-icon="fa-circle-thin"
                             data-background-colors='["white","white","white"]'
                             data-colors='["white","white","white"]'
                             data-icons='["fa-pause","fa-play","fa-play"]'
                             class="col-1-5 big">
                     </div>
                     <div data-type="push" data-device="SatReceiver"
                           data-icon="fa-step-forward" data-background-icon="-"
                           data-off-color="#fff" data-on-color="#aa6900"
                           data-set-on="channelUp" class="col-1-5 big">
                     </div>
                     <div data-type="switch" data-device="SatReceiver" data-get="mute" data-set="mute"
                           data-icon="fa-volume-off" data-background-icon="-"
                           data-on-color="white" data-off-color="gray"
                           class="col-1-5">
                     </div>
               </div>
        </li>
        <li data-row="1" data-col="2" data-sizex="6" data-sizey="6">
             <header>CHANNELS</header>
             <div data-type="select" data-device="SatReceiver" data-list="channels" data-get="channel" data-set="channel" class=""></div>
             <div data-type="label" data-device="SatReceiver" data-get="eventdescription" class="large top-space-3x"></div>
             <div class="container padding margin">
                <div class="container round bg-gray  padding margin">
                    <div data-type="label" data-device="SatReceiver" data-get="eventdescriptionextended" class="container round bg-gray  padding margin"></div>
                </div>
            </div>
        </li>
      </ul>
    </div>
</body>
</html>


luvat


choetzu


Super Umsetzung, danke. Hab ich auch so gemacht, klappt bestens.

Ich habe folgenden Code aber rausgenommen, da es mich immer nach dem PW fragt.
         <div data-type="image"
                          data-url="http://meineIP/grab?format=jpg"
                          data-size='350'
                          data-refresh="30"
                          class="row top-space nocache">
                 </div>


Wie kann ich mein Login und PW in die data-url einbinden? geht das überhaupt? Ich würde dann gerne das Bild darstellen...
Raspi3, EnOcean, Zwave, Homematic

setstate

Ich würde es ersteinmal mit dem Standard Format versuchen

http://username:password@example.com/...

choetzu

danke setstate und sorry, dass ich erneut mit einer Frage aufkomme:

Meine Channelliste ist im FHEM durch Kommas getrennt. Es wird im Auswahlmenu nun als 1 Sender dargestellt und nicht als eine Liste.. Siehe Bild.

Kann man dies irgendwie ändern.. im Wiki habe ich nix dazu gefunden.

Raspi3, EnOcean, Zwave, Homematic

setstate

Deshalb habe ich ein userreading mit der gleichen Liste, nur mit : getrennt, angelegt.

Aber etwas einfachen wäre es, wenn auch ohne extra-Readings ginge. Also habe ich jetzt das Select Widget um den Parameter "data-delimiter" erweitert.

<div data-type="select" data-device="SatReceiver" data-delimiter="," data-list="channelList" data-get="channel" data-set="channel" class=""></div>

choetzu

Super!!!! Herzlichen Dank.  Habs ausprobiert und funzt 1A!! Sackstark.. Danke
Raspi3, EnOcean, Zwave, Homematic

axs77

Hi.

Dem sackstark schließe ich mich an ;-)
Leider ist der Screenshot ein bischen zu groß. Wie bekomme ich den denn in der Höhe skaliert?

Grüße.


FHEM 5.8
CUL868
CUL433 a-culfw
RasPi -B

setstate

data-height und data-width

axs77

#12
Ok. Danke dir.
Leider wird an die "grab" URL  zum Schluß immer ein "_=1483807883881" angehängt; die Zahl variiert dabei. Und so wird das Bild nicht angezeigt. Nehme ich das Anhängsel weg öffnet sich ein einwandfreier Screenshot.
Habe eine DM525. Aber das müsste bei enigma2 doch eigentlich egal sein oder?

EDIT: Ein einfaches data-url="http://192.168.13.43/grab" hat schon gereicht.

Vielen Dank nochmal !


EDIT2: Schade. Das war es doch nicht. Wird immer noch die Zahl angehangen...
FHEM 5.8
CUL868
CUL433 a-culfw
RasPi -B

axs77

#13
Ich benötige nochmal Hilfe. Es will ums verrecken kein Bild erscheinen.
Nachdem ich nun alle möglichen Kombinationen im Grab link ausprobiert habe muß ich die Segel streichen.

So sieht derzeit meine Konfiguration aus:

   <div data-type="image"
                          data-url="http://192.168.13.43/grab?format=jpg"
                          data-size="384"
  data-height="216"
  data-refresh="30"
                          class="row top-space nocache">
                 </div>


Aber es  erscheint kein Bild. Öffne ich das Bild in einem neuen Tab erscheint die Linkadresse "http://192.168.13.43/grab?format=jpg&_=1484121568785". Nehme ich das hinten angehängte "&_=1484121568785" weg, erscheint ein einwandfreier Screenshot.
Nehme ich das nocache aus der class, dann erscheint zwar einmalig ein Bild, wird aber nicht aktualisiert.
Hat da jemand eine Idee zu?

Grüße.
FHEM 5.8
CUL868
CUL433 a-culfw
RasPi -B

setstate

Mit nocache wird hinten der Zeitstempel (&_=1484121568785") angehangen, damit immer vom Server geholt wird und nicht aus dem Cache.

Wenn die URL mit &_=123456789 hinten bei dir nicht funktioniert, liegt das vllt. an deinem Receiver. Bei meinem OpenATV Image funktioniert es immer noch ohne Probleme.