Ankündigung

Einklappen
Keine Ankündigung bisher.

SmartHome.py

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

    #61
    Zitat von mknx Beitrag anzeigen
    Das Problem bei owfs ist die mitgelieferte Python API. Die funktioniert nicht immer. Bei SH.py habe ich ein OW-API reinkopiert. Es kann sein, dass die nicht mehr kompatibel mit 2.8p2 ist. Werde ich demnächst mal ausprobieren.
    Hmmm, mit 2.8p13 liefert der owserver für '/uncached/SENSORID/temperature' in den seltesten Fällen einen Wert zurück. => SH.py sieht nichts
    Die gechachde Variante liefert häufig einen Wert zurück.

    Ich denk ich werde hier noch eine Weile brauchen...

    Bis bald

    Marcus

    Kommentar


      #62
      Mach dir keinen Kopf, es dürfte einen Grund haben warum ich aktuell bei 2.8p2 hängengeblieben bin (wo die py's glaub ich putt sind aber die kann man ja von woanders nehmen..) -> das ist putt..

      Makki
      EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
      -> Bitte KEINE PNs!

      Kommentar


        #63
        Wird Zeit für ne owfs Alternative? Scheint mri doch recht verbreitet diesseits und jenseits des Teiches. Aber vl. doch zu klein...
        Das 1wire im Kernel direkt nutzt gar nix vermute ich?
        Derzeit zwischen Kistenauspacken und Garten anlegen.
        Baublog im Profil.

        Kommentar


          #64
          @mknx

          Hallo Marcus,

          ich wollte heute dein smartphone.py auf meinem Wiregate testen, aber dort bekomme ich mit deiner sampel-config nur folgende Fehlermeldung:

          Code:
          # /usr/local/smarthome/bin/smarthome.py
          Traceback (most recent call last):
            File "/usr/local/smarthome/bin/smarthome.py", line 35, in <module>
              from configobj import ConfigObj
          ImportError: No module named configobj
          root@wiregate328:/usr/local#
          Woran könnte das liegen?


          P.S.: In deiner Anleitung könntest du ergänzen, dass für pyephem häufig auch ein "sudo apt-get install python-dev" notwendig ist.

          Edit: Ich habe gerade nochmal den Thread durchgeschaut und gesehen, dass das Skript nicht mit python 2.5 läuft, auf dem Wiregate ist leider nur Version 2.5.2 installiert, dann liegt der Fehler wohl daran...
          Edit2: liegt nicht an python 2.5 mit der Version 2.6.5 unter Ubuntu 10.04 habe ich das gleiche Problem...

          Kommentar


            #65
            Hallo Axel,

            Zitat von panzaeron Beitrag anzeigen
            ich wollte heute dein smartphone.py auf meinem Wiregate testen, aber dort bekomme ich mit deiner sampel-config nur folgende Fehlermeldung:
            ...
            Woran könnte das liegen?
            freut mich das Dich mein Projekt interessiert.

            Dein Problem lässt sich einfach beheben.
            Code:
            # apt-get install python-configobj python-dateutil
            Quelle: SmartHome.py - Installation

            Das mit python-dev nehme ich noch mit in die Anleitung auf, Danke.

            Wenn Du weitere Probleme haben solltest, melde Dich einfach.

            Bis bald

            Marcus

            Kommentar


              #66
              Danke, danke, manchmal ist man einfach nur blind

              Meine erste Test Visu funktioniert (Licht an/aus), aber das Dimmen funktioniert nur kurz, z.B. einmal heller oder dunkler und dann nicht mehr (auch die Aktualisierung funktioniert dann nicht, andere Button wie z.B. an/aus aber schon). Ein Neustart von smarthome.py hilft kurzzeitig, hast du eine Idee was das sein könnte?

              Ist es möglich die Verzögerungszeit für die Aktualisierung des Sliders einzustellen (Toggel-Button praktisch sofort, Slider ca. 5s verzögert)?

              Kommentar


                #67
                Zitat von panzaeron Beitrag anzeigen
                Meine erste Test Visu funktioniert (Licht an/aus), aber das Dimmen funktioniert nur kurz, z.B. einmal heller oder dunkler und dann nicht mehr (auch die Aktualisierung funktioniert dann nicht, andere Button wie z.B. an/aus aber schon). Ein Neustart von smarthome.py hilft kurzzeitig, hast du eine Idee was das sein könnte?
                Ich vermute einen Bug. Ich bin gerade dabei eine neue Version zu testen und zu dokumentieren, die den Bug wahrscheinlich nicht mehr hat (Ich hatte ein ähnliches Problem). 1-2 Wochen, dann sollte es soweit sein. Sorry.

                Zitat von panzaeron Beitrag anzeigen
                Ist es möglich die Verzögerungszeit für die Aktualisierung des Sliders einzustellen (Toggel-Button praktisch sofort, Slider ca. 5s verzögert)?
                Momentan leider nicht. Wieso?
                Ich verwende die Schrittweite (stepping) der Slider um nicht jede kleinste Änderung zu senden.

                Bis bald

                Marcus

                P.S. wir können auch per PN/E-Mail Dein Problem nachvollziehen/lösen

                Kommentar


                  #68
                  Erstmal danke für die Antwort, und besonders für den Tipp mit dem Step.

                  Nach meinen ersten Test mit jQuery Mobile und deinem SmartHome.py, gefällt mir die Visu ganz gut. Folgendes empfinde ich als positiv:
                  • jQuery Mobile ermöglicht verhältnismäßig schnell eine Visu zusammen zu bauen.
                  • Mit dem Multiview Plugin ist es einfach eine Visu sowohl auf einem Tablet/PC als auch auf einem Smartphone zu nutzen, ohne das die Visu Platz verschwendet und trotzdem einigermaßen gut aussieht (fast natives Look and Feel).
                  • Verschiedene Themes sind vorhanden und neue können komfortable erzeugt werden.
                  • Erweiterbar mit Plugins


                  Nachteil ist die direkte fehlende Verschlüsselung (für mich nicht wichtig, da ich es eh nur über eine VPN-Verbindung nutzen würde).

                  Dann noch eine kurze Frage (vielleicht habe ich das auch übersehen), ist es möglich mit einem Button einen festen Wert zu senden (z.B. 0,1 oder 60 ) ohne die Verwendung einer Logik?

                  Bin gespannt wie sich die Visu noch entwickelt, gerade weil es nicht der Schwerpunkt von deinem Projekt ist...

                  P.S.: Der Slider funktioniert bei mir noch nicht sauber, aber ich warte auf deine neue Version und werde dann nochmal testen...
                  Angehängte Dateien

                  Kommentar


                    #69
                    Hallo Axel,

                    danke erst einmal für das postive Feedback mit den nützlichen Ergänzungen.
                    Du hast da ja schon was nettes zusammengebaut. Wie bist Du denn mit der Geschwindigkeit auf dem WG zufrieden?

                    Zitat von panzaeron Beitrag anzeigen
                    Nachteil ist die direkte fehlende Verschlüsselung (für mich nicht wichtig, da ich es eh nur über eine VPN-Verbindung nutzen würde).
                    Das kommt noch. Ich habe schon mal angefangen TLS mit Client-Zertifikaten für die WebSocket-Verbindung zu implementieren. Das hakt aber noch und mir ist das nächste Release, das unter der Haube massive Veränderungen erfahren hat, 'dazwischen' gekommen.

                    Zitat von panzaeron Beitrag anzeigen
                    Dann noch eine kurze Frage (vielleicht habe ich das auch übersehen), ist es möglich mit einem Button einen festen Wert zu senden (z.B. 0,1 oder 60 ) ohne die Verwendung einer Logik?
                    Wie meinst Du das genau? Was für einen Wert möchtest Du wieso, wohin senden?
                    Man kann momentan mit einen Button nur feste Werte an eine Logik schicken.
                    Ich könnte aber relativ einfach auch die Funktion für CSS-Buttons oder IMG-Buttons einbauen.

                    Zitat von panzaeron Beitrag anzeigen
                    Bin gespannt wie sich die Visu noch entwickelt, gerade weil es nicht der Schwerpunkt von deinem Projekt ist...
                    ToDo für die Visu:
                    • TLS Client-Zertifikate für WebSocket
                    • dynamische Graphiken aus den RRD Daten erzeugen
                    • ...


                    bis bald

                    Marcus

                    Kommentar


                      #70
                      Hallo Markus
                      Zitat von mknx Beitrag anzeigen
                      Wie meinst Du das genau? Was für einen Wert möchtest Du wieso, wohin senden?
                      Man kann momentan mit einen Button nur feste Werte an eine Logik schicken.
                      Ich könnte aber relativ einfach auch die Funktion für CSS-Buttons oder IMG-Buttons einbauen.
                      Ich hatte die Idee, bei den Rollläden noch einen (Submit-)Button hinter den Slidern einzufügen der z.B. Beschatten heißt und wenn man darauf klickt, wird einfach nur an das mit data-sh angegebene Objekt ein vorher definierter Wert geschickt, am Beispiel der Beschattung z.B. 60 (60%). Ich finde es für manche Anwendungsfälle besser einen Button zu drücken als die Position mit dem Slider anzufahren.

                      So, als Idee für ein paar Stunden mit langerweile, wäre für die Visu auch noch ein ColorPicker mit dem über drei Objekte die RGB-Farbwerte übergeben werden können (Grundlage könnte der Farbtastic Color Picker oder direkt als Mobile-Plugin der Gautier Color Picker Mobile sein).

                      Das deine Planung auch die Darstellung von RRD Daten vorsieht finde ich gut

                      Dein Smarthome.py habe ich nicht auf dem Wiregate laufen, weil dort leider nur Python 2.5 installiert ist, das smarthome.py und die visu laufen auf meinem kleinen Atom-Server mit guter Geschwindigkeit...

                      Viele Grüße

                      Axel

                      Kommentar


                        #71
                        Zitat von mknx Beitrag anzeigen
                        Hmmm, mit 2.8p13 liefert der owserver für '/uncached/SENSORID/temperature' in den seltesten Fällen einen Wert zurück. => SH.py sieht nichts
                        Nachtrag: das lag daran das ich die 'Ping' Nachrichten nicht richtig behandelt hatte. Mit https://knx-user-forum.de/knx-eib-fo...py-v0-6-a.html und dem aktuellen owfs klappt das recht anständig.

                        Zitat von panzaeron Beitrag anzeigen
                        Ich hatte die Idee, bei den Rollläden noch einen (Submit-)Button hinter den Slidern einzufügen der z.B. Beschatten heißt und wenn man darauf klickt, wird einfach nur an das mit data-sh angegebene Objekt ein vorher definierter Wert geschickt, am Beispiel der Beschattung z.B. 60 (60%). Ich finde es für manche Anwendungsfälle besser einen Button zu drücken als die Position mit dem Slider anzufahren.
                        Mit dem aktuellen Release kannst Du dafür img-Buttons verwenden.
                        Wenn es gar nicht taugt kann ich auch noch normale Buttons einbauen.

                        Bis bald

                        Marcus

                        Kommentar


                          #72
                          [QUOTE=mknx;236228][*]dynamische Graphiken aus den RRD Daten erzeugen
                          Das Rad muss man nicht nochmal erfinden, das fetch mit JSON ist mittlerweile übrigends Upstream..

                          Zitat von mknx Beitrag anzeigen
                          Nachtrag: das lag daran das ich die 'Ping' Nachrichten nicht richtig behandelt hatte.
                          Nicht nur das, das owfs war zwischen 2.7p34 und 2.8p15 einfach total broken, das hat mich auch genau solange gekostet (warens 2 oder 3J?) darauf lang genug rumzureiten ;p

                          Makki
                          EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                          -> Bitte KEINE PNs!

                          Kommentar


                            #73
                            Zitat von makki Beitrag anzeigen
                            Das Rad muss man nicht nochmal erfinden, das fetch mit JSON ist mittlerweile übrigends Upstream..
                            Danke für den Hinweis. Ich will den Weg über 'xport' json und flot gehen. Dort fehlen allerdings die Python-Bindings. Da muss ich mich mit C rumquälen und das dann Upstream bringen...

                            Bis bald

                            Marcus

                            Kommentar


                              #74
                              Habe Smarthome.py heute mal im Büro getestet und war recht angetan. Nun wollte ich es auf'm Wiregate installieren, was aber nicht ganz einfach ist. Da dort standardmäßig Python2.5 installiert ist und ein einfaches Update auf 2.6 nicht möglich, da nicht im Repo, hab ich 2.6 aus den sourcen parallel installiert. Hier mein kleines Installationslog:

                              gcc installieren

                              apt-get install gcc

                              zlib installieren

                              wget http://zlib.net/zlib-1.2.7.tar.gz
                              tar -xvzf zlib-1.2.7.tar.gz
                              cd zlib-1.2.7
                              ./configure --shared --prefix=/usr/local
                              make
                              make install

                              readline installieren

                              wget ftp://ftp.cwru.edu/pub/bash/readline-6.2.tar.gz
                              tar -xvzf readline-6.2.tar.gz
                              cd readline-6.2
                              ./configure --prefix=/usr/local
                              make
                              make install

                              python installieren

                              wget http://python.org/ftp/python/2.6.8/Python-2.6.8.tgz
                              tar -xvzf Python-2.6.8.tgz
                              cd Python-2.6.8
                              ./configure --prefix=/usr/local --with-threads --with-zlib=/home/user/zlib-1.2.7 --with-readline=/home/user/readline-6.2
                              make
                              make install

                              setuptools installieren

                              wget http://pypi.python.org/packages/2.6/...6c11-py2.6.egg
                              sh setuptools-0.6c9-py2.4.egg --prefix=/usr/local/

                              python-configobj installieren

                              apt-get install mercurial
                              hg clone https://code.google.com/p/configobj/
                              cd configobj
                              python2.6 setup.py install

                              python-dateutil installieren

                              wget http://labix.org/download/python-dat...til-1.5.tar.gz
                              tar -xvzf python-dateutil-1.5.tar.gz
                              cd python-dateutil-1.5

                              --> Makefile anpassen => Python auf Python2.6 ändern, prefix /local anhängen
                              make
                              make install

                              Modul pyephem installieren

                              easy_install pyephem

                              smarthome.py installieren

                              siehe Anleitung auf HP
                              Da das ganze Linux make Zeugs noch recht neu ist, hoffe ich mal, dass das alles passt. Vielleicht kann da ja mal jemand drüber schauen. Daher nur nachmachen auf eigene Gefahr

                              Smarthome.py läuft damit nun erstmal, aber da es jetzt doch etwas später geworden ist teste ich morgen weiter.
                              Mit freundlichen Grüßen
                              Niko Will

                              Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                              - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                              Kommentar


                                #75
                                @Axel (panzaeron):

                                könntest du bitte mal deine Visu (also den Code) hier einstellen oder zumindest mal Teile davon, damit man sich nicht alles selber zusammen suchen muss. Dachte zuerst das würde nach den Einstellungen in der smarthome.conf automatisch erstellt, aber dem ist wohl nicht so.
                                Mit freundlichen Grüßen
                                Niko Will

                                Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                                - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                                Kommentar

                                Lädt...
                                X