Ankündigung

Einklappen
Keine Ankündigung bisher.

SmartHome.py

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

    #16
    Hi Hendrik,

    Zitat von henfri Beitrag anzeigen
    was macht denn die Asterisk Erweiterung?
    zum einen monitored sie die einzelnen Asterisk-Channel. Damit kann ich z.B. einfach die Musik runterregeln wenn ich angerufen werde bzw. anrufe (nach Anruf wird sie wieder angehoben).
    Zum anderen kann man 'beliebige' Logiken triggern mit:
    Code:
    exten => _X.,n,UserEvent(Forbidden,Source: ${CALLERID(name)} (${CALLERID(num)}),Value: ${EXTEN})
    Dieser Eintrag in der extensions.conf triggert jede Logik die auf 'Forbidden' hört und übergibt ihr als Source die CallerID und als Value die angerufene Nummer. Kann man natürlich beliebig erweitern. z.B. UserEvent(machdietuerauf,...
    Ich verwende es z.B. für ein Telefonmenü mit:
    Code:
    exten => 1,1,UserEvent(Action,Source: ${CALLERID(name)}(${CALLERID(num)}),Value: LichtAn)
    exten => 2,1,UserEvent(Action,Source: ${CALLERID(name)}(${CALLERID(num)}),Value: LichtAus)
    ....
    In der Logic (die durch das Schlüsselwort 'Action' getriggert wird) frage ich dann z.B.
    Code:
    if trigger['value'] == 'LichtAus':
        sh.wohnzimmer.licht(0)
    bis bald

    Marcus

    Kommentar


      #17
      Zitat von mknx Beitrag anzeigen
      zum einen monitored sie die einzelnen Asterisk-Channel. Damit kann ich z.B. einfach die Musik runterregeln wenn ich angerufen werde bzw. anrufe (nach Anruf wird sie wieder angehoben).
      Schöne Idee!

      Zum anderen kann man 'beliebige' Logiken triggern mit:
      Code:
      exten => _X.,n,UserEvent(Forbidden,Source: ${CALLERID(name)} (${CALLERID(num)}),Value: ${EXTEN})
      Dieser Eintrag in der extensions.conf triggert jede Logik die auf 'Forbidden' hört und übergibt ihr als Source die CallerID und als Value die angerufene Nummer. Kann man natürlich beliebig erweitern.
      Uff.. Hier hast du mich verloren.
      Kannst du das bitte erklären?

      Noch eine Frage:
      Welche Visu nutzt du?

      Gruß,
      Hendrik

      Kommentar


        #18
        Zitat von henfri Beitrag anzeigen
        Schöne Idee!
        Danke.

        Zitat von henfri Beitrag anzeigen
        Uff.. Hier hast du mich verloren.
        Kannst du das bitte erklären?
        hmm, dazu müsste ich eh noch eine Anleitung schreiben bevor ich 0.3 veröffentliche. Ich versuch es noch mal kurz.

        In meiner extensions.conf (von Asterisk) steht:
        Code:
        exten => _*XX,n,UserEvent(SCHLUESSELWORT,Source: QUELLE,Value: WERT)
        In meiner logic.conf:
        Code:
        ['AstAction']
            filename = 'astaction.py'
            ast_userevent = SCHLUESSELWORT
        Jedes mal, wenn Asterisk diesen (User-)Event schickt, wird meine Logik (astaction.py) aufgerufen. In der Logik kann ich dann den 'trigger' abfragen.
        Code:
        print trigger['source'] # == QUELLE
        print trigger['value'] # == WERT
        Dadurch kann ich relativ einfach Befehle an meine Logik schicken.

        Das hatte ich erst per UDP-Befehlen gemacht, da ich aber eh eine Schnittstelle zu der Asterisk-API hergestellt habe verwende ich diese.
        Ist der direktere Weg und ich muss nicht mit Asterisk-System-Aufrufen zusätzliche Scripte starten.

        Soweit verstanden?

        Zitat von henfri Beitrag anzeigen
        Noch eine Frage:
        Welche Visu nutzt du?
        Momentan noch die CLI (Command Line Interface) per Telnet ;-). Es läuft bei mir aber auch erst im Labor. Eigentlich wollte ich schon die GUI entwickeln. Asterisk hat sich aber reingedrängt. Mal sehen was es wird. Es stehen zur Auswahl:
        1. Sencha (HTML5/CSS UI-Framework das super aussieht) + Websocket Die Websocket-Anbindung an SmartHome.py habe ich im Labor fertig. Es fehlt aber noch die Sencha-Anbindung/Programmierung.
        2. CometVisu Dort habe ich dies Zusammenhänge noch nicht so ganz geblickt bzw habe ich keine Ahnung wie man die Anbindung elegant bewerkstelligen könnte.
        3. CommandFusion Dafür habe ich vor einem Jahr schon mal eine Schnittstelle gemacht, sollte sich ohne besonders viel Aufwand portieren lassen.


        Bis bald

        Marcus

        Kommentar


          #19
          pro cometVisu...
          ich glaube, das würde passen.
          Derzeit zwischen Kistenauspacken und Garten anlegen.
          Baublog im Profil.

          Kommentar


            #20
            Zitat von mknx Beitrag anzeigen
            Soweit verstanden?
            Ja, danke

            Momentan noch die CLI (Command Line Interface) per Telnet ;-).
            ;-))
            Was sagt der WAF?

            1. Sencha (HTML5/CSS UI-Framework das super aussieht) + Websocket Die Websocket-Anbindung an SmartHome.py habe ich im Labor fertig. Es fehlt aber noch die Sencha-Anbindung/Programmierung.
            2. CometVisu Dort habe ich dies Zusammenhänge noch nicht so ganz geblickt bzw habe ich keine Ahnung wie man die Anbindung elegant bewerkstelligen könnte.
            3. CommandFusion Dafür habe ich vor einem Jahr schon mal eine Schnittstelle gemacht, sollte sich ohne besonders viel Aufwand portieren lassen.

            Comet wäre toll.
            Dazu wird aber ja auch schon eine Logik-Engine gebaut.

            Gruß,
            Hendrik

            Kommentar


              #21
              Comet wäre toll.
              Dazu wird aber ja auch schon eine Logik-Engine gebaut.
              Ich finde den Ansatz zumindest interessant, erst die Engine und dann eine GUI zu bauen. Gleich einen Editor mitliefern zu wollen kostet einiges an Ressourcen.

              @mknx: bist Du da allein am Start oder coded noch jemand mit?
              Derzeit zwischen Kistenauspacken und Garten anlegen.
              Baublog im Profil.

              Kommentar


                #22
                Zitat von henfri Beitrag anzeigen
                Was sagt der WAF?
                Die sagt komm jetzt endlich ins Bett...
                Wie gesagt das läuft bei mir momentan erst im Labor von daher hat sie keine Berührungspunkte. Ich würde ihr das auch nicht zumuten wollen. Also Schatz zum dimmen des Lichtes geh doch bitte mal auf die Kommandozeile und gebe ein telnet smarthome 2323 und dann ....


                Zitat von henfri Beitrag anzeigen
                Comet wäre toll.
                Dazu wird aber ja auch schon eine Logik-Engine gebaut.
                Das verstehe ich nicht ganz. Das ist ja kein Argument (für mich) pro Comet.

                so long

                Marcus

                Kommentar


                  #23
                  Zitat von greentux Beitrag anzeigen
                  Gleich einen Editor mitliefern zu wollen kostet einiges an Ressourcen.

                  @mknx: bist Du da allein am Start oder coded noch jemand mit?
                  An einen Editor denke ich nicht einmal. Wenn man SmartHome.py einrichten kann inkl. der anderen SW (eibd, owserver, Asterisk, ....), dann kann man
                  ein paar Zeilen Logik-Code in Python schreiben. Das ist bei SmartHome.py wirklich einfach. Ich versuche die ganzen komplizierten Sachen (Bitshifting & Co) vom Benutzer wegzuhalten, damit der Logik-Code möglichst einfach ist.

                  Ich schreibe und dokumentiere das momentan alleine. Willst du mitmachen? Schau dir mal Sencha an, das ist echt mächtig.

                  so long

                  Marcus

                  Kommentar


                    #24
                    Tja, ich kann zwar ne Logik im Python "hinbekommen", aber programmieren ist nicht mein Ding. Testen, Doku geht.
                    Wichtig wäre mir nur, das das auch auf den Ressourcen eines WG vernünftig läuft.
                    Und momentan bin ich mit der Cometvisu ganz zufrieden. Nur eben die Logik, da stehe ich am Scheidepunkt
                    Derzeit zwischen Kistenauspacken und Garten anlegen.
                    Baublog im Profil.

                    Kommentar


                      #25
                      Zitat von mknx Beitrag anzeigen
                      Das verstehe ich nicht ganz. Das ist ja kein Argument (für mich) pro Comet.
                      Genau.
                      Ich würde mir eine Logik-Engine für die Comet-Visu wünschen. Es wird aber schon eine gebaut.
                      Eine zweite kann nicht schaden.
                      Andererseits: Wenn du dich für Sencha entscheidest gibt es zwei tolle Visus inklusive Logik-Engine ;-)

                      Von daher gefallen mir beide Varianten.

                      Gruß,
                      Hendrik

                      Kommentar


                        #26
                        Zitat von henfri Beitrag anzeigen
                        Ich würde mir eine Logik-Engine für die Comet-Visu wünschen.
                        Ich mir auch
                        Zitat von henfri Beitrag anzeigen
                        Es wird aber schon eine gebaut.
                        Ja - aber das sagt nichts über "verwertbare" Releases aus.
                        Bei der CometVisu hatte ich fest damit gerechnet in den letzten Weihnachtsferien die öffentliche Beta zu veröffentlichen...
                        Zitat von henfri Beitrag anzeigen
                        Eine zweite kann nicht schaden.
                        Ja und nein.
                        "Konkurrenz" belebt das Geschäft. Zersplitterung bremst andererseits jeden aus.
                        Im übrigens gibt es schon zwei fertige Logik-Engines: misterhouse und linknx.

                        Dennoch gibt es Gründe, warum hier weitere entstehen.
                        Zitat von henfri Beitrag anzeigen
                        Andererseits: Wenn du dich für Sencha entscheidest gibt es zwei tolle Visus inklusive Logik-Engine ;-)
                        Ürbigens:

                        CometVisu ist erst mal ein Konzept mit einem Protokoll so wie einer JavaSript-Bibliothek, die das Protokoll einfach verfügbar macht.

                        Das was die meisten sehen, ist die oben drauf gesetzte CometVisu-Applikation - die aber nur eine von unzähligen möglichen Realisierungen ist.

                        Konkret:
                        Ich würde mich freuen, wenn jemand mit Sencha eine Visu-Applikation erstellt, die das CometVisu-Protokoll spricht. Und wenn SmetHome.py das CometVisu-Protokoll sprechen würde (so wie PyWireGate auch schon das CometVisu-Protokoll spricht)
                        Dann könnte hier beliebig und frei gemischt werden und jeder die Logik-Engine und die Visu verwenden, die am besten passt.

                        (Und noch mehr würde ich mich freuen, wenn jemand das CometVisu-Protokoll dem GIRA HomeServer und auch dem EibPC beibringt - bei letzterem gab es diesbezüglich schon mal Kontakt)
                        TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                        Kommentar


                          #27
                          Zitat von mknx Beitrag anzeigen
                          An einen Editor denke ich nicht einmal. Wenn man SmartHome.py einrichten kann inkl. der anderen SW (eibd, owserver, Asterisk, ....), dann kann man
                          ein paar Zeilen Logik-Code in Python schreiben.
                          Tja, das ist IMHO der Denkfehler, Sorry..
                          Es gibt da viel freakiges Zeugs, ich hab da jetzt persönlich kein Problem mit aber halt 99% meiner Mitmenschen

                          Ergo, wenn man das zum Erfolg bringen will und mit 65 der liebsten nicht immernoch jede Funktion selber in XX coden kann/will dann wäre - meine 5ct - ein bündeln der aktivitäten schon hilfreich..
                          Die Ansätze gäbe es, aber mehr als anregen/fragen kann ich auch nicht, mit einer 2-3man-show wird das nix..

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

                          Kommentar


                            #28
                            Zitat von Chris M. Beitrag anzeigen
                            (Und noch mehr würde ich mich freuen, wenn jemand das CometVisu-Protokoll dem GIRA HomeServer ..)
                            Das wird zwangsweise passieren (die Frage ist nur noch wie man das einem Hersteller der das garnicht wollte hinlegt..)
                            Aber wichtiger fände ich Synergie, es ist ja super wenn 5 Projekte parallel tun aber wenn wir uns bei 1-2 wirklich aktiven wenigstens irgendwie einigen könnten -> wär das IMHO besser..

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

                            Kommentar


                              #29
                              Zitat von makki Beitrag anzeigen
                              Tja, das ist IMHO der Denkfehler, Sorry..
                              Es gibt da viel freakiges Zeugs, ich hab da jetzt persönlich kein Problem mit aber halt 99% meiner Mitmenschen
                              Das schöne ist, das kann jeder selbst entscheiden bzw. auch einfach machen. Wenn jemand einen Logik-Editor-Plugin schreiben möchte, würde ich ihn dabei unterstützen. Ich persönlich muss nicht 99% des Marktes erreichen, Ich will nichts verkaufen. Ich sehe SmartHome.py eher als (künftige) Konkurrenz zu Misterhouse.

                              Zitat von makki Beitrag anzeigen
                              Ergo, wenn man das zum Erfolg bringen will und mit 65 der liebsten nicht immernoch jede Funktion selber in XX coden kann/will dann wäre - meine 5ct - ein bündeln der aktivitäten schon hilfreich..
                              Die Ansätze gäbe es, aber mehr als anregen/fragen kann ich auch nicht, mit einer 2-3man-show wird das nix.
                              Wir (Chris, Makki, Nils und ich) können ja gerne mal über Synergien reden/chatten/mailen.
                              Ich hatte im Oktober mit Nils bereits Kontakt, er wollte jedoch einen speziellen Weg bei der Logik einschlagen. Über meine Bewegründe SmartHome.py weiterzuentwickeln können wir gerne reden.

                              so long

                              Marcus

                              Kommentar


                                #30
                                Es gibt da viel freakiges Zeugs, ich hab da jetzt persönlich kein Problem mit aber halt 99% meiner Mitmenschen
                                Da kanns doch dann jemand geben, der schöne deb Pakete macht und die fürs WG und Co bereitstellt. Da hat das eine ja erstmal nix mit dem anderen zu tun.
                                Aus meiner Sicht wäre es schon extrem hilfreich, wenn die xml Datei per Webdav mit "schönen" Editoren im Windows/Linux zu bearbeiten wäre. Syntaxcheck etc wäre damit schon gegessen (wenn man Editor x darauf anpasst/konfiguriert). Ich denke, 99% ist etwas hoch gegriffen. Die Leute, die man mit einem Release und Announcement hier im Forum erreicht, haben durchaus geringere Schmerzgrenzen.
                                Beim Rest stimme ich euch unbedingt zu.
                                Derzeit zwischen Kistenauspacken und Garten anlegen.
                                Baublog im Profil.

                                Kommentar

                                Lädt...
                                X