Modul YAAHM: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 14: Zeile 14:
Das Modul ''95_YAAHM.pm'' stellt eine komfortable Oberfläche bereit, um per Webinterface die zyklische Ausführung von Kommandos - mit Tages- und Wochenprofil - zu konfigurieren. Der Titel '''YAAHM''' ist das Akronym für ''Yet Another Auto Home Module'', denn es gibt ja schon verschiedene Module, die den Zeitablauf in einem SmartHome vereinfachen sollen. Warum also noch Eines ?
Das Modul ''95_YAAHM.pm'' stellt eine komfortable Oberfläche bereit, um per Webinterface die zyklische Ausführung von Kommandos - mit Tages- und Wochenprofil - zu konfigurieren. Der Titel '''YAAHM''' ist das Akronym für ''Yet Another Auto Home Module'', denn es gibt ja schon verschiedene Module, die den Zeitablauf in einem SmartHome vereinfachen sollen. Warum also noch Eines ?


Ganz einfach: Die Philosophie von YAAHM ist die einfache Bedienbarkeit im Frontend, mit Eingabefeldern und Visualisierungselementen - statt dabei Unmengen von Attributen zu setzen.
Ganz einfach: Die Philosophie von YAAHM ist die einfache Bedienbarkeit im Frontend, mit Eingabefeldern und Visualisierungselementen - statt dabei Unmengen von Attributen zu setzen. Dafür gibt es verschiedene Begriffe zu vestehen:
*'''housetime''' ist ein bestimmtes Ereignis (Event), mit dem das SmartHome seinen Zustand wechselt. Die vordefinierten Events umfassen
**''Nach Mitternacht'' und ''Vor Mitternacht'' (aftermidnight, beforemidnight) sind Events, die mit einem Offset an jedem Tag nach bzw. vor Mitternacht ausgeführt werden.
**''Sonnenaufgang'', ''Vor Sonnenaufgang'' und ''Nach Sonnenaufgang'' (sunrise, beforesunrise, aftersunrise) sind Events, die an jedem Tag zu Sonnenaufgang bzw. mit einem Offset davor und danach ausgeführt werden. Der Zeitpunkt des Sonnenaufgangs wird aus dem Modul 95_Astro.pm berechnet.
**''Sonnenuntergang'', ''Vor Sonnenuntergang'' und ''Nach Sonnenuntergang'' (sunset, beforesunset, aftersunset) sind Events, die an jedem Tag zu Sonnenuntergang bzw. mit einem Offset davor und danach ausgeführt werden. Der Zeitpunkt des Sonnenuntergangs wird aus dem Modul 95_Astro.pm berechnet.
**''Morgen'', ''Mittag'', ''Nachmittag'', ''Abend'' und ''Nacht'' (morning, noon, afternoon, evening, night) sind Events, die zu einer einstellbaren Zeit an jedem Tag ausgeführt werden.
*'''housephase''' nimmt zwischen ''Morgen'' und ''Nacht'' den Wert ''Tageszeit'' an, sonst den Wert ''Nachtzeit''.
*'''housemode''' (bzw. Modus) besagt, dass sich das SmartHome in einem der drei Modi ''Normal'', ''Party'' oder ''Abwesenheit'' befindet. Die Festsetzung des Modus bleibt bestehen, bis eine erneute manuelle Änderung durchgeführt wird. Ausnahme: Wenn das Attribut ''modeAuto'' gesetzt wird, kann sich der Modus auch bei bestimmten Events ändern. Dabei bedeutet:
**''Normal'' = normale Tages- und Wochen-Profile werden angewandt, keine speziellen Anordnungen.
**''Party'' = kann in Hilfsfunktionen verwendet werden, um spezielle Anordnungen betreffend die Sicherheit und den Übergang in den Nachtzustand zu realisieren.
***Das Modul selbst sorgt dafür, dass im Party-Modus das SmartHome nicht in einen gesicherten Zustand versetzt werden kann.
**''Abwesenheit''  = kann in Hilfsfunktionen verwendet werden, um spezielle Anordnungen zu realisieren.
*'''housestate''' (bzw. (Sicherheits-)Zustand) besagt, dass sich das SmartHome in einem der vier Zustände ''Nicht gesichert'', ''Gesichert'', ''Geschützt'' oder ''Überwacht'' befindet. Die Festsetzung des Modus bleibt bestehen, bis eine erneute manuelle Änderung durchgeführt wird. Ausnahme: Wenn das Attribut ''stateAuto'' gesetzt wird, kann sich der Zustand auch bei bestimmten Events ändern. Dabei bedeutet:
**''Nicht gesichert'' =
**''Gesichert'' =
**''Geschützt'' =
**''Überwacht'' =


