Ankündigung

Einklappen
Keine Ankündigung bisher.

Bild aus GAD anzeigen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Bild aus GAD anzeigen

    Guten Morgen.

    Gibt es in SV die Möglichkeit die Adresse eines Bildes durch ein Item zu laden?
    Hintergrund: Ich betreibe meine Aussenkameras an einer Diskstation. Über die Surveillance Station kann ich mir den aktuellen MJPEG Stream ausgeben lassen. Da sich dort aber die Session ID ändert, kann ich den Pfad zum aktuellen Bild / Stream nicht fest in SV hinterlegen.
    Ich würde nun gerne z.B. multimedia.image nutzen um das Bild anzuzeigen und die aktuelle Adresse an "src" übergeben. Geht das irgendwie? in der Doku finde ich leider nichts dazu.

    Gruß und Danke
    Oli
    Zuletzt geändert von oli82; 06.01.2017, 10:56.

    #2
    ich habe in smarthomeNG beim enigma2 plugin bspw ein item, dass ich mit html code bedate.. das zeige ich als basic.value in der SV an. das nutze ich, um einen screenshot des aktuellen tv senders dort reinzubringen, also sehr ähnlich.
    das tolle: wenn sich der wert der GAD ändert (anderer bild link) updated das bild auch in der SV

    Kommentar


      #3
      Cool, und das sagst Du jetzt erst... Ich sollte echt mal die mitgelieferten Plugin-Widgets einbinden

      Kommentar


        #4
        Danke für die Info psilo . Sind die widgets von smarthomeNG zu smartvisu kompatibel?

        Kommentar


          #5
          oli82 smarthome kann widgets in die sv "reingenerieren". ich nutze das aber nicht.. das mit engima2 haben ich mir dazugebastelt. ich glaube in der itemliste die ich in der readme habe steht, wie das html aussehen muss

          https://raw.githubusercontent.com/sm...gma2/README.md
          Code:
                      [[[[servicestream]]]]
                          type = str
                          visu_acl = rw
                          eval = '<a href="http://'+sh.vusolo2._enigma2_device._host+':'+sh.vusolo2._enigma2_device._port+'/web/stream.m3u?ref='+sh.enigma2.vusolo2.current.servicereference()+'"><img class="ui-corner-all" id="mjpgImage" style="width:95%" alt="Processing..." src="http://'+sh.vusolo2._enigma2_device._host+':'+sh.vusolo2._enigma2_device._port+'/grab?format=png&r=720&'+sh.enigma2.vusolo2.current.servicereference()+'"></a>'
                          eval_trigger = init | enigma2.vusolo2.current.servicereference
          Sandman60 das ist ein item, kein widget.. und noch cooler: wenn man drauf klickt oder touched öffnet der stream
          Zuletzt geändert von psilo; 31.12.2016, 17:51.

          Kommentar


            #6
            Danke psilo . Muss ich mir mal anschauen. Ich nutze SV mit Fhem auf einem Android Tablet. evtl kann ich das "out of the box" übernehmen.

            Kommentar


              #7
              oli82 du musst halt schauen, wie du das in FHEM machen kannst.. die syntax oben ist sh.py spezifisch

              Kommentar


                #8
                Klappt leider so nicht. Habe es bisher immer noch nicht lösen können.

                Kommentar


                  #9
                  oli82 1:1 wird das auch nicht klappen. für die FHEM Fraktion könntest Du wenigstens posten, was Du versucht hast.

                  Kommentar


                    #10
                    1:1 hab ich auch nicht versucht, da der Ansatz so ja nicht umsetzbar ist, bzw. ich keine Möglichkeit gefunden habe, der aus mehreren Reading einen Link erstellen kann.
                    Ich habe eher versucht, mir den Teil des Sonos Widgets (https://github.com/ddtlabs/smartvisu...e/master/sonos), der das Bild aus einem Reading lädt in ein eigenes Widget zu packen. Leider jedoch ohne Erfolg.

                    Kommentar


                      #11
                      dazu musst du aber doch erstmal via GAD aus FHEM die URL verfügbar machen. wenn du das kannst, kannst du auch als text theoretisch mein html reinlegen.

                      {{ ddtlabs_int_sonos.cover(id~coverUrl, gad~coverUrl, defCoverArtUrl) }}

                      Kommentar


                        #12
                        Habe es nun mit Hilfe von raman aus dem Fhem Forum wie folgt gelöst:

                        Code:
                        {% macro image(id, item) %}
                        <img id="{{ uid(page, id) }}" data-widget="multimedia.image" data-item="{{ item }}" src="pages/base/pics/trans.png"/>
                        
                        <script>
                        $(document).on('update', 'img[data-widget="multimedia.image"]', function (event, response) {
                        $(this).attr('src', response);
                        });
                        </script>
                        {% endmacro %}
                        Fhem übergibt dann den Link zum Bild an das Widget und lädt das MJPEG.

                        Kommentar


                          #13
                          Hallo Oli

                          Pass auf: Das Widget multimedia.image existiert bereits.
                          Im Moment funktioniert dies zwar, weil der JavaScript-Code für dieses Widget noch in multimedia.html drin steht statt wie bei den meisten Widgets in widget.js
                          Da ich dies sicher in einem der nächsten Releases korrigieren werde, solltest du aber unbedingt einen anderen Namen verwenden.
                          Als Prefix macht custom. Sinn, da ich (und hoffentlich andere Entwickler) dies sicher nie verwenden werde.

                          @all:
                          Seit deiner Frage bin ich am überlegen, ob ein entsprechendes neues Widget Sinn machen würde oder ob multimedia.image um ein Item erweitert werden soll.
                          Bei Verwendung con multimedia.image würde das Bild gemäss dem angegebenen Zeitintervall neu geladen und das Cachen würde verhindert. Ich bin mir aber gar nicht so sicher, ob dies bei einem per Item definierten Bild überhaupt gewollt ist.
                          Was meint ihr?

                          Gruss
                          Stefan

                          Kommentar


                            #14
                            Danke smai für den Hinweis. Habe es gleich mal geändert.
                            Für mich würde ein neues Widget aus folgenden Gründen Sinn machen:
                            • image reload ist bei mjpeg eher hinderlich
                            • Erweiterung um ein item finde ich gerade bei statischen links nicht so passend.
                            Am liebsten wäre mir multimedia.mjpeg oder multimedia.item, das dann aus einem GAD geladen werden kann.

                            Kommentar


                              #15
                              Ich verwende das wunderground-Plugin in SmarthomeNG. Dort habe ich mir u.a. folgendes Item erstellt:
                              Code:
                              [Wetter]
                                  [[wetter_icon]]
                                      type = str
                                      wug_xmlstring = icon
                              In diesem Item wird dann der Pfad zum Icon vom Plugin angelegt:
                              Code:
                              http://icons.wxug.com/i/c/k/partlycloudy.gif
                              Nun möchte ich dieses entsprechende Icon in SmartVisu 2.9 anzeigen. Mit multimedia.image geht das nicht:
                              Code:
                              {{ multimedia.image('image1','Wetter.wetter_icon') }}
                              Der Inhalt des Items wird nicht an das Widget übergeben. Wie kann ich in SmartVisu das GIF anzeigen ?

                              Kommentar

                              Lädt...
                              X