Ankündigung

Einklappen
Keine Ankündigung bisher.

Logik erstellen für Automatisches Licht

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

    Logik erstellen für Automatisches Licht

    Hallo zusammen.

    Ich Möchte gerne eine Logik erstellen die Mir abhängig davon ob es tag oder nacht ist das licht im Gang einschaltet.

    Habe die Logik so aufgebaut:


    Code:
    if (sh.EG.Wohnen.Lampe() == False or sh.EG.Wohnen.Indirekt() == False) and sh.env.location.night() == True:
        (sh.EG.Gang.Automatik(True))
    Wenn ich die Logik Abspeichere und Aktiviere passiert aber nichts.



    Logs:

    Code:
    
    
    02-09-2018  20:48:18 DEBUG    CP Server Thread-13 return_logictype: name 'Nachtlicht', filename 'nachtlicht.py', logic_type 'Python'
    02-09-2018  20:48:18 DEBUG    CP Server Thread-13 return_logictype: name 'env_daily', filename 'daily.py', logic_type 'Python'
    02-09-2018  20:48:18 DEBUG    CP Server Thread-13 return_logictype: name 'env_stat', filename 'stat.py', logic_type 'Python'
    02-09-2018  20:48:18 DEBUG    CP Server Thread-13 return_logictype: name 'env_init', filename 'init.py', logic_type 'Python'
    02-09-2018  20:48:18 DEBUG    CP Server Thread-13 return_logictype: name 'env_sunpos', filename 'sunpos.py', logic_type 'Python'
    02-09-2018  20:48:18 DEBUG    CP Server Thread-13 return_logictype: name 'env_loc', filename 'location.py', logic_type 'Python'
    02-09-2018  20:48:18 DEBUG    CP Server Thread-13 Reading Logics from /usr/local/smarthome/etc/logic.*
    02-09-2018  20:48:18 DEBUG    CP Server Thread-13 parse_yaml: Parsing file logic.yaml
    02-09-2018  20:48:18 INFO     CP Server Thread-13 Loading '/usr/local/smarthome/etc/logic.yaml' to 'OrderedDict'
    02-09-2018  20:48:18 WARNING  CP Server Thread-13 Problem parsing 'nacht-Gang' invalid character. Valid characters are: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@*
    02-09-2018  20:48:18 WARNING  CP Server Thread-13 Problem parsing 'Nachtlicht EG' invalid character. Valid characters are: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@*
    02-09-2018  20:48:19 INFO     CP Server Thread-13 192.168.178.58 - - [02/Sep/2018:20:48:19] "GET /backend/logics.html HTTP/1.1" 200 15763 "http://192.168.178.54:8383/backend/log_view.html?logfile=smarthome.log&text_filter=&log_level_filter=ALL&page=3" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
    02-09-2018  20:48:21 DEBUG    CP Server Thread-13 trigger_logic: Trigger logic = 'Nachtlicht'
    02-09-2018  20:48:21 DEBUG    CP Server Thread-13 Triggering logics.Nachtlicht - by: Backend source: None dest: None value: None
    02-09-2018  20:48:21 DEBUG    CP Server Thread-13 return_logictype: name 'Nachtlicht', filename 'nachtlicht.py', logic_type 'Python'
    02-09-2018  20:48:21 DEBUG    CP Server Thread-13 return_logictype: name 'env_daily', filename 'daily.py', logic_type 'Python'
    02-09-2018  20:48:21 DEBUG    CP Server Thread-13 return_logictype: name 'env_stat', filename 'stat.py', logic_type 'Python'
    02-09-2018  20:48:21 DEBUG    CP Server Thread-13 return_logictype: name 'env_init', filename 'init.py', logic_type 'Python'
    02-09-2018  20:48:21 DEBUG    CP Server Thread-13 return_logictype: name 'env_sunpos', filename 'sunpos.py', logic_type 'Python'
    02-09-2018  20:48:21 DEBUG    CP Server Thread-13 return_logictype: name 'env_loc', filename 'location.py', logic_type 'Python'
    02-09-2018  20:48:21 DEBUG    CP Server Thread-13 Reading Logics from /usr/local/smarthome/etc/logic.*
    02-09-2018  20:48:21 DEBUG    CP Server Thread-13 parse_yaml: Parsing file logic.yaml
    02-09-2018  20:48:21 INFO     CP Server Thread-13 Loading '/usr/local/smarthome/etc/logic.yaml' to 'OrderedDict'
    02-09-2018  20:48:21 WARNING  CP Server Thread-13 Problem parsing 'nacht-Gang' invalid character. Valid characters are: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@*
    02-09-2018  20:48:21 WARNING  CP Server Thread-13 Problem parsing 'Nachtlicht EG' invalid character. Valid characters are: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@*
    02-09-2018  20:48:21 INFO     CP Server Thread-13 192.168.178.58 - - [02/Sep/2018:20:48:21] "POST /backend/logics.html HTTP/1.1" 200 15763 "http://192.168.178.54:8383/backend/logics.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
    02-09-2018  20:48:22 DEBUG    Scheduler    sh.connections next time: 2018-09-02 20:48:32+02:00
    02-09-2018  20:48:24 INFO     CP Server Thread-13 192.168.178.58 - - [02/Sep/2018:20:48:24] "GET /backend/logging.html HTTP/1.1" 200 9501 "http://192.168.178.54:8383/backend/logics.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
    02-09-2018  20:48:25 DEBUG    Scheduler    plugins.visu_websocket.series next time: 2018-09-02 20:48:35+02:00
    02-09-2018  20:48:26 INFO     CP Server Thread-13 192.168.178.58 - - [02/Sep/2018:20:48:26] "GET /backend/log_view.html?logfile=smarthome.log HTTP/1.1" 200 254087 "http://192.168.178.54:8383/backend/logging.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
    02-09-2018  20:48:27 DEBUG    logics.env_sunpos Item env.location.sun_position.azimut.degrees = 290.47 via Logic 'env_sunpos' None None
    02-09-2018  20:48:27 DEBUG    logics.env_sunpos Item env.location.sun_position.elevation.degrees = -7.7 via Logic 'env_sunpos' None None
    02-09-2018  20:48:27 DEBUG    logics.env_sunpos Item env.location.sun_position.azimut.radians = 5.07 via Logic 'env_sunpos' None None
    02-09-2018  20:48:27 DEBUG    logics.env_sunpos Item env.location.sun_position.elevation.radians = -0.13 via Logic 'env_sunpos' None None
    02-09-2018  20:48:27 DEBUG    Scheduler    logics.env_sunpos next time: 2018-09-02 20:52:27+02:00

    Die Logiken Nachtlicht EG und nacht-gang wurden wieder gelöscht weshalb zeigt er mir dort einen fehler?
    Zuletzt geändert von jonny7792; 02.09.2018, 19:49. Grund: Logs Hinzugefügt
    Gruss Oliver

    Projektleiter Technische Gebäudeausrüstung

    #2
    Zu Deinem Code: Ohne dass Du mehr Informationen gibst (Wie sind Deine Items definiert, welche Trigger für die Logik hast Du angelegt, ...) bleibt die Glaskugel sehr trübe.

    Zu Deinem Log: Da stimmt vermutlich in Deiner ../etc/logic.yaml was nicht. Auch hier sind für eine Hilfestellung mehr Infos (die logic.yaml) nötig.

    Hint: Du solltest bei Gelegenheit Deine Logging Konfiguration anpassen. In der Doku und in der logging.yaml.default ist der formatter: schon lange so angepasst, dass er das er den Modulnamen statt des Threads ausgibt. Das ist viel aussagekräftiger.
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    Kommentar


      #3
      Zitat von Msinn Beitrag anzeigen
      Zu Deinem Code: Ohne dass Du mehr Informationen gibst (Wie sind Deine Items definiert, welche Trigger für die Logik hast Du angelegt, ...) bleibt die Glaskugel sehr trübe.

      Zu Deinem Log: Da stimmt vermutlich in Deiner ../etc/logic.yaml was nicht. Auch hier sind für eine Hilfestellung mehr Infos (die logic.yaml) nötig.

      Hint: Du solltest bei Gelegenheit Deine Logging Konfiguration anpassen. In der Doku und in der logging.yaml.default ist der formatter: schon lange so angepasst, dass er das er den Modulnamen statt des Threads ausgibt. Das ist viel aussagekräftiger.
      Okay ich werde das Logging mal anpassen




      Zu der logic.yaml:


      Code:
      %YAML 1.1
      ---
      Nachtlicht:
          filename: nachtlicht.py
          crontab: init
          watch_items: EG.Wohnen.Indirekt,EG.Wohnen.Decke

      Die betreffenden Items aus der items.yaml


      Code:
      
          Wohnen:
              Indirekt:
                  name: schalten
                  type: bool
                  knx_dpt: 1
                  knx_init: 0/1/25
                  knx_send: 2/1/8
              Steckdose:
                  name: schalten
                  type: bool
                  knx_dpt: 1
                  knx_init: 0/1/24
                  knx_send: 2/1/9
              Lampe:
                  name: schalten
                  type: bool
                  knx_dpt: 1
                  knx_init: 0/1/11
                  knx_send: 2/1/3
          Gang:
              Automatik:
                  name: schalten
                  type: bool
                  knx_dpt: 1
                  knx_init: 0/1/13
                  knx_send: 2/1/10
      Zuletzt geändert von jonny7792; 02.09.2018, 21:08.
      Gruss Oliver

      Projektleiter Technische Gebäudeausrüstung

      Kommentar


        #4
        Die Zeilen
        Code:
        02-09-2018 20:48:21 DEBUG CP Server Thread-13 parse_yaml: Parsing file logic.yaml
        02-09-2018 20:48:21 INFO CP Server Thread-13 Loading '/usr/local/smarthome/etc/logic.yaml' to 'OrderedDict'
        02-09-2018 20:48:21 WARNING CP Server Thread-13 Problem parsing 'nacht-Gang' invalid character. Valid characters are: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@*
        02-09-2018 20:48:21 WARNING CP Server Thread-13 Problem parsing 'Nachtlicht EG' invalid character. Valid characters are: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@*
        passen nicht zu der logic.yaml die Du gepostet hast. Nach dem Log findet der Parser nacht-Gang und Nachtlicht EG in der logic.yaml.

        Zu Deiner eigentlichen Frage hast Du leider keine Informationen geschickt. Daher kann ich dazu auch weiterhin nichts sagen.
        Viele Grüße
        Martin

        There is no cloud. It's only someone else's computer.

        Kommentar


          #5
          Zitat von Msinn Beitrag anzeigen
          Die Zeilen
          Code:
          02-09-2018 20:48:21 DEBUG CP Server Thread-13 parse_yaml: Parsing file logic.yaml
          02-09-2018 20:48:21 INFO CP Server Thread-13 Loading '/usr/local/smarthome/etc/logic.yaml' to 'OrderedDict'
          02-09-2018 20:48:21 WARNING CP Server Thread-13 Problem parsing 'nacht-Gang' invalid character. Valid characters are: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@*
          02-09-2018 20:48:21 WARNING CP Server Thread-13 Problem parsing 'Nachtlicht EG' invalid character. Valid characters are: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@*
          passen nicht zu der logic.yaml die Du gepostet hast. Nach dem Log findet der Parser nacht-Gang und Nachtlicht EG in der logic.yaml.

          Zu Deiner eigentlichen Frage hast Du leider keine Informationen geschickt. Daher kann ich dazu auch weiterhin nichts sagen.
          Habe die Parser nacht-Gang und Nachtlicht EG entfernt ,

          Was benötigst du genau noch?

          habe die logic.yaml , items.yaml , und das LOG


          Code:
          02-09-2018  22:19:08 DEBUG    Main         Triggering logics.Nachtlicht - by: Item source: EG.Wohnen.Indirekt dest: None value: False
          02-09-2018  22:19:08 DEBUG    logics.Nachtlicht Item EG.Gang.Automatik = True via Logic None None
          02-09-2018  22:19:16 DEBUG    logics.env_sunpos Item env.location.sun_position.azimut.degrees = 309.28 via Logic 'env_sunpos' None None
          02-09-2018  22:19:16 DEBUG    logics.env_sunpos Item env.location.sun_position.elevation.degrees = -20.99 via Logic 'env_sunpos' None None
          02-09-2018  22:19:16 DEBUG    logics.env_sunpos Item env.location.sun_position.azimut.radians = 5.4 via Logic 'env_sunpos' None None
          02-09-2018  22:19:16 DEBUG    logics.env_sunpos Item env.location.sun_position.elevation.radians = -0.37 via Logic 'env_sunpos' None None
          02-09-2018  22:19:16 DEBUG    Scheduler    logics.env_sunpos next time: 2018-09-02 22:23:16+02:00
          02-09-2018  22:21:26 DEBUG    logics.env_stat Item env.core.threads = 51 via Logic 'env_stat' None None
          02-09-2018  22:21:26 DEBUG    Scheduler    logics.env_stat next time: 2018-09-02 22:26:26+02:00
          02-09-2018  22:21:27 DEBUG    logics.env_stat Item env.core.memory = 37707776 via Logic 'env_stat' None None
          02-09-2018  22:21:27 DEBUG    logics.env_stat Item env.system.load = 0.06 via Logic 'env_stat' None None
          02-09-2018  22:21:29 DEBUG    logics.env_stat Item env.system.diskfree = 4279283712 via Logic 'env_stat' None None
          02-09-2018  22:21:29 DEBUG    logics.env_stat Item env.system.diskusage = 3145539584 via Logic 'env_stat' None None
          02-09-2018  22:21:29 DEBUG    logics.env_stat Item env.system.diskusagepercent = 40.51 via Logic 'env_stat' None None
          Gruss Oliver

          Projektleiter Technische Gebäudeausrüstung

          Kommentar


            #6
            Du hast in Deiner Logik
            Code:
            if (sh.EG.Wohnen.Lampe() == False or sh.EG.Wohnen.Indirekt() == False) and sh.env.location.night() == True:
                (sh.EG.Gang.Automatik(True))
            geschrieben. Daraus würde ich folgende Trigger erwarten:
            Code:
            %YAML 1.1
            ---
            Nachtlicht:
                filename: nachtlicht.py
                crontab: init
                watch_items:
                  - EG.Wohnen.Lampe
                  - EG.Wohnen.Indirekt
                  - env.location.night
            Du hast aber (abgesehen davon, dass Du Trigger nicht mit Komma trennen kannst), weder env.location.night noch EG.Wohnen.Lampe als Trigger aufgeführt. Durch Deine Auflistung mit dem Komma triggert er gar nicht, weil es kein Item Namens EG.Wohnen.Indirekt,EG.Wohnen.Decke gibt.
            Viele Grüße
            Martin

            There is no cloud. It's only someone else's computer.

            Kommentar


              #7
              Zitat von Msinn Beitrag anzeigen
              Du hast in Deiner Logik
              Code:
              if (sh.EG.Wohnen.Lampe() == False or sh.EG.Wohnen.Indirekt() == False) and sh.env.location.night() == True:
              (sh.EG.Gang.Automatik(True))
              geschrieben. Daraus würde ich folgende Trigger erwarten:
              Code:
              %YAML 1.1
              ---
              Nachtlicht:
              filename: nachtlicht.py
              crontab: init
              watch_items:
              - EG.Wohnen.Lampe
              - EG.Wohnen.Indirekt
              - env.location.night
              Du hast aber (abgesehen davon, dass Du Trigger nicht mit Komma trennen kannst), weder env.location.night noch EG.Wohnen.Lampe als Trigger aufgeführt. Durch Deine Auflistung mit dem Komma triggert er gar nicht, weil es kein Item Namens EG.Wohnen.Indirekt,EG.Wohnen.Decke gibt.

              ah danke dir, jedoch funktioniert es sporadisch nicht.
              mal geht es mal nicht zum Teil Schaltet die Logik das Licht nicht mehr aus.

              gruss


              PS: Das Logging konnte ich noch nicht anpassen , kam noch nicht dazu

              Gruss Oliver

              Projektleiter Technische Gebäudeausrüstung

              Kommentar


                #8
                Zitat von jonny7792 Beitrag anzeigen
                zum Teil Schaltet die Logik das Licht nicht mehr aus.



                Code:
                 
                 if (sh.EG.Wohnen.Lampe() == False or sh.EG.Wohnen.Indirekt() == False) and sh.env.location.night() == True: (sh.EG.Gang.Automatik(True))
                In deiner Logik steht ja auch nichts vom Ausschalten...
                Wann soll das Licht ausgeschaltet werden??

                Kommentar


                  #9
                  Zitat von Max2612 Beitrag anzeigen




                  Code:
                  if (sh.EG.Wohnen.Lampe() == False or sh.EG.Wohnen.Indirekt() == False) and sh.env.location.night() == True: (sh.EG.Gang.Automatik(True))
                  In deiner Logik steht ja auch nichts vom Ausschalten...
                  Wann soll das Licht ausgeschaltet werden??
                  Das Item EG.Gang.Automatik löst eine Treppenhausfunktion beim Schaltaktor aus , das Licht Sol nach de eingestellten Zeit Ausgehen
                  1 Minute
                  Zuletzt geändert von jonny7792; 04.09.2018, 16:57.
                  Gruss Oliver

                  Projektleiter Technische Gebäudeausrüstung

                  Kommentar


                    #10
                    Deine Logik hat auch keinen Schutz gegen ein erneutes triggern. env.location.night wird periodisch berechnet, dadurch wird die Logik evtl. periodisch getriggert.

                    Lass Dir doch in der Logik mal rausloggen wann und durch welches Item die Logik getriggert wird.
                    Viele Grüße
                    Martin

                    There is no cloud. It's only someone else's computer.

                    Kommentar


                      #11
                      Also die Logik sendet ein EIN Befehl auf das Item EG.Gang.Automatik aber sie sendet die eins Dauerhaft daher geht das Licht nicht aus jetzt müsste man die Logik so anpassen das sie nur einen Impuls sendet sodass die Automatik dann selbstständig wieder ausgeht.

                      Zum Log anpassen kam ich noch nicht
                      Gruss Oliver

                      Projektleiter Technische Gebäudeausrüstung

                      Kommentar

                      Lädt...
                      X