Ankündigung

Einklappen
Keine Ankündigung bisher.

Verständnisfragen/Ideen zur Doku

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

    Verständnisfragen/Ideen zur Doku

    Hallo,

    ich tu mich noch etwas schwer mit den einzelnen Begriffen/Dateien biei smarthome.py.
    Ich fange mal an:

    /etc/smarthome.conf
    Lediglich der Standort muss hier definiert werden (optional)

    etc/logic.conf
    Hier werden Logiken definiert.
    Es wird an dieser Stelle jedoch nur definiert, welche Datei im Ordner ./logics ausgeführt wird und unter welchen Umständen (z.B. bei Sonnenaufgang, bei Start, ...)

    etc/plugin.conf
    Hier werden Plugins definiert, siehe SmartHome.py - Plugins
    Ein Beispiel ist das KNX Plugin, das wohl alle von uns benötigen ;-)

    items/*.conf
    Hier werden alle Größen/Objekte/Elemente definiert. Beispielsweise der Status der Haustür, die Temperatur im Wohnzimmer, ... Dies ist erstmal ganz unabhängig vom KNX. Es können aber auch Objekte vom KNX Plugin sein.
    Es sind einfache Operationen möglich wie average, sum, Or, ...
    Hier werden die Objekte nur definiert. Danach können die Items als sh.ItemName&Co verwendet werden.

    ./logics/*.py
    Diese python Skripte werden unter den Umständen gestartet, die in der logic.conf (s.o.) definiert sind. Z.B. bei Sonnenaufgang.
    Ein Beispiel:
    Code:
    #!/usr/bin/env python
    if not sh.living_room.light():
        sh.living_room.light('on')
    Hier sieht man auch, wie man auf die Items zugreift.

    ./scenes/Szenenname
    Ein Item von type=scene wird in diesem Ordner weiter definiert.
    Diese Szenen unterscheiden sich von den in SH.py unterscheiden sich jedoch von den in KNX üblichen Szenen. In SH.py werden Szenen fest definiert und können nicht über Taster gespeichert werden.

    "Echte" Szenen sind über ein Plugin möglich: https://knx-user-forum.de/smarthome-...rthome-py.html

    Ist das alles richtig? Habe ich etwas übersehen?

    Wenn ja, dann hat die Dokumentation ihren Zweck erfüllt. Allerdings war es nicht einfach.
    Ich fände einen solchen ^^ Überblick als Einstieg gut.

    Gruß,
    Hendrik

    #2
    Hallo Hendrik,

    Zitat von henfri Beitrag anzeigen
    Ist das alles richtig? Habe ich etwas übersehen?
    ja, das ist alles soweit richtig. Den Standort kann man in die smarthome.conf eintragen.

    Man könnte die Liste noch um das scenes Verzeichnis ergänzen. Dort kann man Szenenwerte definieren.

    Bis bald

    Marcus

    Kommentar


      #3
      Hallo,

      ich habe den Post oben dahingehend angepasst.

      Mir fiel der Einstieg in sh.py schwer, da diese Übersicht fehlte. Was hältst du davon, diesen Überblick in die Doku zu übernehmen?

      Davon abgesehen fand ich die Dokumentation zum Thema Visu sehr schwer verständlich. Ich wüsste jetzt überhaupt nicht, wie ich die smartvisu einbinde und erstelle.
      Hat jemand einen Lese-Tipp?

      Gruß,
      Hendrik

      Kommentar


        #4
        Vielleicht:

        HowToStart - smartvisu - Kurzanleitung für den Start mit Smarthome.py - 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


          #5
          Na, das fängt ja an, wo der spannende Teil schon vorbei ist.
          Interessant ist noch, wie die Smartvisu installiert und konfiguriert wird, um mit SH.py zu kommunizieren.
          Der Teil fehlt mir.

          Gruß,
          Hendrik

          Kommentar


            #6
            Naja:

            - Runterladen
            - Entpacken
            - und auf dem Webserver legen (der Pfad richtet sich nach deiner Installation)
            - über URL aufrufen, dann auf config klicken und smarthome.py als Treiber auswählen.

            oder was meinst du?

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

            Kommentar


              #7
              Hier sind wir jetzt wieder bei der Frage.
              Englische Doku könnte ich erweitern um die Übersicht oben. Verlangt wird aber immer mal wieder ne deutsche Version.
              Das leistet das github wiki nicht. Vielleicht dochmal die beiden Dokus in ein Environment tun?
              Derzeit zwischen Kistenauspacken und Garten anlegen.
              Baublog im Profil.

              Kommentar


                #8
                Hallo,

                die Doku ist doch auf Englisch. Ich kann obiges wohl übersetzen.
                Ich halte es für ausreichend, eine englische Doku zu haben.
                Es gibt ja auch noch google translate und co.

                Gruß,
                Hendrik

                Kommentar


                  #9
                  Könnte man diesen Thread vielleicht einfach mal anpinnen bzwm einen Tips und Tricks draus machen?

                  Die Doku ist zum Teil irreführen... die KNX adressen gehören doch nicht in Logic??? (das es dennoch geht weiß ich nun)
                  ['logic1'] knx_dpt = 9
                  knx_listen = 1/1/7

                  und da ich den Thread hier nicht gleich gefunden habe habe ich für die hälfte der Infos nur 3 Stunden rumprobiert und gelesen... Der Einstieg ist mühsam wenn man gar keinen Plan hat und alles zudsammensuchen muß...

                  Aber dennoch: tolles Proojekt!

                  Uwe

                  Kommentar


                    #10
                    So, aber doch noch ein Problem bzw. eine Frage...
                    ich hänge mal hier an weil es sicher nicht für jede Frage nen neuen Thread braucht...

                    in logic.conf kann ich ... .py und kleine logiken mischen?

                    Code:
                    # logic.conf
                    
                    [hello]
                        filename = hello.py
                        crontab = init
                    
                    #[dummy]
                    #    filename = dummy_series.py
                    #    cycle = 300
                    
                    ['logic1']
                         watch_item = buero.light
                    Code:
                    #items.conf
                    
                    ['buero']
                        [['light']]
                            type = bool
                            knx_dpt = 1
                            knx_send = 1/2/60
                            knx_listen = 1/2/100
                            knx_init = 1/2/100
                    Nu dachte ich auf dem Weg kann ich beim eingang von 1/2/100 ein 1/2/60 senden... geht aber nicht - sollte das dann doch in die Logik?

                    ich will beim Eintreffen von 1/2/100 einfach den eingehenden Wert 0/1 auf 1/2/60 senden...

                    wie?

                    Uwe

                    Kommentar


                      #11
                      Hallo Uwe,

                      Zitat von boardman Beitrag anzeigen
                      So, aber doch noch ein Problem bzw. eine Frage...
                      ich hänge mal hier an weil es sicher nicht für jede Frage nen neuen Thread braucht...
                      naja, Deine Frage hat ja nichts mit dem ursprünglichen Thread zu tun. Sollten andere Dein Problem haben werden Sie es nicht so einfach finden.
                      Also bitte bei Fragen oder Problemen einen passenden Thread suchen oder neuen aufmachen, das erleichtert auch die Übersicht.

                      So zu Deinem eigentlichen Problem...

                      Zitat von boardman Beitrag anzeigen
                      in logic.conf kann ich ... .py und kleine logiken mischen?
                      Ich bin mir nicht sicher ob ich den Satz verstehe. Man kann in die logic.conf keine kleinen Logiken packen. Man kann aber in der item.conf kleine Operationen durchführen (siehe eval).


                      Zitat von boardman Beitrag anzeigen
                      Nu dachte ich auf dem Weg kann ich beim eingang von 1/2/100 ein 1/2/60 senden... geht aber nicht - sollte das dann doch in die Logik?
                      Doch das geht so, nur wird der Wert nur bei Item-Änderungen geschickt. Wenn Du den Wert immer schicken möchtest, dann musst Du dem Item
                      Code:
                      enforce_updates = yes
                      mitgeben.

                      Bis bald

                      Marcus

                      Kommentar


                        #12
                        Hallo Marcus,

                        denke schon das es hier her passt - das was gehört wohin Problem ist doch hier richtig...

                        Ich bin mir nicht sicher ob ich den Satz verstehe. Man kann in die logic.conf keine kleinen Logiken packen. Man kann aber in der item.conf kleine Operationen durchführen (siehe eval).
                        dann verstehe ich diesen Abschnitt aus der Doku des KNX Plugin nicht:
                        Code:
                        [B]logic.conf[/B]
                        
                          You could specify the knx_listen and knx_reply attribute to every logic in your logic.conf. The argument could be a single group address and dpt or a list of them.
                          ['logic1']     knx_dpt = 9     knx_listen = 1/1/7  ['logic2']     knx_dpt = 9     knx_reply = 1/1/8, 1/1/8
                        Doch das geht so, nur wird der Wert nur bei Item-Änderungen geschickt. Wenn Du den Wert immer schicken möchtest, dann musst Du dem Item
                        Nein, ich wollt enur bei Änderung senden - dann baue ich noch mal um...

                        Uwe

                        PS
                        kein Erfolg:
                        #items.conf

                        ['buero']
                        [['light']]
                        type = bool
                        knx_dpt = 1
                        knx_listen = 1/2/100
                        knx_init = 1/2/100
                        [['alarm']]
                        type = bool
                        knx_dpt = 1
                        knx_send = 1/2/60
                        eval = sh.buero.light
                        eval_trigger = buero.light

                        Kommentar


                          #13
                          Zitat von mknx Beitrag anzeigen
                          Hallo Hendrik,



                          ja, das ist alles soweit richtig. Den Standort kann man in die smarthome.conf eintragen.

                          ...

                          Marcus
                          Eure Koordinaten könnt ihr hier bestimmen: Vom Ort zu seinen Koordinaten ? bei den cache test dummies
                          if you make something idiot-proof, they start making better idiots......
                          KNX:3 Linien,121 Teiln.,Siemens N146 und N350E,RasPi mit SV,8 FBH-Kreise mit Siemens HK-Regler,HS4, Haus ohne öffentl. Wasser-/Stromversorg.,PV-Anlage Wechselrichter:SI5048(8kW, 24 Pufferbatterien 1400Ah),PV-Module mit 7,5kWp

                          Kommentar

                          Lädt...
                          X