Skip to content

Doku De Vorgabezustaende

i-am-offline edited this page Feb 4, 2018 · 2 revisions

Vorgabezustände verwenden

Es ist möglich Vorgabezustände in der Konfiguration zu definieren und diese später für konkrete Objekte anzuwenden. Dabei können im konkreten Zustand auch Einstellungen des Vorgabezustands überschrieben werden.

Vorgabezustände werden als Item an beliebiger Stelle innerhalb der Item-Struktur definiert. Es ist sinnvoll, die Vorgabezustände unter eingem gemeinsamen Item zusammenzufassen. Innerhalb der Vorgabezustand-Items stehen die gleichen Möglichkeiten wie in normalen Zustands-Items zur Verfügung. Das dem Vorgabezustands-Item übergeordnete Item darf nicht das Attribut "as_plugin: active" haben. Im Item über dem Vorgabezustands-Item können jedoch Items über "as_item_<Bedingungsname|Aktionsname>" angegeben werden. Diese stehen in den Vorgabezuständen und in den von den Vorgabezuständen abgeleiteten Zuständen zur Verfügung und müssen so nicht jedes mal neu definiert werden.

Im konkreten Zustands-Item kann das Vorgabezustand-Item über das Attribut

as_use: <Id des Vorgabezustand-Item>

eingebunden werden. Die Vorgabezustand-Items können geschachtelt werden, dass heißt ein Vorgabezustand kann also selbst wiederum über as_use von einem weiteren Vorgabezustand abgeleitet werden. Um unnötige Komplexität und Zirkelbezüge zu vermeiden ist die maximale Tiefe jedoch auf 5 Ebenen begrenzt.

Beispiel

beispiel:
    default:
        <...>
        as_item_height: ...hoehe
        Nacht:
            <...>
            enter:
                (...)
            as_set_height: value:100
            as_set_lamella: 0
        Morgens:
            <...>
            enter:
                <...>
            as_set_height: value:100
            as_set_lamella: 25
            
        Abends:
            <...>
            enter:
                <...>
            as_set_height: value:100
            as_set_lamella: 75
                
        Tag:
            <...>
            enter:
                <...>
            as_set_height: value:0
            as_set_lamella: 100
                             
beispiel
    raffstore1:
        automatik:
            rules:
                <...>
                as_item_lamella: beispiel.raffstore1.lamelle
                Nacht:
                    as_use: beispiel.default.Nacht
                    enter_additional:
                        <... zusätzliche Einstiegsbedingung ...>
                Morgens:
                    as_use: beispiel.default.Morgens
                Abends:
                    as_use: beispiel.default.Abends
                    enter:
                        <... Änderungen an der Einstiegsbedingung des Vorgabezustands ...>
                Nachfuehren:
                    <...>
                    name: Zusätzlicher Zustand, der nicht aus den Vorgabezuständen kommt
                    as_set_height: value:100
                    as_set_lamella: eval:autoblind_eval.sun_tracking()
                Tag:
                    as_use: autoblind.default.day
Clone this wiki locally