Hilfe bei LUA Script "Gastmodus" notwendig - unerklärliche Reaktion

Hallo an alle,

ich habe heute mal wieder an einem kleinem LUA Skript gearbeitet und es funktioniert im Prinzip auch alles, aber es werden auch Aktoren angesprochen, die eigentlich nicht angesprochen werden sollten und irgendwie stehe ich auf dem Schlauch…

–[[
%% autostart
%% properties
%% weather
%% events
%% globals
Gastmodus
–]]

local sourceTrigger = fibaro:getSourceTrigger();
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (( fibaro:getGlobalValue(“Gastmodus”) == “Aus” )) and
(startSource[“type”] == “other”)
then
fibaro:setGlobal(“Gastmodus”, “An”);
fibaro:call(410, “sendDefinedPushNotification”, “412”);
fibaro:call(291, “sendDefinedPushNotification”, “412”);
else
fibaro:setGlobal(“Gastmodus”, “Aus”);
fibaro:call(410, “sendDefinedPushNotification”, “411”);
fibaro:call(291, “sendDefinedPushNotification”, “411”);
end

Ein paar Erläuterungen
Ziel der Szene ist es über die IOS App schnell die Variable “Gastmodus” auf An bzw. aus zu setzen und eine Push Benachrichtung mit dem Text “Gastmodus aktiviert” bzw. “Gastmodus deaktivert” zu erzeugen.
Ziel des Gastmodus ist, dass bestimmte Jalousien bei uns im Haus nicht automatisiert geöffnet/geschlossen werden - falls z.B. die Gäste länger schlafen, etc.

Die Variable Gastmodus wird in anderen Szenen mit and Verknüpfungen ausgelesen und je nachdem der Gastmodus an oder aus ist, werden die Raffstores auch entsprechend angesprochen.

Bisher habe ich die Variable immer manuell umgestellt, was super ging. Jetzt wollte ich eine kleine Szene dafür bauen und um das ganze schnell regeln zu können.

Problem:
Die Variable wird wunschgemäß umgestellt, jedoch:

  1. Die Jalousienen gehen hoch bzw. mal wieder runter
  2. Die Push Benachrichtigung taucht nicht auf dem IOS Gerät auf, bei dem die Szene gestartet wird. => falls das IOS bedingt nicht geht - gibt es eine andere Alternative ein User Feedback für die IOS IPad App anzeigen zu lassen?

Vielen Dank im Voraus für eure Hilfe.

Hi,

Warum steuerst du die Var Gast nicht über ein VD?
Mit zB zwei Buttons?

Hast du die Var Gast bei deinen anderen Szenen als Trigger gesetzt?

Viele Grüße Hoggle

Ich habe einige Szenen die wie folgt aufgebaut sind:

if (sourceTrigger[“type”] == “autostart”) then
tempFunc()
else

local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
( (currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6) )
and
( fibaro:getGlobalValue(“Gastmodus”) == “Aus” )
and
( fibaro:getGlobalValue(“Sturmwarnstufe”) == “0” )
and
startSource[“type”] == “other”
)
then

Ziel ist es die Szene auch über einen manuellen Start zu aktivieren, auch wenn die Bedingungen nicht komplett eingehalten wurden => die Bedingungen im der Temp Func sind mit Uhrzeiten hinterlegt. Hier soll nun lediglich nach dem Tag gefragt werden und dann entschieden werden, die die Jalousien anzusteuern sind.

Du meinst mit VD = Virtual Device?

War mir nicht bekannt dass das geht - mangels wissen vermutlich. Gibt es hier im Forum schon fertige Buttons zum Download?

Kann ich den Button dann auch auf die Home Seite des IOS IPad UI legen?

Viele Grüße

Vielleicht hilft Dir das weiter, wenn Du Standard Globale Var über ein VD ändern möchtest:

Oder:

https://manuals.fibaro.com/knowledge-base-browse/creating-virtual-devices/

https://manuals.fibaro.com/knowledge-base-browse/virtual-devices-faq/

Danke für den Tipp mit dem VD - ich hab mir gerade ein simples Device mit 2 Buttons (An und Aus) gebaut - funktioniert auch super. Aber leider geht es nicht auf dem Homescreen der IOS App. Also muss ich es wohl doch über Szene bauen.

Was aber auch hier das Problem ist, dass auf einmal sämtliche Szenen mit meinen Jalousien gestartet werden, wenn ich den Gastmodus verändere. Ich habe jetzt schon die Anzahl der Instanzen auf 1 gesetzt, um das übergangsweise zu lösen.

Kann mir jemand erklären warum die Szenen starten, obwohl “Gastmodus” ja eigentlich gar kein “Trigger” lt. Code sein sollte, oder verstehe ich da was falsch?

Ziel ist es dass ich bestimmte Szenen auch manuell starten kann, auch wenn die Bedingungen nicht erfüllt sind. Z.B. starte Morgenmodus (Wochentag) und öffne dazu alle Jalousien - idealerweise alles mit einer Szene.

Ich habe jetzt auch schon den Starttype “other” überall rausgenommen - ich dachte immer, der wäre notwendig eine Szene manuell zu starten, aber anscheinend war ich hier auf dem Holzweg.

Hoffe mir kann hier jemand helfen…

Hi Christian

Du triggert aber mit dem Gastmodus deine Szene und gleichzeitig veränderst du den Wert in der selben Szene. Also die Szene triggert sich selbst. Das schaut nach Fehler aus, ohne jetzt genau zu wissen was passieren soll.
Was bedeutet eigentlich der Gastmodus? Hab ich schon mehrfach gelesen…

Ich hab gerade gesehen, dass tatsächlich die Variable getriggert wurde. Habe es aus dem Header rausgenommen. Ist mir bisher noch nicht aufgefallen, da ich die Variable bisher immer manuell geändert hatte. Das hatte dann jedoch nie zur Folge, dass die Szenen gestartet sind. Wenn man die Variable mit einer Szene verändert, so wird sie dann aber auch getriggert.

Ich musste allerdings noch zusätzlich das HC2 neustarten und jetzt geht’s, danke für die Tipps.

Der Gastmodus reduziert/blockiert die Automatisierung in bestimmten Haus Bereichen auf ein Minimum, um dem Gast die Möglichkeit zu geben möglichst alles selbst so zu justieren, wie es ihm gefällt. (Jalousien, Licht, Temperaturen, etc.)

Ah ok. Das hatte ich irgendwie schon vermutet. Danke.