Szenarien

Werkzeuge → Szenarien

Raccourcis clavier/.souris</.small>

Die Szenarien sind ein echtes Gehirn der Hausautomation und ermöglichen es, auf eine Art und Weise mit der realen Welt zu interagieren intelligent.

Gestion

Dort finden Sie die Liste der Szenarien Ihres Jeedom sowie Funktionen, um diese am besten zu verwalten :

Meine Szenarien

Sie finden in diesem Teil Liste der Szenarien dass du erstellt hast. Sie werden nach ihren klassifiziert Band, möglicherweise für jeden von ihnen definiert. Jedes Szenario wird mit seinem angezeigt Name und seine übergeordnetes Objekt. DER ausgegraute Szenarien sind diejenigen, die deaktiviert sind.

Beratung

Sie können ein Szenario öffnen, indem Sie dies tun :

  • Klicken Sie auf eine davon.
  • Strg Clic oder Clic Center, um es in einem neuen Browser-Tab zu öffnen.

Sie haben eine Suchmaschine, um die Anzeige von Szenarien zu filtern. Die Escape-Taste bricht die Suche ab. Rechts neben dem Suchfeld befinden sich drei Schaltflächen, die an mehreren Stellen in Jeedom gefunden wurden :

Sobald Sie ein Szenario konfiguriert haben, haben Sie ein Kontextmenü mit der rechten Maustaste auf die Registerkarten des Szenarios. Sie können auch ein Strg-Klick- oder Klick-Center verwenden, um ein anderes Szenario direkt in einer neuen Browser-Registerkarte zu öffnen.

Schaffung | Szenario bearbeiten

Nach dem Klicken auf Hinzufügen, Sie müssen den Namen Ihres Szenarios auswählen. Sie werden dann zur Seite mit den allgemeinen Parametern weitergeleitet. Davor gibt es oben auf der Seite einige nützliche Funktionen zum Verwalten dieses Szenarios :

Tipps

Zwei Tools sind für Sie auch beim Einrichten von Szenarien von unschätzbarem Wert : > - Die Variablen, sichtbar in Werkzeuge → Variablen > - Der Ausdruckstester, auf den über zugegriffen werden kann Werkzeuge → Ausdruckstester

A Strg Klicken Sie auf die Schaltfläche Ausführen Mit dieser Option können Sie das Szenarioprotokoll direkt speichern, ausführen und anzeigen (wenn die Protokollebene nicht Keine ist).

Registerkarte "Allgemein"

In der Registerkarte General, Wir finden die Hauptparameter des Szenarios :

WICHTIG

Der Mehrfachstart funktioniert pro Sekunde, dh wenn Sie zwei Starts in derselben Sekunde haben, ohne das Kontrollkästchen aktiviert zu haben, gibt es immer noch zwei Starts des Szenarios (obwohl dies nicht der Fall sein sollte)). Ebenso können bei mehreren Starts in derselben Sekunde einige Starts die Tags verlieren. Fazit Es ist ABSOLUT notwendig, mehrere Starts in derselben Sekunde zu vermeiden.

Beratung

Bedingungen können jetzt im ausgelösten Modus eingegeben werden. Zum Beispiel : #[Garage][Open Garage][Ouverture]# == 1 Aufmerksamkeit : Sie können maximal 28 Trigger / Programmierungen für ein Szenario haben.

Tippmodus programmiert

Der geplante Modus verwendet die Syntax Cron. Sie können beispielsweise alle 20 Minuten ein Szenario mit „ ausführen*/20 * * * *, oder um 5 Uhr morgens, um eine Vielzahl von Dingen für den Tag zu erledigen 0 5 * * *. DER ? Rechts neben einem Programm können Sie es einstellen, ohne Spezialist für Cron-Syntax zu sein. Es ist auch möglich, eine Startzeit in der Form „Gi“ (Stunde ohne anfängliche Null und Minute) einzugeben, beispielsweise für „09h15“ => „915“ oder für „23h40“ => „2340“). Diese Zeit kann beispielsweise das Ergebnis einer Berechnung (mittels eines Befehls oder eines Tags) sein : #sunset# + 10 für einen Start 10 Minuten nach Sonnenuntergang. Beachten Sie, dass Sie für einen Start 1h30 nach Sonnenuntergang „“ eingeben müssen#sunset# + 130. Beachten Sie, dass jeedom Ihnen bei Verwendung einer anderen Syntax als einem Cron nicht die Daten der vorherigen oder nächsten Starts anzeigen kann.

Registerkarte "Szenario"