==Definition==
==Definition==
Zeile 25: Zeile 41:
gesetzt werden. Für dieses Wiki werden die deutschen Ausgabedaten verwendet.
gesetzt werden. Für dieses Wiki werden die deutschen Ausgabedaten verwendet.


==Konfiguration==
Beim Anklicken des Begriffes ''Profile'' (eben der genannte Weblink) im oberen Menü des Webinterfaces wird dieser versteckte Raum angezeigt. Er enthält an erster Stelle das YAAHM-Device. Für die Konfiguration dieses Devices siehe den nächsten Abschnitt, für die Bedienung siehe den Abschnitt [Bedienung].
Beim Anklicken des Begriffes ''Profile'' im oberen Menü des Webinterfaces wird dieser versteckte Raum angezeigt. Er enthält
 
==Konfiguration ==
Das YAAHM-Device kennt die folgenden Set-Befehle:
set YYY time <timeevent>
Erzeugt manuell </code></a><br/>
                    Set the current house time (event), i.e. one of several values:
                    <ul>
                    <li>(after|before) midnight | [before|after] sunrise | [before|after] sunset are calculated from astronomical data (&pm;offset).
                    These values vary from day to day, only the offset can be specified in the daily profile. </li>
                    <li>morning | noon | afternoon | evening | night are fixed time events specified in the daily profile.
                    The time phase between events morning and night is called <i>daytime</i>, the
                    time phase between events night and morning is called <i>nighttime</i></li>
                    <li>wakeup|sleep are time events specified in the weekly default profiles <i>Wakeup</i> and <i>Sleep</i>, i.e. the value may change from day to day.</li>
                    </ul>
                  </li>
            <li><a name="yaahm_manualnext">
                    <code>set &lt;name&gt; manualnext &lt;timernumber&gt; &lt;time&gt;</code></a><br/>
                    <code>set &lt;name&gt; manualnext &lt;timername&gt; &lt;time&gt;</code></a><br/>
                    For the weekly timer identified by its number (starting at 0) or its name, set the next ring time manually. The time specification &lt;time&gt;must be in the format hh:mm or "off"
                    If the time specification &lt;time&gt; is later than the current time, it will be used for today. If it is earlier than the current time, it will be used tomorrow.
                  </li>
            <li><a name="yaahm_mode">
                    <code>set &lt;name&gt; mode normal | party | absence</code>
                </a>
                <br />Set the current house mode, i.e. one of several values:
                <ul>
               
                </li> 
              <li><a name="yaahm_state">
                    <code>set &lt;name&gt; state unsecured | secured | protected | guarded</code>
                </a>
                <br/>Set house (security) state, i.e. one of several values:
                  <ul>
                    <li> unsecured - Example: doors etc. are unlocked, windows may be open, movement alarm is disarmed, danger alarm is armed. Alarm is targeted at people present in the house.
                    </li>
                    <li> secured - Example: doors etc. are locked, windows may not be open, movement alarm is disarmed, danger alarm is armed. Alarm is targeted at people present in the house.
                    </li>
                    <li> protected - Example: doors etc. are locked, windows may not be open, movement alarm is armed, danger alarm is armed. Alarm is targeted at people present in the house.
                    </li>
                    <li> guarded - Example: doors etc. are locked, windows may not be open, movement alarm is armed, danger alarm is armed. Alarm is targeted at absent people.
                    </li>
                  </ul>
                  House (security) states are valid until manual change. If the attribute <i>stateAuto</i> is set (see below), state will change automatically at certain times.</li>
                </li>     
            <li><a name="yaahm_createweekly">
                    <code>set &lt;name&gt; createWeekly &lt;string&gt;</code>
                </a>
                <br />Create a new weekly profile &lt;string&gt;</li>
            <li><a name="yaahm_deleteweekly">
                    <code>set &lt;name&gt; deleteWeekly &lt;string&gt;</code>
                </a>
                <br />Delete the weekly profile &lt;string&gt;</li>
            <li><a name="yaahm_lock">
                    <code>set &lt;name&gt; locked|unlocked</code>
                </a>
                <br />Set the lockstate of the yaahm module to <i>locked</i> (i.e., yaahm setups
                may not be changed) resp. <i>unlocked</i> (i.e., yaahm setups may be changed>)</li>
        </ul>
 
==Bedienung==
In diesem Abschnitt wird die Bedienung der Weboberfläche und damit die Konfiguration der Hausautomatik beschrieben. Um sie zu erreichen, klickt man auf den Begriff ''Profile'' im oberen Menü des Webinterfaces
===Aktion===
===Aktion===


Zeile 42: Zeile 118:


