Ankündigung

Einklappen
Keine Ankündigung bisher.

Beleuchtung nachts Nachdimmen bzw Helligkeitswert setzen

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

    Beleuchtung nachts Nachdimmen bzw Helligkeitswert setzen

    Hallo und guten Abend,


    ich möchte gerne die Beleuchtung nachts auf einen Bestimmten Dimm Wert setzen sodass man nicht in die Sonne schaut nachts.

    Jedoch kann ich die Logik nicht einmal speichern :
    The server encountered an unexpected condition which prevented it from fulfilling the request.




    Nachdimmen.py ist wie folgt definiert:


    Code:
    if (sh.OG.Buro.Licht() == True  and sh.env.location.night() == True:
    (sh.OG.Buro.Decke(50))

    Logig.conf im /etc Ordner

    Code:
    %YAML 1.1
    ---
    Nachdimmen:
        watch_items: OG.Buro.Licht
        filename: nachdimmen.py
        crontab: init
    items.yaml:

    Code:
        Buro:
            Decke:
                name: dimm
                type: num
                knx_dpt: 5.001
                knx_cache: 0/1/22
                knx_send: 0/1/22
                Helligkeit:
                name: nachdimmen
                type: num
                night_brightness: 50
                night_start: 17:00
                night_end: 19:00
    
            Licht:
                name: schalten
                type: bool
                knx_dpt: 1
                knx_init: 0/1/21
                knx_send: 3/1/3
    Irgendwie bin ich wirklich zu Blöd für diese "kleine" Logik
    Gruss Oliver

    Projektleiter Technische Gebäudeausrüstung

    #2
    Zitat von jonny7792 Beitrag anzeigen
    Jedoch kann ich die Logik nicht einmal speichern

    Aus welchem Editor?
    Stimmen die Rechte im Dateisystem?

    Übrigens ist Deine Logik kein gültiger Python Code. Da sitzt eine Klammer falsch.
    Viele Grüße
    Martin

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

    Kommentar


      #3
      Zitat von Msinn Beitrag anzeigen

      Aus welchem Editor?
      Stimmen die Rechte im Dateisystem?

      Übrigens ist Deine Logik kein gültiger Python Code. Da sitzt eine Klammer falsch.
      Entschuldige Bitte.


      Ich wollte alles über das Backend Speichern.



      Mfg
      Gruss Oliver

      Projektleiter Technische Gebäudeausrüstung

      Kommentar


        #4
        Die Einrückung der Logik stimmt auch nicht.

        Kommentar


          #5
          Zitat von psilo Beitrag anzeigen
          Die Einrückung der Logik stimmt auch nicht.
          Logik ist wie folgt "Eingerückt"


          Code:
          if (sh.OG.Buro.Licht() == True  and sh.env.location.night() == True:
              (sh.OG.Buro.Decke(50)
          Gruss Oliver

          Projektleiter Technische Gebäudeausrüstung

          Kommentar


            #6
            Dann stimmt nur eine Klammer nicht, wie Msinn schon sagt. Das Backend kann auch keine dunkle Magie und Deinen Python Code korrigieren

            ah halt: jetzt stimmen sogar ZWEI klammern nicht, in jeder Zeile ist eine zu viel offen

            Kommentar


              #7
              Habe nun die Klammer die meines Erachtens zu viel war entfernt


              Code:
              if (sh.OG.Buro.Licht) == True  and sh.env.location.night() == True:
                  (sh.OG.Buro.Decke(50))
              jedoch immer noch die selbe Meldung vom Backend:
              The server encountered an unexpected condition which prevented it from fulfilling the request.

              Gruss Oliver

              Projektleiter Technische Gebäudeausrüstung

              Kommentar


                #8
                so sollte das gehen, wobei die äußeren klammern bei sh.OG.Buro.Licht und sh.OG.Buro.Decke(50) überflüssig sind.. PyCharm würde auch bei Deinen bools meckern, dass man mit "is True" und nicht mit "== True" prüfen soll

                zur fehlermeldung: hast du vielleicht auch ANDERE Daten der Logik definiert? Was sagt das log? auch beim arbeiten an logiken via backend mache ich immer nen tail -f auf das log..

                Kommentar


                  #9
                  Zitat von psilo Beitrag anzeigen
                  so sollte das gehen, wobei die äußeren klammern bei sh.OG.Buro.Licht und sh.OG.Buro.Decke(50) überflüssig sind.. PyCharm würde auch bei Deinen bools meckern, dass man mit "is True" und nicht mit "== True" prüfen soll

                  zur fehlermeldung: hast du vielleicht auch ANDERE Daten der Logik definiert? Was sagt das log? auch beim arbeiten an logiken via backend mache ich immer nen tail -f auf das log..
                  Habe es nochmals angepasst aktuell sieht es so aus:


                  Code:
                  if sh.OG.Buro.Licht == True  and sh.env.location.night() == True:
                      sh.OG.Buro.Decke(50)
                  immer noch das selbe
                  Gruss Oliver

                  Projektleiter Technische Gebäudeausrüstung

                  Kommentar


                    #10
                    du schreibst zudem von einer "logig.conf" im etc Ordner. Das sollte eine logic.yaml sein, so wie du sie konfiguriert hast.

                    Kommentar


                      #11
                      ps: in referenz zu meiner ergänzung oben:
                      zur fehlermeldung: hast du vielleicht auch ANDERE Daten der Logik definiert? Was sagt das log? auch beim arbeiten an logiken via backend mache ich immer nen tail -f auf das log..

                      Kommentar


                        #12
                        Zitat von psilo Beitrag anzeigen
                        ps: in referenz zu meiner ergänzung oben:
                        zur fehlermeldung: hast du vielleicht auch ANDERE Daten der Logik definiert? Was sagt das log? auch beim arbeiten an logiken via backend mache ich immer nen tail -f auf das log..
                        Nein ich habe nichts anderes definiert.

                        Hier der auszug aus der /etc/logic.yaml

                        Code:
                        %YAML 1.1
                        ---
                        Nachdimmen:
                            filename: nachdimmen.py
                            crontab: init
                            watch_item: OG.Buro.Licht

                        Das Log sieht wie folgt aus:

                        Code:
                        
                        2018-10-22  18:22:02 ERROR    cherrypy.error.1907884912 [22/Oct/2018:18:22:02] HTTP 
                        Traceback (most recent call last):
                          File "/usr/local/lib/python3.5/dist-packages/cherrypy/_cprequest.py", line 631, in respond
                            self._do_respond(path_info)
                          File "/usr/local/lib/python3.5/dist-packages/cherrypy/_cprequest.py", line 690, in _do_respond
                            response.body = self.handler()
                          File "/usr/local/lib/python3.5/dist-packages/cherrypy/lib/encoding.py", line 221, in __call__
                            self.body = self.oldhandler(*args, **kwargs)
                          File "/usr/local/lib/python3.5/dist-packages/cherrypy/_cpdispatch.py", line 60, in __call__
                            return self.callable(*self.args, **self.kwargs)
                          File "/usr/local/smarthome/plugins/backend/BackendLogics.py", line 251, in logics_view_html
                            self.logics.enable_logic(logicname)
                          File "/usr/local/smarthome/lib/logic.py", line 415, in enable_logic
                            mylogic.enable()
                        AttributeError: 'NoneType' object has no attribute 'enable'
                        Gruss Oliver

                        Projektleiter Technische Gebäudeausrüstung

                        Kommentar


                          #13
                          das file nachdimmen.py liegt inkl inhalt im logics ordner nach dem speichern? oder scheitert es da schon?

                          Kommentar


                            #14
                            Zitat von psilo Beitrag anzeigen
                            das file nachdimmen.py liegt inkl inhalt im logics ordner nach dem speichern? oder scheitert es da schon?
                            Das Liegt im Ordner /logics das funktioniert nur aktivieren geht nicht
                            Gruss Oliver

                            Projektleiter Technische Gebäudeausrüstung

                            Kommentar


                              #15
                              speicher sie mal neu via backend. vielleicht hat er sie beim letzten speichern wegen der fehler nicht reingeladen. dann wird auch aktivieren schwer. auf keinen fall mit nem editor und dem backend parallel editieren...

                              du kannst auch mal den code komplett löschen.. oder shng einfach mal durchstarten. vielleicht ist durch das viele rumprobieren irgendwas ganz vertrackt jetzt..

                              Kommentar

                              Lädt...
                              X