Hier erstellen Sie Ihr Szenario. Nach dem Erstellen des Szenarios ist sein Inhalt leer, sodass er … nichts tut. Du musst mit anfangen Block hinzufügen, mit dem Knopf rechts. Sobald ein Block erstellt wurde, können Sie einen weiteren hinzufügen Block oder ein Aktion.

Um die Blöcke im Szenario einfacher zu gestalten und nicht ständig neu anordnen zu müssen, wird nach dem Feld, in dem sich der Mauszeiger befindet, ein Block hinzugefügt. Wenn Sie beispielsweise zehn Blöcke haben und auf die IF-Bedingung des ersten Blocks klicken, wird der hinzugefügte Block nach diesem Block auf derselben Ebene hinzugefügt. Wenn kein Feld aktiv ist, wird es am Ende des Szenarios hinzugefügt.

Beratung

Bei Bedingungen und Aktionen ist es besser, einfache Anführungszeichen (‘) anstelle von doppelten zu bevorzugen (“).

Beratung

Mit einer Strg-Umschalttaste Z oder einer Strg-Umschalttaste Y können Sie dies tun’Stornieren oder von wiederholen eine Modifikation (Hinzufügen einer Aktion, Blockieren)…).

Blöcke

Hier sind die verschiedenen Arten von Blöcken verfügbar :

Jeder Block hat seine Optionen, um besser damit umzugehen :

Wenn / Dann / Sonst blockiert | Schleife | In | A

Für die Bedingungen versucht Jeedom, es möglich zu machen, sie so viel wie möglich in natürlicher Sprache zu schreiben und dabei flexibel zu bleiben.

Verwenden Sie [] NICHT in Bedingungstests, nur Klammern () sind möglich.

Rechts neben diesem Blocktyp stehen drei Schaltflächen zur Auswahl eines zu testenden Elements zur Verfügung :

Notiz

Bei Blöcken vom Typ If / Then / Andernfalls können kreisförmige Pfeile links neben dem Bedingungsfeld die Wiederholung von Aktionen aktivieren oder nicht, wenn die Auswertung der Bedingung das gleiche Ergebnis wie bei der vorherigen Auswertung ergibt. IF-Ausdruck != 0 entspricht IF-Ausdruck und IF-Ausdruck == 0 entspricht IF-nicht-Ausdruck

Beratung

Es gibt eine Liste von Tags, die den Zugriff auf Variablen aus dem einen oder anderen Szenario oder nach Uhrzeit, Datum, Zufallszahl usw. ermöglichen. Siehe unten die Kapitel zu Befehlen und Tags.

Sobald die Bedingung erfüllt ist, müssen Sie die Schaltfläche "Hinzufügen" auf der linken Seite verwenden, um eine neue hinzuzufügen Block oder ein Aktion im aktuellen Block.

Blockcode

Mit dem Code-Block können Sie PHP-Code ausführen. Es ist daher sehr mächtig, erfordert aber gute Kenntnisse der PHP-Sprache.

Zugang zu Steuerungen (Sensoren und Aktoren))

Zugriff auf Protokolle

Zugriff auf Szenarien

Beratung

Hinzufügen einer Suchfunktion im Codeblock : Zur Recherche : Strg + F dann Enter, Nächstes Ergebnis : Strg + G, Vorheriges Ergebnis : Strg + Umschalt + G

Szenarien : Kleine Codes mit Freunden

Kommentarblock

Der Kommentarblock verhält sich anders, wenn er ausgeblendet ist. Die Schaltflächen auf der linken Seite sowie der Titel des Blocks verschwinden und werden beim Schweben wieder angezeigt. Ebenso wird die erste Zeile des Kommentars fett gedruckt. Dadurch kann dieser Block als rein visuelle Trennung innerhalb des Szenarios verwendet werden.

Aktionen

Zu Blöcken hinzugefügte Aktionen haben mehrere Optionen :

Beratung

Je nach gewähltem Befehl können unterschiedliche Zusatzfelder angezeigt werden.

Mögliche Substitutionen

Auslöser

Es gibt bestimmte Auslöser (außer denen, die durch Befehle bereitgestellt werden)) :

Sie können ein Szenario auch über die beschriebene HTTP-API auslösen Hier.

Vergleichsoperatoren und Verknüpfungen zwischen Bedingungen

Sie können eines der folgenden Symbole für Vergleiche unter Bedingungen verwenden :

Sie können jeden Vergleich mit den folgenden Operatoren kombinieren :

Unabhängig davon, ob Sie Vergleiche mit unterschiedlichen Geräten oder mit demselben Gerät kombinieren, ist es immer notwendig, das Gerät anzugeben. [Salle de bain][Hydrometrie][température] >= 18 && [Salle de bain][Hydrometrie][température] <= 22