[[Datei:weekly_2.png|400 px]]
[[Datei:weekly_2.png|400 px]]
==Konfiguration==
===Sperrung===
===Sperrung===
Das Reading ''lockstate'' muss den Wert ''unlocked'' haben, damit durch Anklicken der Start-Buttons für die Timer diese auch gestartet werden. Das ist in der Regel beim ersten Laden des Moduls '''nicht''' der Fall, hierzu muss also das Reading von Hand auf den richtigen Wert gesetzt werden. Dazu muss der Befehl '''set ... unlocked''' ausgeführt werden.
Das Reading ''lockstate'' muss den Wert ''unlocked'' haben, damit durch Anklicken der Start-Buttons für die Timer diese auch gestartet werden. Das ist in der Regel beim ersten Laden des Moduls '''nicht''' der Fall, hierzu muss also das Reading von Hand auf den richtigen Wert gesetzt werden. Dazu muss der Befehl '''set ... unlocked''' ausgeführt werden.

Version vom 10. August 2017, 11:35 Uhr

YAAHM
Zweck / Funktion
Das Modul stellt eine komfortable Oberfläche bereit, um per Webinterface die zyklische Ausführung von Kommandos - mit Tages- und Wochenprofil - zu konfigurieren
Allgemein
Typ Hilfsmodul
Details
Dokumentation EN / DE
Support (Forum) Unterstuetzende Dienste
Modulname 95_YAAHM.pm
Ersteller Prof. Dr. Peter A. Henning
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!

Diese Seite beschreibt die Konfiguration und Verwendung des Moduls 95_YAAHM.pm.

Allgemeines

Das Modul 95_YAAHM.pm stellt eine komfortable Oberfläche bereit, um per Webinterface die zyklische Ausführung von Kommandos - mit Tages- und Wochenprofil - zu konfigurieren. Der Titel YAAHM ist das Akronym für Yet Another Auto Home Module, denn es gibt ja schon verschiedene Module, die den Zeitablauf in einem SmartHome vereinfachen sollen. Warum also noch Eines ?

Ganz einfach: Die Philosophie von YAAHM ist die einfache Bedienbarkeit im Frontend, mit Eingabefeldern und Visualisierungselementen - statt dabei Unmengen von Attributen zu setzen. Dafür gibt es verschiedene Begriffe zu vestehen:

  • housetime ist ein bestimmtes Ereignis (Event), mit dem das SmartHome seinen Zustand wechselt. Die vordefinierten Events umfassen
    • Nach Mitternacht und Vor Mitternacht (aftermidnight, beforemidnight) sind Events, die mit einem Offset an jedem Tag nach bzw. vor Mitternacht ausgeführt werden.
    • Sonnenaufgang, Vor Sonnenaufgang und Nach Sonnenaufgang (sunrise, beforesunrise, aftersunrise) sind Events, die an jedem Tag zu Sonnenaufgang bzw. mit einem Offset davor und danach ausgeführt werden. Der Zeitpunkt des Sonnenaufgangs wird aus dem Modul 95_Astro.pm berechnet.
    • Sonnenuntergang, Vor Sonnenuntergang und Nach Sonnenuntergang (sunset, beforesunset, aftersunset) sind Events, die an jedem Tag zu Sonnenuntergang bzw. mit einem Offset davor und danach ausgeführt werden. Der Zeitpunkt des Sonnenuntergangs wird aus dem Modul 95_Astro.pm berechnet.
    • Morgen, Mittag, Nachmittag, Abend und Nacht (morning, noon, afternoon, evening, night) sind Events, die zu einer einstellbaren Zeit an jedem Tag ausgeführt werden.
  • housephase nimmt zwischen Morgen und Nacht den Wert Tageszeit an, sonst den Wert Nachtzeit.
  • housemode (bzw. Modus) besagt, dass sich das SmartHome in einem der drei Modi Normal, Party oder Abwesenheit befindet. Die Festsetzung des Modus bleibt bestehen, bis eine erneute manuelle Änderung durchgeführt wird. Ausnahme: Wenn das Attribut modeAuto gesetzt wird, kann sich der Modus auch bei bestimmten Events ändern. Dabei bedeutet:
    • Normal = normale Tages- und Wochen-Profile werden angewandt, keine speziellen Anordnungen.
    • Party = kann in Hilfsfunktionen verwendet werden, um spezielle Anordnungen betreffend die Sicherheit und den Übergang in den Nachtzustand zu realisieren.
      • Das Modul selbst sorgt dafür, dass im Party-Modus das SmartHome nicht in einen gesicherten Zustand versetzt werden kann.
    • Abwesenheit = kann in Hilfsfunktionen verwendet werden, um spezielle Anordnungen zu realisieren.
  • housestate (bzw. (Sicherheits-)Zustand) besagt, dass sich das SmartHome in einem der vier Zustände Nicht gesichert, Gesichert, Geschützt oder Überwacht befindet. Die Festsetzung des Modus bleibt bestehen, bis eine erneute manuelle Änderung durchgeführt wird. Ausnahme: Wenn das Attribut stateAuto gesetzt wird, kann sich der Zustand auch bei bestimmten Events ändern. Dabei bedeutet:
    • Nicht gesichert =
    • Gesichert =
    • Geschützt =
    • Überwacht =

