Ankündigung

Einklappen
Keine Ankündigung bisher.

Wunschliste

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

    Wunschliste

    Bei der Einrichtung von smarthome.py sind mir ein paar Punkte aufgefallen, die ich mir in einem der nächsten Releases wünschen würde. Das meiste sind Kleinigkeiten, und das eine oder andere werde ich auch selbst beisteuern.
    • Abkehr vom hartkodierten Pfad /usr/local/smarthome/. Das ist in dieser Form ziemlich unelegant. Ich würde mir das modularer wünschen und die Pfade in der smarthome.conf angeben wollen.
    • Dem Skript würde ich entsprechend gerne mindestens die Parameter pfad-zu-smarthome.conf und pid-file mitgeben können.
    • Wenn ich das Skript mit --stop beende, funktioniert das zwar, aber es wird mit kill -9 abgeschossen. Ich weiß nicht, warum, aber das ist unschön.
    • Für Sonnenauf- und -untergang muss ich gefühlt Berge an Kram nachinstallieren, wo es auch 30 Zeilen Python tun. Das geht auch einfacher. Den Code habe ich schon fertig, ich muss ihn aber noch integrieren.
    • Aktuell wird bei Feuchtesensoren nur das Auslesen des Defaultwerts unterstützt (Pfad /humidity), was mindestens beim Multisensor 2.11 Grütze ergibt. Patch kommt.


    Grüße,

    Max

    #2
    Hi Max,

    Zitat von l0wside Beitrag anzeigen
    • Abkehr vom hartkodierten Pfad /usr/local/smarthome/. Das ist in dieser Form ziemlich unelegant. Ich würde mir das modularer wünschen und die Pfade in der smarthome.conf angeben wollen.
    • Dem Skript würde ich entsprechend gerne mindestens die Parameter pfad-zu-smarthome.conf und pid-file mitgeben können.
    in dem Bereich wird sich auf jeden Fall was tun, ich wollte da für das Pi Image auf jeden Fall mal aufräumen.

    Zitat von l0wside Beitrag anzeigen
    • Wenn ich das Skript mit --stop beende, funktioniert das zwar, aber es wird mit kill -9 abgeschossen. Ich weiß nicht, warum, aber das ist unschön.
    Ist ja eher ein Bug, müsste man mal analysieren.

    Zitat von l0wside Beitrag anzeigen
    • Für Sonnenauf- und -untergang muss ich gefühlt Berge an Kram nachinstallieren, wo es auch 30 Zeilen Python tun. Das geht auch einfacher. Den Code habe ich schon fertig, ich muss ihn aber noch integrieren.
    30 Zeilen, lass sehen ;-). Bei 0.8 habe ich auch noch sh.moon inkl. Mondphase hinzugefügt.

    Zitat von l0wside Beitrag anzeigen
    • Aktuell wird bei Feuchtesensoren nur das Auslesen des Defaultwerts unterstützt (Pfad /humidity), was mindestens beim Multisensor 2.11 Grütze ergibt. Patch kommt.
    Wieso kommst Du darauf? Du kannst doch einen beliebigen Sensor angeben.

    Bis bald

    Marcus

    Kommentar


      #3
      Zitat von mknx Beitrag anzeigen
      30 Zeilen, lass sehen ;-). Bei 0.8 habe ich auch noch sh.moon inkl. Mondphase hinzugefügt.
      Das braucht maximal meine mondsüchtige Kleine. Ansonsten zu Sonnenaufgang/-untergang:
      Code:
      [FONT=Courier New]# Python calculation of sunrise/sunset
        [/FONT][FONT=Courier New]# Calculations based on [URL="http://lexikon.astronomie.info/zeitgleichung/"]Formel für Sonnenaufgang, Sonnenuntergang und die Zeitgleichung[/URL]
        [/FONT][FONT=Courier New]# Parameters in degrees and hours, internally in rad, day as number in year (1...366)
      
        
        [/FONT][FONT=Courier New]from math import sin, cos, acos, pi
        
        [/FONT][FONT=Courier New]def sunrise(day,lon,lat,tz,elev = -2):
        [/FONT][FONT=Courier New]    return 12 - _time_ofs(day,lon*pi/180,tz) - _daylen2(day,lat*pi/180,elev*pi/180)
        
        
        [/FONT][FONT=Courier New]def sunset(day,lon,lat,tz,elev = -2):
        [/FONT][FONT=Courier New]    return 12 - _time_ofs(day,lon*pi/180,tz) + _daylen2(day,lat*pi/180,elev*pi/180)
        
        
        [/FONT][FONT=Courier New]def _time_ofs(day,lon,tz):
        [/FONT][FONT=Courier New]    return _localtime_delta(day) + 12*lon/pi - tz
        
        [/FONT][FONT=Courier New]# Half daylen    
        [/FONT][FONT=Courier New]def _daylen2(day,lat,elev):
        [/FONT][FONT=Courier New]#    print day , ",",lat,",",elev, "\n", day,",",lat*180/pi,",",elev*180/pi
        [/FONT][FONT=Courier New]    return (12*acos((sin(elev) - sin(lat)*sin(_declination(day))) / (cos(lat)*cos(_declination(day))))/pi)
        
        [/FONT][FONT=Courier New]def _declination(day):
        [/FONT][FONT=Courier New]    return (0.4095*sin(0.016906*(day-80.086)))
        
        [/FONT][FONT=Courier New]def _localtime_delta(day):
        [/FONT][FONT=Courier New]    return (-0.171*sin(0.0337 * day + 0.465) - 0.1299*sin(0.01787 * day - 0.168))[/FONT]
      Zitat von mknx Beitrag anzeigen
      Zitat von l0wside
      Aktuell wird bei Feuchtesensoren nur das Auslesen des Defaultwerts unterstützt (Pfad /humidity), was mindestens beim Multisensor 2.11 Grütze ergibt. Patch kommt.
      Wieso kommst Du darauf? Du kannst doch einen beliebigen Sensor angeben.
      Der Multisensor hat mehrere Feuchtigkeitswerte, die Pfade dazu lauten z.B. [sensor]/HIH3600/humidity und [sensor]/HIH4000/humidity und können auch nur so ausgelesen werden. Default (Pfad /humidity) liefert owfs bei mir den Wert für den HIH3600, es ist aber der HIH4000 verbaut. Deswegen passt dann die Umrechnungsformel nicht, und smarthome.py bekommt vom owfs falsche Werte serviert.

      Ich könnte auch den owfs patchen, aber das war mir zu aufwändig. Meine Modifikation ergänzt (optional) einfach den Pfad entsprechend.

      Gruß,

      Max

      Kommentar


        #4
        Zitat von l0wside Beitrag anzeigen
        Das braucht maximal meine mondsüchtige Kleine. Ansonsten zu Sonnenaufgang/-untergang:
        Danke für den Code! Es sind sogar nur 14 Zeilen.
        Mal sehen. Wenn ich keine Bilbliotheken verwende, dann verstehe ich den Code gerne. Und momentan verstehe ich den Code nicht. :-(

        Zitat von l0wside Beitrag anzeigen
        Der Multisensor hat mehrere Feuchtigkeitswerte, die Pfade dazu lauten z.B. [sensor]/HIH3600/humidity und [sensor]/HIH4000/humidity und können auch nur so ausgelesen werden. Default (Pfad /humidity) liefert owfs bei mir den Wert für den HIH3600, es ist aber der HIH4000 verbaut.
        Und Du kannst ihn nicht mit:
        Code:
        ow_sensor = HIH4000/humidity
        auslesen?

        Bis bald

        Marcus

        Kommentar


          #5
          Mal sehen. Wenn ich keine Bilbliotheken verwende, dann verstehe ich den Code gerne. Und momentan verstehe ich den Code nicht. :-(
          man braucht nicht für alles libs und irgendwelche webabfragen

          auf/untergang lässt sich mathematisch berechnen und stimmt in etwa +-5 minuten in hauptzeiten überein.

          siehe: Formel für Sonnenaufgang, Sonnenuntergang und die Zeitgleichung

          Kommentar


            #6
            Zitat von l0wside Beitrag anzeigen
            Das braucht maximal meine mondsüchtige Kleine.
            Ich dachte bei dem Use Case eher an "Beschattung" bei Vollmond.

            @fanta2k: klar man Berechnungen auch mathematisch durchführen. ;-)
            Ein Patch der die lib/orb.py ohne externe Abhängigkeiten ersetzt und weitere Anpassung vermeidet werden gerne angenommen.

            Bis bald

            Marcus

            Kommentar

            Lädt...
            X