Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeit anzeigen

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

    Zeit anzeigen

    Hallo zusammen,

    ich würde gerne folgendes Item aus smarthomeNG in smartVISU anzeigen bzw. im Optimallfall auch verstellen. (Zeit der Heizung für die geplante Pelletbefüllung des Tagesbehälters):
    Code:
    pellets_zeit_1:
        name = Pelletsaugzeit 1
        type = foo
        knx_dpt = 10
        knx_send = 10/4/108
        knx_listen = 10/4/158
        enforce_updates = yes
        cache = on
        visu_acl = rw
    Für die reine Anzeige habe ich folgenden Code aus der alten smarthomeNG wiki herangezogen:
    Code:
    {{ basic.formula('PelletSaugen1', 'env.location.sunrise', 'time') }}
    und für mein item verändert:
    Code:
    {{ basic.formula('PelletSaugen1', 'heizung.pellets_zeit_1', 'time') }}
    .
    Leider funktioniert das nicht und die Seite lädt nicht mehr korrekt (ERROR: Could not connect to smarthome.py server! Websocket error undefined).

    Was genau mache ich da den Falsch?

    Gibt es eine Widget um die Zeit auch verändern zu können? Ich konnte bisher nichts finden.

    Besten Dank!!
    Zuletzt geändert von bmx; 13.08.2020, 08:43.

    #2
    Bezüglich Verbindung zu shng guckst du hier: https://www.smarthomeng.de/dev/user/...unikation.html
    Du musst auch in den Einstellungen der sv die IP (nicht localhost) und den Port 2424 angeben.

    Welche sv Version nutzt du? Da solltest du auf den develop Zweig wechseln (2.9!) und dann das basic.formula durch basic.print ersetzen:
    <URL_ZUR_VISU>/index.php?page=basic/widget_basic.print&pages=docu

    Zum Verstellen der Zeit gibt es basic.input.

    Kommentar


      #3
      Danke für die rasche Antwort!

      Ich habe bisher smartVISU2.8 verwendet aber jetzt testweise 2.9 probiert. Leider mit dem selben Ergebnis.
      Wenn ich in 2.9 folgendes verwende geht es:
      Code:
      {{ basic.print('PelletSaugen1', 'env.location.sunrise', 'time') }}
      Wenn ich jedoch mein Item verwende:
      Code:
      {{ basic.print('PelletSaugen1', 'heizung.pellets_zeit_1', 'time') }}
      zeigt er mir auf der gesamten Seite keinen Inhalt mehr an (genau gleich wie in 2.8).


      Jetzt hab ich smarthomeNG mal im interaktiven Modus gestartet und mir detailierte Infos zum Wert der beiden Items ausgeben lassen.
      Hier das Ergebniss:
      Code:
      >>> sh.env.location.sunset()
      datetime.datetime(2018, 12, 27, 16, 12, 49, 294845, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Luxembourg'))
      >>> sh.heizung.pellets_zeit_1()
      datetime.time(10, 0)
      Jetzt bin ich nicht so der Python Experte, aber es wird einmal das time und einmal das datetime Objekt verwendet. Kommt hier ev. smartVISU nur mit datetime klar?

      Kommentar


        #4
        smai ist hier der Spezialist, aber im js File für das Widget steht: //TODO: check time
        Es wird auch ein neues Date Objekt erstellt, wenn time als Format angegeben ist. Insofern gehe ich davon aus, dass deine Vermutung richtig ist. Besser mal kurz abwarten.

        Kommentar


          #5
          Ich habe das jetzt nachgebaut und kann keine Probleme feststellen, weder mit datetime.time noch mit datetime.datetime.
          Schau dir mal die Browserkonsole (Ctrl+F12) an, ob da ein Hinweis zu finden ist.

          Kommentar


            #6
            Ich vermute es liegt an dem Item selbst. Bei meinem Pelletsitem ist nämlich nur die Zeit hinterlegt, kein Tag.
            Bei der Konsolenanzeige ist eigentlich nichts da was nicht bei allen anderen Seiten auch auftaucht. Nur bevor er die Seite neu lädt (was nur passiert wenn ich mein Zeit Item anzeigen lassen will) kommt noch diese Meldung:


            Kommt auf allen seiten:
            Code:
            HTML1300: Navigation wurde ausgeführt.
            index.php
            Aktuelles Fenster: 10.0.0.150/index.php
            HTTP404: NICHT GEFUNDEN: Der Server hat keine Übereinstimmungen für den angeforderten URI (Uniform Resource Identifier) gefunden.
            (XHR)GET - http://10.0.0.150:170/vendor/jquery/jquery-2.0.3.min.map
            HTTP404: NICHT GEFUNDEN: Der Server hat keine Übereinstimmungen für den angeforderten URI (Uniform Resource Identifier) gefunden.
            (XHR)GET - http://10.0.0.150:170/vendor/jquery.mobile/jquery.mobile-1.3.2.min.map
            SCRIPT7016: XMLHttpRequest wird nicht mehr verwendet, während das synchronous-Kennzeichen auf TRUE festgelegt ist, weil die Websiteleistung für den Benutzer beeinträchtigt wird.
            Kommt zusätzlich wenn ich mein Item anzeigen will:
            Code:
            SCRIPT12030: WebSocket Error: Network Error 12030, Die Serververbindung wurde aufgrund eines Fehlers beendet.
            Eine Meldung die dann noch aufpopt kann ich leider nicht lesen da sie nur für bruchteile einer Sekunde kommt und dann durch das neuladen der Seite wieder weg ist.

            Kommentar

            Lädt...
            X