Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Wie sunset/sunrise in der Visu darstellen

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

    [Codebeispiel] - √ - Wie sunset/sunrise in der Visu darstellen

    Hallo,

    Ich würde gerne den aktuellen Sonnenauf- und untergangszeitpunkt in der Visu darstellen, wie mache ich das ?
    Hab diesbezüglich nichts in den Docus gefunden, nur beispiele wie ich die funktion in den logic-Dateien verwenden kann, das klappt auch soweit schon.

    Würde aber gerne den Sonnen auf/untergang für den aktuellen Tag in der Visu anzeigen, damit ich auch sehe, wann die logik ungefähr ausgeführt wird.

    Danke und Gruß,
    Mike (smarthome/smartvisu Anfänger) :-)

    #2
    Hi Mike,

    Du kannst die SuFu benutzen und mal nach sun.rise im SH.py Forum suchen.
    Dort solltest Du auf die richtige Fährte gebracht werden.

    Wenn Du alles verstanden schön gemacht hast, kannst Du daraus gerne einen Artikel im Wiki machen. Siehe UDP im SH.py Forum.

    Viel Spaß

    Marcus

    Kommentar


      #3
      Kannst du da ein Beispiel liefern?

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

      Kommentar


        #4
        vom logischen ablauf her hätte ich das ganze jetzt soweit fertig, dass er mir den Sonnenauf/untergang ins Logfile speichert, aber mit der Visuanzeige hab ich weiterhin meine probleme.

        Würde den Wert zumindest gerne mal anzeigen können,
        mit der formatierung der Anzeige würde ich mich danach beschäftigen.

        items.conf
        Code:
        [sonne]
          [[auf]]
            value = default text
            type = str
            visu = yes
          [[ab]]
            value = default text
            type = str
            visu = yes
        logik.py
        Code:
        sunset = sh.sun.set()
        # sh.sun.rise([offset]) specifies an degree offset.
        sunrise = sh.sun.rise()
        sh.sonne.ab(sh.sun.set())
        sh.sonne.auf(sh.sun.rise())
        logger.info(sh.sun.set())
        logger.info(sh.sun.rise())
        logfile
        Code:
        2013-09-15 11:18:54,231 hello        ERROR    Item 'sonne.ab': value (2013-09-15 17:20:11.101612+00:00) does not match type (str). Via Logic None -- item.py:__call__:197
        2013-09-15 11:18:54,254 hello        ERROR    Item 'sonne.auf': value (2013-09-16 04:45:02.344738+00:00) does not match type (str). Via Logic None -- item.py:__call__:197
        2013-09-15 11:18:54,276 hello        INFO     2013-09-15 17:20:11.101612+00:00 -- hello.py:<module>:10
        2013-09-15 11:18:54,296 hello        INFO     2013-09-16 04:45:02.344738+00:00 -- hello.py:<module>:11
        Welches Format muss das item denn haben damit er den Wert akzeptiert ?

        Kommentar


          #5
          Hi Mike,

          Zitat von Mike01 Beitrag anzeigen
          Welches Format muss das item denn haben damit er den Wert akzeptiert ?
          Du hast es als str (String) definiert.

          Suche doch mal im SmartHome.py Subforum, dort findest Du ein Beispiel.

          Bis bald

          Marcus

          Kommentar


            #6
            Ich mach seit 14 Tagen nichts anderes als das gesamte Forum hier zu durchforsten und alles durchzulesen was mit smarthome.py oder smartvisu zu tun hat, aber ich komm nicht drauf, wie ich diesen blöden Zeitwert in der Visu anzeigen kann. Das mit dem String Wert hab ich vom Squeezebox Plugin abgeschaut. Dort wird der "Artist"-Text auch als String in der Visu angezeigt, deshalb dachte ich müßte er den Zeitwert des Sonnenauf/-untergangs auch in der form anzeigen können. Hab jetzt noch etwas gespielt, und der Datentyp muss wohl foo sein, zumindest meckert er da nicht. Aber anzeigen will er in der Visu trotzdem nichts, nur 3 striche.

            Welches Beispiel meinst du ? evtl. das hier:
            https://knx-user-forum.de/smarthome-...berechnen.html
            Daraus werd ich leider auch nicht schlau. Hilf mir bitte etwas auf die sprünge.

            Kommentar


              #7
              Hallo Mike,

              ja in https://knx-user-forum.de/332476-post9.html

              steht die Lösung:

              Code:
              sonne.unter(sh.sun.set().astimezone(sh.tzinfo()).strftime("%H:%M"))
              bis bald

              Marcus

              Kommentar


                #8
                Da versuch ich mich auch schon länger dran. Ein zwei Zeilen Beispielcode würden mir auch auf die Sprünge helfen.
                Muss sonne.unter(sh.sun.set().astimezone(sh.tzinfo()).s trftime("%H:%M")) in nem Widget dargestellt werden?

                Kommentar


                  #9
                  Ich danke dir,
                  kaum hat man den wink in die richtige richtung, schon gehts. :-)
                  Aber mit der sucherei im Forum hab ich auch einige neue interessante Themen und Codeanregungen gefunden,
                  oder besser gesagt neue spielereien und neue probleme. ;-)

                  Danke und Gruß,
                  Mike

                  Schön wäre es auch, wenn Du Deine Lösung vorstellst. Dann freut sich Stefan (Asterix3) auch.
                  Das hatte ich vor, hab nur noch etwas experimentiert.
                  Ob die Lösung so korrekt ist weis ich nicht, aber es funktioniert zumindest. :-)

                  logic.conf
                  Code:
                  [sonne]
                      filename = sonne.py
                      crontab = init | 0 3 * *
                  sonne.py
                  Code:
                  #!/usr/bin/env python
                  #
                  sh.sonne.auf(sh.sun.rise().astimezone(sh.tzinfo()).strftime("%H:%M"))
                  logger.info(sh.sun.rise())
                  sh.sonne.ab(sh.sun.set().astimezone(sh.tzinfo()).strftime("%H:%M"))
                  logger.info(sh.sun.set())
                  index.html
                  Code:
                      <hr>
                      
                      <div class="center">    
                      Sonnenaufgang: {{ basic.value('sonne.aufgang', 'sonne.auf') }}    
                      / Sonnenuntergang: {{ basic.value('sonne.untergang', 'sonne.ab') }}
                      </div>
                  Angehängte Dateien

                  Kommentar


                    #10
                    Hallo Mike,

                    schön das es klappt. Schön wäre es auch, wenn Du Deine Lösung vorstellst. Dann freut sich Stefan (Asterix3) auch.

                    Bis bald

                    Marcus

                    Kommentar


                      #11
                      Zitat von Mike01 Beitrag anzeigen
                      oder besser gesagt neue spielereien und neue probleme. ;-)
                      Ohje

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

                      Kommentar


                        #12
                        Super,

                        vielen vielen Dank. Aber anscheinend bekomme ich heute abend kein Copy and Paste hin.
                        Hab folgende Fehlermeldung:
                        2013-09-16 21:05:38 sonne WARNING Logic: sonne, File: sonne.py, Line: 3, Method: <module>, Exception: SmartHome instance has no attribute 'sonne'
                        2013-09-16 21:06:04 SmartHome.py INFO WebSocket: incoming connection from 192.168.178.55:49893
                        2013-09-16 21:06:04 SmartHome.py INFO Client 192.168.178.55:49893 requested invalid item: sonne.auf
                        2013-09-16 21:06:04 SmartHome.py INFO Client 192.168.178.55:49893 requested invalid item: sonne.ab
                        In der Anzeige nur Striche.

                        Hab in der smarthome.conf noch die Objekte angelegt und nun wird's angezeigt.
                        Hier meine smarthome.conf:
                        [sonne]
                        [[auf]]
                        type = foo
                        visu = yes
                        [[ab]]
                        type = foo
                        visu = yes

                        Nochmals vielen Dank.
                        Macht Spass die Sache und auch das Einarbeiten.

                        Kommentar


                          #13
                          Sorry, die smarthome.conf hatte ich vergessen.
                          Aber schön wenns bei dir jetzt auch funktioniert.
                          Genau so sieht der eintrag in meiner smarthome.conf auch aus.

                          Gruß, Mike

                          Kommentar


                            #14
                            Moin Mike,

                            zum reinfinden in die Programmierung habe ich mal Deinen Code eingebunden.

                            In der Oberfläche sehe ich zwar "Sonnenaufgang --- / Sonnenuntergang --- , aber leider keine eingetragene Uhrzeit.

                            Folgende Dateien habe ich mit Deinem Code versorgt:

                            /usr/smarthome/etc/smarthome.conf
                            /usr/smarthome/etc/logic.conf
                            /usr/smarthome/bin/sonne.py :angelegt und ausführbar gemacht
                            /var/www/smartvisu/pages/meinhome/index.html

                            Im Fehlerlog finde ich keinen Eintrag dafür. Wo kann ich noch suchen ?

                            Gruß Heiner

                            Kommentar


                              #15
                              Also das Erste was mir auffällt:
                              sonne.py muss in den Ordner logics im smarthome Verzeichnis!

                              Kommentar

                              Lädt...
                              X