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

    #16
    Moin Asterix,

    ich habe die Datei "sonne.py" jetzt ins richtige Verzeichnis gepackt. Jetzt gibt es auch eine Fehlermeldung:

    2013-09-19 16:18:15 sonne WARNING Logic: sonne, File: sonne.py, Line: 3, Method: <module>, Exception: SmartHome instance has no attribute 'sonne'

    Die smarthome.conf habe ich aber doch angepasst. Fehlt da noch was ?

    Gruß Heiner

    Kommentar


      #17
      die smarthome.conf im items verzeichnis mußt du bearbeiten, bzw deine erstellte Datei im /etc Verzeichnis muss ins /items Verzeichnis.

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

      Gruß, Mike

      Kommentar


        #18
        Die Änderungen habe ich jetzt durchgeführt. Es funzt aber immer noch nicht.

        Dafür kommt die Fehlermeldung jetzt leicht abgeändert:

        2013-09-19 14:55:35 sonne WARNING Logic: sonne, File: sonne.py, Line: 3, Method: <module>, Exception: SmartHome instance has no attribute 'sun'

        Also jetzt 'sun' statt 'sonne'.

        Update: Ich habe gerade noch einen INFO-Eintrag im Log entdeckt:
        2013-09-19 15:38:26 SmartHome.py INFO No latitude/longitude specified => you could not use the sun and moon object.


        Gruß Heiner

        Kommentar


          #19
          So, jetzt läuft es ;-)

          Ich habe wie in der Doku "Sample Configuration" beschrieben, noch eine Datei /usr/local/smarthome/etc/smarthome.conf angelegt mit den Einträgen:
          lat = 51.1633 lon = 10.4476 elev = 500 tz = 'Europe/Berlin'

          Jetzt meckert das Logfile nicht mehr und in der Oberfläche stehen die Uhrzeiten für Sonnenauf- und Untergang. Nun müssen nur noch die richtigen Koordinaten eingetragen werden.

          Vielen Dank für Eure Hilfe.

          Gruß Heiner

          Kommentar


            #20
            Hi!
            Ich habe das jetzt für Sonne und Mond in meiner Visu eingebaut, dabei eure Vorlage genommen. Ich verzichte auf eine Logic in dem Sinne, sondern habe mir nur Items angelegt, die ich abfrage. Außerdem wird per "crontab" Eintrag die Berechnung einmal am Tag gestartet.
            Hier meine Umsetzung, vielleicht für den Einen oder Anderen hilfreich:

            Items:
            Code:
            [system]
                [[datum_uhrzeit]]
                    [[[sonne]]]
                        [[[[berechnung]]]]
                            type = bool
                            visu = yes
                            enforce_updates = true
                            crontab = init | 1 0 * *
                        [[[[aufgang]]]]
                            type = foo
                            visu = yes
                            eval = sh.sun.rise().astimezone(sh.tzinfo()).strftime("%H:%M")
                            eval_trigger = system.datum_uhrzeit.sonne.berechnung()
                            enforce_updates = true
                        [[[[untergang]]]]
                            type = foo
                            visu = yes
                            eval = sh.sun.set().astimezone(sh.tzinfo()).strftime("%H:%M")
                            eval_trigger = system.datum_uhrzeit.sonne.berechnung()
                            enforce_updates = true
                        [[[[position]]]]
                            type = num
                            visu = yes
                            eval = sh.sun.pos()
                            eval_trigger = system.datum_uhrzeit.sonne.berechnung()
                            enforce_updates = true
                    [[[mond]]]
                        [[[[berechnung]]]]
                            type = bool
                            visu = yes
                            eval_trigger = system.datum_uhrzeit.mond.berechnung()
                            enforce_updates = true
                            crontab = init | 1 0 * *
                        [[[[aufgang]]]]
                            type = foo
                            visu = yes
                            eval = sh.moon.rise().astimezone(sh.tzinfo()).strftime("%H:%M")
                            eval_trigger = system.datum_uhrzeit.mond.berechnung()
                            enforce_updates = true
                        [[[[untergang]]]]
                            type = foo
                            visu = yes
                            eval = sh.moon.set().astimezone(sh.tzinfo()).strftime("%H:%M")
                            eval_trigger = system.datum_uhrzeit.mond.berechnung()
                            enforce_updates = true
                        [[[[position]]]]
                            type = foo
                            visu = yes
                            eval = sh.moon.pos()
                            eval_trigger = system.datum_uhrzeit.mond.berechnung()
                            enforce_updates = true
                        [[[[licht]]]]
                            type = num
                            visu = yes
                            eval = sh.moon.light()
                            eval_trigger = system.datum_uhrzeit.mond.berechnung()
                            enforce_updates = true
                        [[[[phase]]]]
                            type = num
                            visu = yes
                            eval = sh.moon.phase()
                            eval_trigger = system.datum_uhrzeit.mond.berechnung()
                            enforce_updates = true
            die Ausgabe geschieht so:
            Code:
            <img src="lib/weather/pics/sonne_auf.png" width="35"/> {{ basic.value('sonnenaufgang', 'system.datum_uhrzeit.sonne.aufgang') }} <img src="lib/weather/pics/sonne_ab.png" width="35"/> {{ basic.value('sonnenuntergang', 'system.datum_uhrzeit.sonne.untergang') }}&nbsp;&nbsp;&nbsp;&nbsp;
                    <img src="lib/weather/pics/mond_auf.png" width="35"/> {{ basic.value('mondaufgang', 'system.datum_uhrzeit.mond.aufgang') }} <img src="lib/weather/pics/mond_ab.png" width="35"/> {{ basic.value('monduntergang', 'system.datum_uhrzeit.mond.untergang') }}
            Ich habe mir dazu noch ein paar Bilder zurecht geschnitten und fertig

            Kommentar


              #21
              Danke für das beispiel, diese Lösung gefällt mir auch sehr gut.
              Hab mich bisher mit der eval funktion noch nicht beschäftigt, aber das sieht schon sehr interessant aus.

              Jedenfalls die Idee mit den Bildern ist auch sehr gut, hab das mal so übernommen, und mir auch ein paar icons zurechtgemacht.

              Danke und Gruß, Mike
              Angehängte Dateien

              Kommentar


                #22
                Ha! Deine Icons sehen besser aus! Kann ich die bekommen?

                By
                Rhaegar

                Kommentar


                  #23
                  Nö.

                  Kann ICH die bekommen, dann werde ich sie hinzufügen, und alle haben was davon.

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

                  Kommentar


                    #24
                    Aber gerne doch, hier bitte schön.

                    Gruß, Mike
                    Angehängte Dateien

                    Kommentar


                      #25
                      @rhaegar: du hast in deinem beispiel auch die berechnung von sonnenpos. Und mondphase drin, hast du da evtl. Ein svg icon im einsatz ? Bzw bei der berechnung der positionen bekomm ich eine fehlermeldung im logfile, hast du da eine idee, was da nicht passt ?
                      Ich habs aber zum test als Logik gebaut, und nur mal ins Logfile geschrieben. Dabei bekam ich die Fehlermeldung.

                      Fehlermeldung:
                      Code:
                      2013-09-22 17:50:06 sonne        WARNING  Logic: sonne, File: /usr/smarthome/lib/orb.py, Line: 80, Method: pos, Exception: 'NoneType' object has no attribute 'az'
                      logik:
                      Code:
                      #!/usr/bin/env python
                      #
                      logger.info("Sonnenaufgang")
                      logger.info(sh.sun.rise())
                      logger.info("Sonnenuntergang")
                      logger.info(sh.sun.set())
                      logger.info("Mondlicht")
                      logger.info(sh.moon._light())
                      logger.info("Mondphase")
                      logger.info(sh.moon._phase())
                      logger.info("Mondpos.")
                      logger.info(sh.moon.pos())
                      logger.info("Sonnenpos.")
                      logger.info(sh.sun.pos())

                      Kommentar


                        #26
                        Hi!
                        Position, Phase und Light zeig ich aktuell nicht an. Aber im Logfile sehe ich die richtigen Werte.

                        Moon Phase, Light sind bei mir aber ohne _ Unterstrich. Kann ich in der Smarthome Doku auch so nicht finden.

                        Svg icon dafuer waere natuerlich auch was. Damit muss ich mich noch mal beschaeftigen

                        Bye
                        Rhaegar

                        Kommentar


                          #27
                          Danke, den Wert für die Sonnenpos. bekomm ich jetzt auch angezeigt, werd mich dann sobald die Smartvisu V2.7 veröffentlicht wurde mal mit den svg Icons beschäftigen.

                          Ich hätte da aber noch eine andere Frage, bzw Problem.
                          Ich hab bei mir die berechnung der Sonne/Mond-Zeiten auch mit der eval funktion eingefügt, wie in deinem Beispiel.
                          Bekomme aber an manchen Tagen immer mal wieder einen Wert nicht angezeigt. Es zeigt mir dann nur 3 Striche an.
                          Nach einem Neustart des Raspberry hab ich dann mit etwas Glück wieder alle 4 Zeiten,
                          oder es wird ein anderer Wert nicht angezeigt.
                          Wenn ich das ganze über die Logikfunktion mache bekomm ich alle 4 werte sofort angezeigt.
                          Kann es sein dass die gleichzeitige eval berechnung aller 4 Werte nicht zuverlässig funktioniert, bzw den Pi überfordert ?

                          Hab jetzt jedenfalls wieder auf die Logikdatei umgestellt.

                          Gruß, Mike

                          Kommentar


                            #28
                            Zitat von Mike01 Beitrag anzeigen
                            ... werd mich dann sobald die Smartvisu V2.7 veröffentlicht wurde mal mit den svg Icons beschäftigen...
                            Dynamische SVG-Icons gehen seit dem aktuellen (2.6er) Release.

                            Release_v26 - smartvisu - New in this release - smartVISU is a visualisation framework for KNX - Google Project Hosting

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

                            Kommentar


                              #29
                              Hi,

                              Sowohl bei der Lösung von Mike per Logic als auch der von rhaegar bekomme ich folgenden Fehler:

                              sonne WARNING Logic: sonne, File: /usr/local/smarthome/lib/orb.py, Line: 56, Method: rise, Exception: Orb instance has no attribute '_obs' -- scheduler.py:_task:281

                              Weis jemand an was das liegen könnte?

                              Kommentar


                                #30
                                Hallo Mario,

                                kann es sein das Du ein paar Warning Errors im Logfile unterschlagen hast?

                                Bis bald

                                Marcus

                                P.S. Du muss Deine Koordinaten bei SH.py einstellen. Siehe Doku.

                                Kommentar

                                Lädt...
                                X