Ankündigung

Einklappen
Keine Ankündigung bisher.

Automatische Beschattung

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

  • jonah64
    antwortet
    Hallo,
    ich habe auch noch meine Probleme beim Suspend.
    Im Logfile erscheint:
    Code:
    2016-07-19 23:41:36.094930 Check if state 'EG.Wohnz.Rollo.Rechts.automatik.rules_steuerung.Suspend' ('Ausgesetzt') can be entered:
    2016-07-19 23:41:36.096642     Check condition set 'enter_manuell':
    2016-07-19 23:41:36.097992         Executing method 'get_relative_itemid(..manuell)'
    2016-07-19 23:41:36.099491         Condition 'trigger_source': value=EG.Wohnz.Rollo.Rechts.automatik.manuell negate=False current=Autoblind.trigger.Rollo.WZ
    2016-07-19 23:41:36.100939             not OK -> not matching
    2016-07-19 23:41:36.102197     Check condition set 'enter_stay':
    2016-07-19 23:41:36.103480         Condition 'laststate': value=EG.Wohnz.Rollo.Rechts.automatik.rules_steuerung.Suspend negate=False current=EG.Wohnz.Rollo.Rechts.automatik.rules_steuerung.Suspend
    2016-07-19 23:41:36.104786             OK -> matching
    2016-07-19 23:41:36.106047         Age of 'laststate': No limits given
    2016-07-19 23:41:36.107109         Condition 'manuell': min=None max=None negate=False current=True
    2016-07-19 23:41:36.107957             no limit given -> matching
    2016-07-19 23:41:36.110134         Age of 'manuell': min=None max=7200 negate=None current=266.342015
    2016-07-19 23:41:36.111039             given age limits ok -> matching
    2016-07-19 23:41:36.112257         Condition 'suspend': value=True negate=False current=True
    2016-07-19 23:41:36.113107             OK -> matching
    2016-07-19 23:41:36.114674         Age of 'suspend': No limits given
    2016-07-19 23:41:36.115575 State can be entered
    2016-07-19 23:41:36.117368 Executing method 'insert_suspend_time(..suspend, Automatik ausgesetzt bis %X)'
    2016-07-19 23:41:36.118324     Suspend time is 3600
    2016-07-19 23:41:36.119617     Suspend item is EG.Wohnz.Rollo.Rechts.automatik.suspend
    2016-07-19 23:41:36.121137     Current suspend age: 2951.45847
    2016-07-19 23:41:36.122331     Remaining suspend time: 648.54153
    2016-07-19 23:41:36.124139     Suspend finished at 2016-07-19 23:52:24.664832+02:00
    2016-07-19 23:41:36.125971 Staying at EG.Wohnz.Rollo.Rechts.automatik.rules_steuerung.Suspend ('Ausgesetzt')
    2016-07-19 23:41:36.126907     Action 'suspend': Set 'EG.Wohnz.Rollo.Rechts.automatik.suspend' to 'True'
    Was mich stört sind die 3600: Ich möchte die Suspend-Zeit auf 7200 einstellen.
    as_agemax_manuell = 7200 habe ich gesetzt.

    Ich vermute die Zeile:
    Code:
    2016-07-19 23:41:36.118324     Suspend time is 3600
    kommt vom Plugin default:
    #suspend_time_default = 3600

    Aber wie kann ich diesen Wert verändern? Da verstehe ich die Doku nicht.

    Auch: wie ist das Verhältnis von suspend_time und as_agmax manuell? Das ist mir unklar.

    Für Hilfe wäre ich dankbar....


    Einen Kommentar schreiben:


  • Bonze
    antwortet
    Ich hab auch probleme beim suspend modus, dieser wird nicht gesetzt obwohl ich beim manuellen fahren diese meldung im log erhalte
    Code:
    2016-07-15 11:04:40.646158 Update triggered by Eval (item=schlafzimmer.rollladen.automatik.rules source=schlafzimmer.rollladen.fahren dest=None)
    2016-07-15 11:04:40.649375 Eval initially triggered by AutoBlind Plugin (item=schlafzimmer.rollladen.fahren source=None)
    2016-07-15 11:04:40.650211 Ignoring changes from AutoBlind Plugin
    2016-07-15 11:04:41.652948 Update state of item Automatik Schlafzimmer ====================================
    2016-07-15 11:04:41.653865 Update triggered by Eval (item=schlafzimmer.rollladen.automatik.rules source=schlafzimmer.rollladen.automatik.manuell dest=None)
    2016-07-15 11:04:41.654804 Eval initially triggered by AutoBlind Plugin (item=schlafzimmer.rollladen.fahren source=None)
    2016-07-15 11:04:41.655446 Ignoring changes from AutoBlind Plugin

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Perfekt, jetzt klappt's. Danke!

    Einen Kommentar schreiben:


  • offline
    antwortet
    Hi Onkelandy

    habe gerade nicht die Zeit für ein Patch aber ich kann dir sagen, wie du das Problem behebst.

    Es gibt an drei Stellen im Coding jeweils eine Zeile
    Code:
    if self.__eval.startswith("autoblind_eval"):
    • AutoBlindAction.py, ca Zeile 283
    • AutoBlindCondition.py, ca. Zeile 346
    • AutoBlindValue.py, ca. Zeile 182

    Bitte ersetzte diese Zeilen durch
    Code:
    if "autoblind_eval" in self.__eval:
    Für dein aktuelles Problem dürfte primär die Zeile in AutoBlindValue.py relevant sein.

    Bei Gelegenheit werde ich dann noch einen Commit Pushen.

    Grüße
    offline
    Zuletzt geändert von offline; 14.07.2016, 05:55.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Hi offline

    Habe entdeckt, dass es doch noch bzw. wieder ein Problem gibt.. hast du eine Idee, woran das liegen kann.. Ich müsste eigtl. die aktuellste Version des Plugins haben, da ging das auch schon problemlos bei mir.. erst seit dem 10.7. spinnt's, vermutl. hab ich dort mal ein git pull für SmarthomeNG gemacht..

    Code:
    2016-07-10 12:36:19.362439 Problem evaluating '1 if (autoblind_eval.get_relative_itemvalue('...warm.dimmen') >= 1 or autoblind_eval.get_relative_itemvalue('...kalt.dimmen') >= 1) else 0': name 'autoblind_eval' is not defined.
    Das wirklich Interessante ist, dass aber autoblind_eval.suntracking() funktioniert..:
    Code:
    2016-07-10 12:37:13.971528     Executing method 'SunTracking()'
    2016-07-10 12:37:13.974685         Current sun altitude is 62.975949241972515°
    2016-07-10 12:37:13.978938         Blinds at right angle to the sun at 27.024050758027485°
    Das ist sonderbar. Die Items sehen auszugsweise so aus:
    as_set_lamella = eval:autoblind_eval.sun_tracking()
    bzw.
    as_set_retrigger = eval: 1 if (autoblind_eval.get_relative_itemvalue('...warm.di mmen') >= 1 or autoblind_eval.get_relative_itemvalue('...kalt.dim men') >= 1) else 0
    as_delay_retrigger = 1

    Danke für die Unterstützung!

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Nach einem erneuten Update von SmartHomeNG funktioniert nun interessanterweise alles ganz problemlos.. Wunderbar.

    Einen Kommentar schreiben:


  • offline
    antwortet
    Mittlerweile läuft smarthomeNG bei mir Produktiv (Develop-Branch), inclusive des AutoBlind Plugins. Änderungen am Plugin waren dabei nicht erforderlich. Ich denke daher auf, dass das Problem tatsächlich bei euren Items liegt. Auch ich verwende natürlich relative Items und die funktionieren problemlos.
    Der Pull Request https://github.com/smarthomeNG/smarthome/pull/50 sollte auf dieses Problem keinen Einfluss haben. Er betrifft die Funktionalität "Zusätzliche Kommandos für das CLI Plugin".

    Grüße
    offline

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Es muss am relativen Definieren des Items liegen. Ich nutze das Feature mit .. Bzw. ..., etc. offline , hast du da ne Idee?

    Einen Kommentar schreiben:


  • Yfkt5A
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    Ich wollte auf SmarthomeNG neuesten Develop Release umsteigen. Leider gibt es hier beim aktuellen Autoblind-Plugin eine ganz Menge an Errors..
    Also ich habe vor ca. 2 1/2 Wochen auf NG umgestellt und habe bis dato keine Errors gefunden.
    Zitat von Onkelandy Beitrag anzeigen
    Ich vermute, dass es an diesem relativen Item liegt. Ich habe das hier auch noch adaptiert, ändert die Situation aber leider nicht:
    https://github.com/smarthomeNG/smarthome/pull/50
    Wahrscheinlich liegt der Hund dann wohl in deinem Item begraben

    Einen Kommentar schreiben:


  • Bonze
    antwortet
    ich hab auch ein problem , mit der suspend/manuell funktionalität:
    Initialize Item autoblind.default.rollladen ====================================
    2016-06-23 11:58:04.231743 Init state autoblind.default.rollladen.Lock
    2016-06-23 11:58:04.236609 ERROR: Ignoring state autoblind.default.rollladen.Lock because: State 'autoblind.default.rollladen.Lock', Condition Set 'enter', Condition 'lock': Condition lock: Neither 'item' nor 'eval' given!
    2016-06-23 11:58:04.242353 Init state autoblind.default.rollladen.Suspend
    2016-06-23 11:58:04.249979 ERROR: Ignoring state autoblind.default.rollladen.Suspend because: State 'autoblind.default.rollladen.Suspend', Condition Set 'enter_stay', Condition 'suspend': Condition suspend: Neither 'item' nor 'eval' given!
    sieht in der default so aus:
    Code:
                [[[[Lock]]]]
                    type = foo
                    name = Manuell gesperrt
                    as_set_suspend = False
                    [[[[[enter]]]]]
                        as_value_lock = True
                
                [[[[Suspend]]]]
                    type = foo
                    name = Ausgesetzt
                    # Namensermittlung über eval-Funktion
                    as_name = eval:autoblind_eval.insert_suspend_time("..suspend", "Automatik ausgesetzt bis %X")
                    # Aktionen:
                    # - "Suspend"-Item setzen
                    as_set_suspend = True
                    # sonst nichts tun
    
                    # Einstieg in "Suspend": Wenn
                    [[[[[enter_manuell]]]]]                        
                        # - die Zustandsermittlung über das "Manuell"-Item ausgelöst wurde
                        as_value_trigger_source = eval: autoblind_eval.get_relative_itemid("..manuell")
    
                    # Verbleib in "Suspend": Wenn  
                    [[[[[enter_stay]]]]]
                        # - wir bereits in "Suspend" sind
                        as_value_laststate = var:current.state_id
                        # - die letzte Änderung des "Manuell"-Items höchstens 3600 Sekunden her ist
                        as_agemax_manuell = 3600
                        # der Rollladen zwischen 8.30 und 21.00 manuell hochfahren wurde
                        as_min_time = 08:30
                        as_max_time = 21:00
                        # - das "Suspend"-Item nicht von irgendwo anders auf "False" gesetzt wurde
                        as_value_suspend = True
    im Item so:
    Code:
    [[[automatik]]]
                    [[[[lock]]]]
                        type = bool
                        visu_acl = rw
                        cache = on
                        enforce_updates = yes
                    [[[[suspend]]]]
                        type = bool
                        visu_acl = rw
                    [[[[state_id]]]]
                        type = str
                        visu_acl = r
                        cache = on
                    [[[[state_name]]]]
                        type = str
                        visu_acl = r
                        cache = on
                    [[[[manuell]]]]
                        type = bool
                        name = Manuelle Bedienung
                        # Änderungen dieser Items sollen als manuelle Bedienung gewertet werden
                        eval_trigger = esszimmer.rollladen.fahren | esszimmer.rollladen.stop | esszimmer.rollladen.pos_abrufen  | zentral.rollladen.fahren | zentral.rollladen.stop
                        # Änderungen, die ursprünglich von diesen Triggern (<caller>:<source>) ausgelöst wurden, sollen nicht als manuelle Bedienung gewertet werden
                        as_manual_exclude = KNX:0.0.0 | Init:*
                    [[[[rules]]]]
                        type = bool
                        name = Automatik Esszimmer
                        as_startup_delay = 30
                        as_plugin = active
                        as_item_pos = esszimmer.rollladen.pos_abrufen
                        as_item_fahren = esszimmer.rollladen.fahren
                        as_laststate_item_id = esszimmer.rollladen.automatik.state_id
                        as_laststate_item_name = esszimmer.rollladen.automatik.state_name
                        as_item_lock = esszimmer.rollladen.automatik.lock
                        as_item_manuell = esszimmer.rollladen.automatik.manuell
                        as_item_suspend = esszimmer.rollladen.automatik.suspend
                        as_delay_fahren = autoblind_eval.get_random_int(min=5,max=250)
                        
                        # Über diese Items soll die Statusermittlung ausgelöst werden
                        eval_trigger = autoblind.trigger.rollladen | esszimmer.rollladen.automatik.manuell | esszimmer.rollladen.automatik.lock | esszimmer.rollladen.automatik.suspend
                        # In dieses Item soll die Id des aktuellen Zustands geschrieben werden
                        as_laststate_item_id = esszimmer.rollladen.automatik.state_id
                        # In dieses Item soll der Name des aktuellen Zustands geschrieben werden
                        as_laststate_item_name = esszimmer.rollladen.automatik.state_name
                        [[[[[Lock]]]]]
                            as_use = autoblind.default.rollladen.Lock
                        [[[[[Suspend]]]]]
                            # Zustand "Suspend": Nur die Vorgabeeinstellungen übernehmen
                            as_use = autoblind.default.rollladen.Suspend
                            # Achtung: Beim "Suspend"-Item niemals "enforce_updates = yes" setzen! Das führt dazu dass das Setzen des
                            # Suspend-Items bei der Initialisierung zu einem endlosen sofortigen Wiederaufruf der Statusermittlung führt!
    Dachte eigentlich das ich alles drin hab ..
    Der Rolladen checkt einfach nich, das ich manuell getriggert hab und fährt mir nach dem cycle ende die rolladen wieder auf..
    Zuletzt geändert von Bonze; 24.06.2016, 13:40. Grund: erweitert

    Einen Kommentar schreiben:


  • offline
    antwortet
    Onkelandy:Ich habe mein System noch nicht auf smarthomeNG umgestellt da mit dafür bisher die Zeit gefehlt hat. Ich kann dir daher leider keine schnelle Lösung präsentieren. Habe nun aber wieder etwas mehr Zeit und werde das Thema nun angehen.

    @all: Der aktuelle Develop-Zweig wurde heute morgen in den Master-Zweig gemerged. Die meisten haben ja sowieso mit dem develop-Zweig gearbeitet und der ist daher genügend abgehangen. Für SmarthomeNG wirds erst mal einen separaten develop-Zweig geben, sobald es hier erste Ergebnisse gibt, werde ich diesen auf Github pushen.

    Onkelandy: Ich nutze durchgehend die zweite Möglichkeit (zusätzliche enter-Bedingung). Ich war sogar mal am überlegen, die "leave"-Bedingungen sterben zu lassen ...

    Grüße
    offline

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Ich werf noch ne andere Frage hinterher..auch wenn das Thema hier schon besprochen wurde. Wie löst ihr aktuell Hysteresen? Es gibt da wohl zwei Ansätze:

    * Leave-Bedingung. Nachteil, man muss alle möglichen Varianten hier eintragen, also auch lock, suspend, etc. Wenn diverse höher stehende Stati nicht eingenommen werden sollen, trägt man das einfach nicht in die Leave-Bedingungen ein.
    * Eine zweite (bzw. x-te) Enter-Bedingung, bei der abgefragt wird, ob der letzte Zustand der eigene war und die Hysterese-Bedingung (zB 2 Grad kühler, 20000 Lux dunkler, etc.) erfüllt wird..

    Wäre noch froh, wenn's ne Info zum Update auf das neueste Smarthome.py gäbe.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Hi zusammen!

    Ich wollte auf SmarthomeNG neuesten Develop Release umsteigen. Leider gibt es hier beim aktuellen Autoblind-Plugin eine ganz Menge an Errors..
    Code:
    2016-06-06  12:27:45 ERROR    autoblind
    2016-06-06  12:27:45 ERROR    autoblind
    2016-06-06  12:27:45 ERROR    autoblind
    2016-06-06  12:27:45 ERROR    autoblind    Item 'playlists.eingang.ich.automatik.rules.info', Condition Set 'enter', condition 'info': Condition info: Neither 'item' nor 'eval' given!
    2
    Das Item sieht so aus:
    Code:
                        [[[[[['info']]]]]]
                            type = foo
                            name = Info
                            as_set_playlist = item:..settings.playlist.info
                            as_set_volume = item:..settings.volume
                            as_set_zufall = value:0
                            [[[[[[['enter']]]]]]]
                                type = foo
                                as_value_info = value:true
    Und as_item_info = ...info_an

    Ich vermute, dass es an diesem relativen Item liegt. Ich habe das hier auch noch adaptiert, ändert die Situation aber leider nicht:
    https://github.com/smarthomeNG/smarthome/pull/50

    Any ideas? Vielen Dank!

    Einen Kommentar schreiben:


  • hhhc
    antwortet
    Ok, danke. Das schau ich mir nochmal an.

    Einen Kommentar schreiben:


  • offline
    antwortet
    Hi hhhc,

    das Plugin wird um 2016-05-30 12:42:01.203865 dadurch getriggert, dass das KNX-Gerät mit der PA 1.1.30 den Wert von "Raffstore.EG_wohnzimmer_schiebetuer_rechts.lamell e" ändert. Wenn 1.1.30 ein Taster ist, dann ist das so korrekt. Da du es als Fehler beschreibst ist 1.1.30 vermutlich aber ein Jalousieaktor, der eine Statusrückmeldung schickt und das "manuell"-Item triggert. In diesem Fall könntest du bei deinem "manuell"-Item ein
    Code:
    as_manual_exclude = KNX:1.1.30
    angeben, dann sollten Änderungen von dieser PA nicht mehr als "manuell" gewertet werden.
    Detaillierte Doku siehe https://github.com/i-am-offline/smar...E#manuell-item

    Grüße
    offline

    Einen Kommentar schreiben:

Lädt...
X