Ankündigung

Einklappen
Keine Ankündigung bisher.

AutoRefresh Smartvisu Wetter / Datum

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

    AutoRefresh Smartvisu Wetter / Datum

    Hallo,

    ich wollte fragen ob es eine Möglichkeit gibt das sich das Wetter und das Datum automatisch aktualisiert. Ich nutze das aktuelle Smartvisu aus dem Git.

    Vielen Dank!

    Grüße

    Grav

    #2
    Du kannst jedem widget ein "data-repeat" mitgeben z. b. data-repeat=1h, dann wird es alle Stunde refresed.

    Gruss
    Join smartVISU on facebook. Web: smartvisu.de.
    Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

    Kommentar


      #3
      Hey, Ich habe gerade mal in den Code geguckt, aber müsste damit das repeat auch funktioniert nicht für das jeweilige Widget auch ein Handler implementiert werden? Wenn ich das richtig gesehen habe dann ist das nur für "iconclock" und "miniclock" der Fall, oder? d.h. Wetter oder Kalender würden out-of-the-box nicht funktionieren. Korrigiert mich wenn ich mich irren sollte. Grüße Lars

      Kommentar


        #4
        Ja, das ist korrekt. Du bräuchtest einen Handler für 'repeat':
        Code:
         
         [COLOR=#7a7a43][B]'repeat'[/B][/COLOR]: [COLOR=#000080][B]function [/B][/COLOR](event) { ... }
        Gruss
        Join smartVISU on facebook. Web: smartvisu.de.
        Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

        Kommentar


          #5
          Ich notier mir das mal, für den Kalender hatte ich mir das mal selbst als Custom-Lösung bereits gebaut, - aber noch ohne "data-repeat". Wenn ich mit meiner Migration auf 2.8 soweit fertig und zufrieden bin refactor ich meinen Code mal und dann kann ich ja mal n Pull-Request stellen wenn es fertig ist.

          Grüße

          Kommentar


            #6
            Nabend,

            Apollo hat heute mittag meinen Pullrequest gemerged, der für die Widgets "Wetter", "Calendar" und "Phone" das "data-repeat" einbaut, so dass diese Widgets nun regelmäßig aktualisiert werden. => https://github.com/Martin-Gleiss/smartvisu/pull/47

            Standardmäßig sind folgende Refresh-Zeiten konfiguriert:
            • Calendar: 1h
            • Phone-Lists: 15m
            • Current weather: 1h
            • Forecast weather: 3h

            Alternativ kann das über den Macro-Aufruf auch anders eingestellt werden. Beispielsweise:

            Code:
            calendar.list("myCalendar", "Müll", 5, "green", "15m")
            Dabei wird das relative Zeitformat verwendet, also 10s => 10 Sekunden, 10m => 10 Minuten, 10h => 10h,....


            Grüße,

            Lars

            Kommentar


              #7
              Hallo,

              vielen Dank für das Anpassen der Widgets!

              Grüße Grav

              Kommentar


                #8
                Hallo Apollo,

                bei mir funktioniert das leider nicht mit dem autorefresh. Das Datum wird leider auch nicht automatisch aktualisiert.

                Ich habe smartvisu frsich aus dem git geholt. Und das Wetter mit

                {% import "weather.html" as weather %}
                {{ weather.current('currentwetter', 'Germany/Schleswig-Holstein/Alveslohe') }}

                eingebunden.

                Normalerweise sollte ja der default Wert von 1h greifen.

                Danke und Grüße

                Grav

                Kommentar


                  #9
                  Hey Grav,

                  spontan würde mir als Ursache der Pagecache einfallen - hast Du den gelöscht nach dem Update?
                  Wenn ja, schau trotzdem mal bitte im gerenderten Seitenquelltext nach ob in deinem Wetter-Widget das "data-repeat" Attribut vorhanden ist.
                  Geladen wird dein Wetter aber korrekt, oder?
                  Gibt es in der Browser-Konsole vielleicht einen JavaScript Fehler?

                  Ich hab bisher eigentlich keinen Fehler feststellen können.


                  Grüße,

                  Lars

                  Kommentar


                    #10
                    Hallo,
                    ich verwende diese clock.digiclock, variante 2.
                    Leider wird diese nicht automatisch aktualisiert. Deshalb habe ich mal selber nach dem Vorbild der anderen Widgets etwas rumgespielt und versucht, diese repeat-Funktion zu implementieren. Leider ohne Erfolg.
                    Hier mein Code:
                    HTML-Code:
                    /**
                    * Displays a digital clock
                    *
                    * @param unique id for this widget
                    * @param location as string (optional)
                    * @param the refresh interval for this widget (using relative time format), default 15m
                    *
                    * [USER="25162"]info[/USER] based on jDigiClock by Radoslav Dimov
                    * [USER="27066"]Link[/USER] http://www.radoslavdimov.com
                    */
                    {% macro digiclock(id, location, repeat) %}
                        {% set uid = uid(page, id) %}
                    
                        {% if once('digiclock') %}
                            <link rel="stylesheet" type="text/css" href="lib/clock/jdigiclock.css" />
                            <script type="text/javascript" src="lib/clock/jquery.jdigiclock.js"></script>
                        {% endif %}
                    
                        <div id="{{ uid }}-digiclock" data-widget="clock.digiclock"
                            class="digiclock" data-repeat="{{ repeat|default('15m') }}"></div>
                    
                        {% if location %}
                            {% if once('digiweather') %}
                                <link rel="stylesheet" type="text/css" href="lib/weather/jdigiweather.css" />
                            {% endif %}
                    
                            <div class="center">
                                <div id="{{ uid }}-spot" class="spot">
                                    <div class="temp"></div>
                                    <div class="city"></div>
                                    <div class="cond"></div>
                                    <img src="">
                                </div>
                            </div>
                        {% endif %}
                    
                        <script type="text/javascript">
                            $('#{{ page }}').on('pagecreate', function (event, ui) {
                                $('#{{ uid }}-digiclock').digiclock();
                    
                                {% if location %}
                                $.getJSON('lib/weather/service/{{ config_weather_service }}.php?location={{ location|default(config_weather_location) }}&lang={{ config_lang|default(en) }}', function (data) {
                                    $('#{{ uid }}-spot img').attr('src', 'lib/weather/pics/' + data.current.icon + '.png');
                                    $('#{{ uid }}-spot .city').html(data.city);
                                    $('#{{ uid }}-spot .cond').html(data.current.conditions);
                                    $('#{{ uid }}-spot .temp').html(data.current.temp);
                                });
                                {% endif %}
                    
                                            'repeat': function(event) {
                                    $('#{{ uid }}-digiclock').trigger('init');
                                }
                            });
                        </script>
                    {% endmacro %}
                    Kann mir vielleicht jemand sagen, wo das Problem liegt?
                    Vielen Dank.

                    Grüße
                    Thomas

                    Kommentar

                    Lädt...
                    X