Ankündigung

Einklappen
Keine Ankündigung bisher.

Aussenschild steuern

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

    Aussenschild steuern

    Hallo Freunde der Gebäudeautomatisierung...
    Ich habe ein Schild an einem Gebäude welches ich bei Sonnenuntergang zwischen 16 und 22 Uhr beleuchten möchte, danach soll es aber mit dem (KNX) Bewegungsmelder mit der Aussenbeleuchtung an- und ausgehen.

    Leider bin ich relativ neu im Python Bereich und in dem gesamten Smarthome Konstrukt.

    Ich habe folgendes gebaut, aber das Gefühl das es noch nicht komplett ist..
    items.conf:
    [aussen]
    [[vorne]]
    name = Aussen
    sv_page = room

    [[[schild]]]
    name = Schild
    knx_dpt = 1
    knx_send = 15/0/1
    knx_listen = 15/0/1
    visu_acl = rw
    type = bool
    enforce_update = yes
    sv_widget = {{ basic.switch('item', 'item') }}
    [[[steckdose]]]
    name = Aussensteckdose
    knx_dpt = 1
    knx_send = 15/3/0
    knx_listen = 15/3/0
    type = bool
    visu_acl = rw
    sv_widget = {{ basic.switch('item', 'item') }}
    [[[licht]]]
    name = Licht_Vorne
    knx_dpt = 1
    knx_send = 15/0/0
    knx_listen = 15/0/0
    type = bool
    logic.conf
    [schild]
    filename = schild.py
    crontab = init
    schild.py
    #!/usr/bin/env python
    if crontab == '1'
    sh.aussen.vorne.schild=1
    else
    sh.aussen.vorne.schild=sh.aussen.vorne.licht

    Gibt es irgendwo eine einfache Einführung in die Python Syntax?

    Danke..

    #2
    Vielleicht geht es mit dem Sperrobjekt einfacher

    Kommentar


      #3
      Zur Not ja, aber eigentlich will ich, dass nur das Schild dauerhaft an ist. (Vorbeifahrende Autos)
      Die restliche Beleuchtung soll ganz normal über einen Bewegungsmelder gesteuert werden. (immer)

      Kommentar


        #4
        Ich würde das so realisieren:
        Schildbeleuchtung bekommt ein Sperrobjekt, welches über eine Gruppenadresse durch den Cron-Job ein- und ausgeschaltet wird.
        Das Sperrobjekt schaltet das Licht bei Sperre ein (um 16:00), beim Entsperren um 22:00 aus.
        Ferner hat die Schildbeleuchtung ebenfalls die Gruppenadresse vom Aussenlicht, welche über den Bewegungsmelder gesteuert wird.
        Ist die Schildbeleuchtung gesperrt (also an), kann der Bewegungsmelder "rumhampeln" wie er will, das Schildlicht bleibt an.

        Ist die Sperre aufgehoben, reagiert das Schildlicht wie das Licht vorne...

        Kommentar


          #5
          Gute Idee. Der Aktie dort hat eine Zwangsräumung, damit kann ich es realisieren...
          Nur welchen datentyp nehme ich? Die zwangsführung wird durch binär 11 aktiviert. Gibt es hierfür in den items einen datentyp?

          Kommentar


            #6
            Zitat von svenmueller Beitrag anzeigen
            Nur welchen datentyp nehme ich? Die zwangsführung wird durch binär 11 aktiviert. Gibt es hierfür in den items einen datentyp?
            Ja, bestimmt. Welcher der Richtige ist sagt Dir das Handbuch Deines Aktors.

            Vllt. DPT 2? KNX ? SmartHome.py 1.0 documentation

            Bis bald

            Marcus

            Kommentar


              #7
              Danke Marcus,

              das hatte ich direkt vor dem öffnen des Forums gefunden.
              Wirklich gut dokumentiert..
              Ich war nur zu doof genau hin zu sehen..

              Der Aktor ist ein uralter Berker Aktor über den ich kaum Info finde. Aber ich werde es heute Abend mal mit 3 probieren.

              Wenn ich heute Abend um 20 Uhr teste ist der Sonnenuntergang ja schon vorbei, triggert crontab dann trotzdem noch?

              Kommentar


                #8
                soooo...
                irgendwie ist noch ein Bug drin..
                Ich poste mal das entsprechende Item:

                [aussen]
                [[vorne]]
                name = Aussen
                sv_page = room
                [[[schild_zwangsfuehrung]]]
                name=Schild_zwang
                knx_dpt = 3
                knx_send = 15/0/1
                type=list
                crontab = sunset<22:00 = [1,1] | 1 22 * * = [0,0] | 0 6 * * = [1,1] | sunrise = [0,0]
                Von Sunset bis 22 Uhr soll das Schild an und Zwangsgeführt an sein, dann die Zwangsführung aufgehoben werden. Ab 6 Uhr bis zum Sonnenaufgang soll es wieder zwangsgeführt an sein.
                In der Doku war bei dem Datenpunkt die Notation [0, 1] angegeben aber das funktioniert auch nicht.

                Eine Fehlermeldung gibt es auch nicht im Debug Modus..
                Was übersehe ich hier?

                Danke, Sven

                Kommentar


                  #9
                  Hi Sven,

                  15/0/1 schaltet doch das Licht ganz normal ein bzw. aus (jedenfalls nach Deinem ersten Post). Hier hast Du den knx_dpt = 1.

                  Du brauchst hingegen eine eigene Gruppenadresse für die Zwangsführung. Und diese hat nach Deinen Angaben einen knx_dpt = 3.

                  Also, Gruppenadresse für Zwangsführung anlegen, dem Aktor zuweisen und in der CONF die Gruppenadresse eintragen.

                  Dann sollte das funktionieren...

                  Gruß

                  Uwe

                  Kommentar


                    #10
                    Hallo,

                    Ich habe 15/0/1 zu ga für die zwansführung gemacht..
                    Kann ich irgendwo abfragen welche zeit für sunrise und Sunset hinterlegt ist?

                    Danke, Sven

                    Kommentar


                      #11
                      Hallo,

                      die Wertzuweisung von Listen innerhalb eines Crontabs funktioniert momentan nicht.
                      Probier es einmal über eine Logik.

                      Bis bald

                      Marcus

                      Kommentar


                        #12
                        Danke Marcus.

                        Wenn ich von der electronica zurück bin werd ich es direkt angehen..

                        Gruß, Sven

                        Kommentar


                          #13
                          Sooo, bitte mal jemand das Brett von meinem Kopf entfernen:

                          Meine logic.conf:
                          Code:
                          # logic.conf
                          
                          [schild_an]
                          filename = schild_an.py
                          crontab = sunset | 0 6 * * 
                          
                          [schild_aus]
                          filename = schild_aus.py
                          crontab = 1 22 * * | sunrise
                          Meine schild_an.py
                          Code:
                          #!/usr/bin/env python
                          #
                          sh.aussen.vorne.schild_zwangsfuehrung = [1, 1]
                          Ich sehe zwar im debug die zeit zu der das nächste mal getriggert wird, aber weder eine Aktion im debug noch auf dem Bus..

                          Kommentar


                            #14
                            Hallo,

                            wie setzt man ein Item-Wert? Mit "="? Nein. Mit "()"

                            Bis bald

                            Marcus

                            Kommentar


                              #15
                              Ah. Danke. Die Syntax ist mir noch nicht in Fleisch und Blut übergegangen..

                              Wäre denn dann sh.aussen.vorne.schild_zwangsfuehrung([1, 1]) Richtig?

                              Kommentar

                              Lädt...
                              X