Definition

Das YAAHM_Device - hier mit dem Namen YYY versehen - selbst wird über

define YYY YAAHM

definiert. Diese Definition legt einen versteckten Raum "ProfileRoom" an, welcher über einen Weblink im oberen Menü des Webinterfaces erreichbar ist.

  • Der Name dieses Raumes kann durch das Attribut hiddenRoom geändert werden.
  • Dieses Modul verwendet das globale Attribut language zur Bestimmung der Anzeigedaten (Standard: EN=english). Für deutsche Ausgabedaten muss in FHEM das Attribut
attr global language DE

gesetzt werden. Für dieses Wiki werden die deutschen Ausgabedaten verwendet.

Beim Anklicken des Begriffes Profile (eben der genannte Weblink) im oberen Menü des Webinterfaces wird dieser versteckte Raum angezeigt. Er enthält an erster Stelle das YAAHM-Device. Für die Konfiguration dieses Devices siehe den nächsten Abschnitt, für die Bedienung siehe den Abschnitt [Bedienung].

Konfiguration

Das YAAHM-Device kennt die folgenden Set-Befehle:

set YYY time <timeevent>

Erzeugt manuell </a>

                   Set the current house time (event), i.e. one of several values:
  • (after|before) midnight | [before|after] sunrise | [before|after] sunset are calculated from astronomical data (±offset). These values vary from day to day, only the offset can be specified in the daily profile.
  • morning | noon | afternoon | evening | night are fixed time events specified in the daily profile. The time phase between events morning and night is called daytime, the time phase between events night and morning is called nighttime
  • wakeup|sleep are time events specified in the weekly default profiles Wakeup and Sleep, i.e. the value may change from day to day.
  • <a name="yaahm_manualnext"> set <name> manualnext <timernumber> <time></a>
    set <name> manualnext <timername> <time></a>
    For the weekly timer identified by its number (starting at 0) or its name, set the next ring time manually. The time specification <time>must be in the format hh:mm or "off" If the time specification <time> is later than the current time, it will be used for today. If it is earlier than the current time, it will be used tomorrow.
  • <a name="yaahm_mode"> set <name> mode normal | party | absence </a>
    Set the current house mode, i.e. one of several values:
    • <a name="yaahm_state"> set <name> state unsecured | secured | protected | guarded </a>
      Set house (security) state, i.e. one of several values:
      • unsecured - Example: doors etc. are unlocked, windows may be open, movement alarm is disarmed, danger alarm is armed. Alarm is targeted at people present in the house.
      • secured - Example: doors etc. are locked, windows may not be open, movement alarm is disarmed, danger alarm is armed. Alarm is targeted at people present in the house.
      • protected - Example: doors etc. are locked, windows may not be open, movement alarm is armed, danger alarm is armed. Alarm is targeted at people present in the house.
      • guarded - Example: doors etc. are locked, windows may not be open, movement alarm is armed, danger alarm is armed. Alarm is targeted at absent people.
      House (security) states are valid until manual change. If the attribute stateAuto is set (see below), state will change automatically at certain times.
    • <a name="yaahm_createweekly"> set <name> createWeekly <string> </a>
      Create a new weekly profile <string>
    • <a name="yaahm_deleteweekly"> set <name> deleteWeekly <string> </a>
      Delete the weekly profile <string>
    • <a name="yaahm_lock"> set <name> locked|unlocked </a>
      Set the lockstate of the yaahm module to locked (i.e., yaahm setups may not be changed) resp. unlocked (i.e., yaahm setups may be changed>)

    Bedienung

    In diesem Abschnitt wird die Bedienung der Weboberfläche und damit die Konfiguration der Hausautomatik beschrieben. Um sie zu erreichen, klickt man auf den Begriff Profile im oberen Menü des Webinterfaces

    Aktion

    Action 2.png

    Zusammenfassung

    Summary 2.png

    Tages-Profil

    Daily 2.png

    Wochen-Profile

    Weekly 2.png

    Konfiguration

    Sperrung

    Das Reading lockstate muss den Wert unlocked haben, damit durch Anklicken der Start-Buttons für die Timer diese auch gestartet werden. Das ist in der Regel beim ersten Laden des Moduls nicht der Fall, hierzu muss also das Reading von Hand auf den richtigen Wert gesetzt werden. Dazu muss der Befehl set ... unlocked ausgeführt werden.