Ankündigung

Einklappen
Keine Ankündigung bisher.

Logikanfänger braucht Hilfe

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

    Logikanfänger braucht Hilfe

    Hallo Zusammen,

    Ich habe gestern meinen beiden Shellys der Treppenbeleuchtung integriert und würde diese nun gerne per Logik schalten.
    Sie sollen mit dem Sonnenuntergang an gehen und um 23:30 wieder aus gehen.

    Items: (die Namen werden noch angepasst ist erstmal zum testen)

    Code:
    TreppeKeller:
    name: TreppeKeller
    type: bool
    shelly_id: 'xxxx'
    shelly_type: shelly1
    shelly_attr: relay
    shelly_relay: 0
    TreppeObergeschoss:
    name: TreppeObergeschoss
    type: bool
    shelly_id: 'xxxx'
    shelly_type: shelly1
    shelly_attr: relay
    shelly_relay: 0
    Ich kann die Shellys auch per AdminWeb schalten, dies klappt einwandfrei.

    Nun bin ich leider bei der Erstellung der Logik ratlos, da ich dies noch nicht gemacht haben und mir daher der Ansatz fehlt :-(
    Ich hatte auch schon etwas gesucht, dies hat aber nur mehr Fragezeichen erzeugt.


    Grüße und Danke

    Marco
    Zuletzt geändert von MarcoLanghans; 12.05.2022, 09:54.

    #2
    Vielleicht brauchst Du nicht mal eine Logik sondern nur ein crontab Attribut beim Item mit sunset = 1 und 23:30 = 0

    Kommentar


      #3
      Hi,
      super vielen Dank für den Hinweis.
      Manchmal denk man einfach zu kompliziert


      Code:
      TreppeKeller:
          name: TreppeKeller
          type: bool
          shelly_id: 'xxx'
          shelly_type: shelly1
          shelly_attr: relay
          shelly_relay: 0
          crontab:
              - 30 23 * * = false
              - sunset = true
      TreppeObergeschoss:
          name: TreppeObergeschoss
          type: bool
          shelly_id: 'xxx'
          shelly_type: shelly1
          shelly_attr: relay
          shelly_relay: 0
          crontab:
              - 30 23 * * = false
              - sunset = true
      Zuletzt geändert von bmx; 12.05.2022, 14:07. Grund: Einrückung angepasst

      Kommentar


        #4
        Hallo zusammen,

        ich bräuchte nochmal etwas Hilfe und zwar möchte ich folgendes mittels Logik umsetzten.

        Wenn das item wetter.owm.forecast.daily.today.temp.temp_max (num) grösser 28 Grad ist dann weise folgenden Wert 0.5 dem item sh.EG.Flur.Rolladen.ZielPosition zu.
        Leider funktioniert dies jedoch nicht, da ich vermutlich etwas falsch mache :-(


        Code:
        #!/usr/bin/env python3
        # beschattung.py
        
        logger.info("!!! Test starte Rolladen Beschattung !!!")
        max_temp_day = sh.wetter.owm.forecast.daily.today.temp.temp_max()
        logger.info(max_temp_day)
        
        if max_temp_day > 28:
            sh.EG.Flur.Rolladen.ZielPosition = 0.7
        else:
            logger.info("do nothing to cold")
        Zuletzt geändert von MarcoLanghans; 18.07.2022, 13:37.

        Kommentar


          #5
          Zitat von MarcoLanghans Beitrag anzeigen
          Hallo zusammen,

          ich bräuchte nochmal etwas Hilfe und zwar möchte ich folgendes mittels Logik umsetzten.

          Wenn das item wetter.owm.forecast.daily.today.temp.temp_max (num) grösser 28 Grad ist dann weise folgenden Wert 0.5 dem item sh.EG.Flur.Rolladen.ZielPosition zu.
          Leider funktioniert dies jedoch nicht, da ich vermutlich etwas falsch mache :-(


          Code:
          #!/usr/bin/env python3
          # beschattung.py
          
          logger.info("!!! Test starte Rolladen Beschattung !!!")
          max_temp_day = sh.wetter.owm.forecast.daily.today.temp.temp_max()
          logger.info(max_temp_day)
          
          if max_temp_day > 28:
          sh.EG.Flur.Rolladen.ZielPosition = 0.7
          else:
          logger.info("do nothing to cold")
          Code:
          sh.EG.Flur.Rolladen.ZielPosition(0.7)

          Kommentar


            #6
            Dann kommt leider folgendes

            2022-07-18 14:41:40 ERROR logics.beschattung Logic: logics.beschattung, File: /usr/local/smarthome/logics/beschattung.py, Line: 9, Method: <module>, Exception: 'float' object is not callable
            > Traceback (most recent call last):
            > File "/usr/local/smarthome/lib/scheduler.py", line 646, in _task
            > exec(obj.bytecode)
            > File "/usr/local/smarthome/logics/beschattung.py", line 9, in <module>
            > sh.EG.Flur.Rolladen.ZielPosition(0.5)
            > TypeError: 'float' object is not callable

            Kommentar


              #7
              Und dein Item ist ein "num" Item?

              Kommentar


                #8
                Ja dies ist ein num Item, über das WebFrontend kann ich auch den Wert 0.7 dem Item zuweisen.

                Code:
                 Rolladen:
                            visu_acl: rw
                            sv_widget : "{{device.shutter ('flureg.shutter', '', '', '', 'EG.Flur.Rolladen.Position','', '', '', 1, 0,'0,1', '') }}"
                            Position:
                                type: num
                                hm_address: xxxx
                                hm_channel: 3
                                hm_function: LEVEL    
                            ZielPosition:
                                type: num
                                hm_address: xxxx
                                hm_channel: 4
                                hm_function: LEVEL
                Zuletzt geändert von MarcoLanghans; 18.07.2022, 14:21.

                Kommentar


                  #9
                  Ich fürchte, Du hast mit der Logik vorhin sh.EG.Flur.Rolladen.ZielPosition = 0.7 ausgeführt und damit das Objekt sh.EG.Flur.Rolladen.ZielPosition als float mit Wert 0,7 definiert.
                  Nun geht sh.EG.Flur.Rolladen.ZielPosition(0.7) natürlich nicht mehr ...

                  Mach' mal einen Neustart und probiere dann sh.EG.Flur.Rolladen.ZielPosition(0.7) aus

                  Wenn's Dir hilft: Es gibt das executor Plugin mit dem man auch mal Sachen im laufenden Betrieb testen kann...

                  Kommentar


                    #10
                    bmx Super danke dies war es. Nun geht es so wie gewollt.

                    Kommentar

                    Lädt...
                    X