Tags

Ein Tag wird während der Ausführung des Szenarios durch seinen Wert ersetzt. Sie können die folgenden Tags verwenden :

Beratung

Verwenden Sie die Funktion Date (), um die führenden Nullen anzuzeigen. Siehe Hier.

Sie haben auch die folgenden zusätzlichen Tags, wenn Ihr Szenario durch eine Interaktion ausgelöst wurde :

WICHTIG

Wenn ein Szenario durch eine Interaktion ausgelöst wird, wird es notwendigerweise im schnellen Modus ausgeführt. Also im Interaktionsthread und nicht in einem separaten Thread.

Berechnungsfunktionen

Für das Gerät stehen verschiedene Funktionen zur Verfügung :

Die Perioden und Intervalle dieser Funktionen können auch mit verwendet werden PHP-Ausdrücke wie zum Beispiel :

Hier finden Sie praktische Beispiele zum Verständnis der von diesen verschiedenen Funktionen zurückgegebenen Werte :

Sockel mit Werten : 000 (für 10 Minuten) 11 (für 1 Stunde) 000 (für 10 Minuten))
average(prise,période) Gibt den Durchschnitt von 0 und 1 zurück (can
  durch Umfragen beeinflusst werden)
averageBetween(#[Salle de bain][Hydrometrie][Humidité]#,2015-01-01 00:00:00,2015-01-15 00:00:00) Gibt die durchschnittliche Bestellung zwischen dem 1. Januar 2015 und dem 15. Januar 2015 zurück
min(prise,période) Gibt 0 zurück : Der Stecker wurde während des Zeitraums gelöscht
minBetween(#[Salle de bain][Hydrometrie][Humidité]#,2015-01-01 00:00:00,2015-01-15 00:00:00) Gibt die Mindestbestellmenge zwischen dem 1. Januar 2015 und dem 15. Januar 2015 zurück
max(prise,période) Rückgabe 1 : Der Stecker war in der Zeit gut beleuchtet
maxBetween(#[Salle de bain][Hydrometrie][Humidité]#,2015-01-01 00:00:00,2015-01-15 00:00:00) Gibt das Maximum der Bestellung zwischen dem 1. Januar 2015 und dem 15. Januar 2015 zurück
duration(prise,1,période) Gibt 60 zurück : Der Stecker war in diesem Zeitraum 60 Minuten lang eingeschaltet (bei 1)
durationBetween(#[Salon][Prise][Etat]#,0,Last Monday,Now) Gibt die Dauer in Minuten zurück, in der die Steckdose seit dem letzten Montag ausgeschaltet war.
statistics(prise,count,période) Rückgabe 8 : In diesem Zeitraum gab es 8 Eskalationen
tendance(prise,période,0.1) Gibt -1 zurück : Abwärtstrend
stateDuration(prise) Gibt 600 zurück : Der Stecker befindet sich seit 600 Sekunden (10 Minuten) in seinem aktuellen Zustand)
lastChangeStateDuration(prise,0) Gibt 600 zurück : Die Steckdose ging vor 600 Sekunden (10 Minuten) zum letzten Mal aus (auf 0 ändern))
lastChangeStateDuration(prise,1) Gibt 4200 zurück : Die Steckdose wurde vor 4200 Sekunden (1h10) zum letzten Mal eingeschaltet (auf 1 umgeschaltet))
lastStateDuration(prise,0) Gibt 600 zurück : Die Steckdose war 600 Sekunden (10 Minuten) ausgeschaltet)
lastStateDuration(prise,1) Gibt 3600 zurück : Die Steckdose wurde zuletzt für 3600 Sekunden (1 Stunde) eingeschaltet)
stateChanges(prise,période) Rückgabe 3 : Der Socket hat während des Zeitraums dreimal den Status geändert (wenn der Befehl info vom binären Typ ist)
stateChanges(prise,0,période) Rückgabe 2 : Die Steckdose ist während des Zeitraums zweimal erloschen (auf 0)
stateChanges(prise,1,période) Rückgabe 1 : Der Stecker leuchtet während des Zeitraums einmal (auf 1 ändern)
lastBetween(#[Salle de bain][Hydrometrie][Température]#,Yesterday,Today) Gibt die zuletzt gestern aufgezeichnete Temperatur zurück.
variable(plop,10) Gibt den Wert der Variablen plop oder 10 zurück, wenn sie leer ist oder nicht existiert
scenario(#[Salle de bain][Lumière][Auto]#) Gibt 1 in Bearbeitung zurück, 0, wenn gestoppt, und -1, wenn deaktiviert, -2, wenn das Szenario nicht existiert, und -3, wenn der Status nicht konsistent ist
lastScenarioExecution(#[Salle de bain][Lumière][Auto]#) Gibt 300 zurück, wenn das Szenario vor 5 Minuten zum letzten Mal gestartet wurde
collectDate(#[Salle de bain][Hydrometrie][Humidité]#) Rückgabe 2021-02-14 17:50:12
valueDate(#[Salle de bain][Hydrometrie][Humidité]#) Rückgabe 2021-02-14 17:45:12
eqEnable(#[Aucun][Basilique]#) Gibt -2 zurück, wenn das Gerät nicht gefunden wird, 1, wenn das Gerät aktiv ist, und 0, wenn es inaktiv ist
tag(montag,toto) Gibt den Wert von “montag” zurück, falls vorhanden, andernfalls wird der Wert “toto” zurückgegeben”
name(eqLogic,#[Salle de bain][Hydrometrie][Humidité]#) Gibt Hydrometrie zurück

Mathematische Funktionen

Eine generische Funktions-Toolbox kann auch zum Durchführen von Konvertierungen oder Berechnungen verwendet werden :

Und praktische Beispiele :

Funktionsbeispiel Zurückgegebenes Ergebnis
randText(il fait #[salon][oeil][température]#;La température est de #[salon][oeil][température]#;Actuellement on a #[salon][oeil][température]#) Die Funktion gibt bei jeder Ausführung zufällig einen dieser Texte zurück.
randomColor(40,60) Gibt eine zufällige Farbe nahe Grün zurück.
round(#[Salle de bain][Hydrometrie][Humidité]# /. 10) Gibt 9 zurück, wenn der Feuchtigkeitsprozentsatz und 85
odd(3) Rückgabe 1
median(15,25,20) Rückgabe 20
avg(10,15,18) Rückgabe 14.3
time_op(#time#, -90) Wenn es 16:50 Uhr ist, kehren Sie zurück : 1 650-1 130 = 1520
formatTime(1650) Rückgabe 16:50 Uhr
floor(130/.60) Gibt 2 zurück (Minuten bei 130 s oder Stunden bei 130 m)
convertDuration(3600) Gibt 1h 0min 0s zurück
convertDuration(duration(#[Chauffage][Module chaudière][Etat]#,1, first day of this month)*60) Gibt die Zündzeit in Tagen / Stunden / Minuten der Übergangszeit auf Zustand 1 des Moduls seit dem 1. Tag des Monats zurück

Diverse Funktionen

Spezifische Bestellungen

Zusätzlich zu den Befehlen für die Hausautomation haben Sie Zugriff auf die folgenden Aktionen :

Szenariovorlage

Mit dieser Funktion können Sie ein Szenario in eine Vorlage umwandeln, um es beispielsweise auf ein anderes Jeedom anzuwenden.

Durch Klicken auf die Schaltfläche Vorlage Oben auf der Seite öffnen Sie das Vorlagenverwaltungsfenster.

Von dort haben Sie die Möglichkeit :

Durch Klicken auf eine Vorlage können Sie :

Unten haben Sie den Teil, um Ihre Vorlage auf das aktuelle Szenario anzuwenden.

Da die Befehle von einem Jeedom zum anderen oder von einer Installation zur anderen unterschiedlich sein können, bittet Jeedom Sie um die Entsprechung der Befehle zwischen den bei der Erstellung der Vorlage vorhandenen und den zu Hause vorhandenen. Sie müssen nur die Korrespondenz der Bestellungen ausfüllen, um sich zu bewerben.

Hinzufügung der PHP-Funktion

WICHTIG

Das Hinzufügen der PHP-Funktion ist fortgeschrittenen Benutzern vorbehalten. Der kleinste Fehler kann für Ihr Jeedom fatal sein.

Einrichten

Gehen Sie zur Jeedom-Konfiguration, dann zu OS / DB und starten Sie den Datei-Editor.

Gehen Sie in den Datenordner und dann in PHP und klicken Sie auf die Datei user.function.class.php.

Es ist in diesem Klasse Damit Sie Ihre Funktionen hinzufügen können, finden Sie dort ein Beispiel für eine Grundfunktion.

WICHTIG

Wenn Sie Bedenken haben, können Sie jederzeit zur Originaldatei zurückkehren, indem Sie den Inhalt von kopieren user.function.class.sample.php In user.function.class.php

Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. Si vous continuez à utiliser ce site, nous supposerons que vous en êtes satisfait.