Hallo, ich möchte eine Blockszene im HC3 erstellen bei der ab einer Temperatur von 30,5 C die mobile Klimaanlage eingeschaltet wird. Wenn die Temperatur dann wieder absinkt, soll die Anlage aber wieder abgestellt werden. Dafür muss ich doch nicht zwei Blockszenen erstellen oder?
Ich mach das immer mit zwei Szenen und das funktioniert
Bei den Blockszenen wird das nicht anders gehen.
Blockszenen lassen immer nur eine Abfolge zu.
Bedingungen kann man mit und/oder verknüpfen aber bei den befehlen gibt es nur ein dann und ein und.
Möglicherweise wird da was kommen aber gehört habe ich davon auch im Englischen Fibaro-Forum noch nichts.
Versuche dich doch mal in der Programmiersprache LUA!
Da ist aber Einarbeitung nötig also nicht mal einfach so.
Aber keine Bange hier werden dir viele helfen.
Fange mal an Blockszenen in LUA zu übersetzen und bastel mal damit rum, dann bekommst du schon mal einen Eindruck davon was alles möglich ist.
Hier ein Beispiel wie das aussehen könnt :
Trigger
Temperatur > 30°
oder
Temperatur < 20°
Aktion
Wenn Temperatur > 30° dann Klimaanlage ein
Wenn Tempeartur < 20° dann Klimaanlage aus.
Das sieht aber anders aus als ich es hier beschrieben habe aber das ist auch nur zur Verdeutlichung wie das aussehen würde.
Grüße aus dem Sauerland
Frank
Hallo Frank, der neue Editor ist ja, wie du sagst, zwei geteilt.
Wie bekomme ich jetzt die Variablen auf die Aktionsseite übergeben, damit die If-Abfrage funktioniert?
LUA Aktionsseite
if ( ??? > 30.5)
then fibaro.call(135, ‚turnOn‘) --schaltet Klimaanlage an
else fibaro:call(135, ‚turnOff‘) --schaltet Klimaanlage aus
end
Und wenn ich sowieso abfrage, warum brauche ich die Declarationseite überhaupt?
Grüße aus der Eifel
Karol
Hallo Karol (Mal eine Dame das ist schön und selten)!
Also auf die linke Seite Declaration folgendes eintragen !
{
conditions = { {
id = 166,
isTrigger = true,
operator = „>“,
property = „value“,
type = „device“,
value = 30
}, {
id = 166,
isTrigger = true,
operator = „<“,
property = „value“,
type = „device“,
value = 20
} },
operator = „any“
}
id durch die Richtige id des Thermogebers ersetzen !
Auf die Rechte Seite Aktion
if fibaro.getValue(166,„value“) > 30.0 then
fibaro.call(711, ‚turnOn‘)
end
if fibaro.getValue(166,„value“) < 20.0 then
fibaro.call(711, ‚turnOff‘)
end
id wieder richtig eintragen nicht vergessen.
Du mußt da nichts übergeben !
Die Abfrage kleiner und Größer ist absichtlich damit eine Hyteresis da ist von 10°C sonst würde um die 30° das Klimagerät immer an und aus gehen.
Ich gebe dir mal Info Seiten zu LUA !
Leider fast alles in Englisch leider aber nicht zu ändern.
https://www.lua.org/manual/5.1/de/
https://manuals.fibaro.com/home-center-3-lua-scenes/
https://wiki.multitheftauto.com/wiki/DE/Lua_Tutorial#Syntax
https://manuals.fibaro.com/home-center-3-quick-apps/
http://www.activevb.de/tutorials/tut_lua/tut_lua.html
http://lua-users.org/wiki/TutorialDirectory
http://lua.lickert.net/
https://forum.fibaro.com/
Nur ein kleiner Auszug von sehr vielen Infoseiten.
im Unteren Fenster klicke mal auf die Symbole unten links, oberstes Symbol da bekommst du die Fehlermeldungen usw.
Grüße Frank
Hallo Frank,
Karol gibt es auch als männliche Variante, wie in meinem Fall. Hab die Szene mit den richtigen ID’s verändert, jedoch erhalte ich folgende Warnung:
[28.08.2020] [21:30:43] [ERROR] [SCENE49]: (load):1: unexpected symbol near ‚<\226>‘
Was ist damit gemeint?
Gibt es eigentlich ein richtiges Debug-Fenster, in dem die Zeilenfehler richtig angezeigt werden?
Danke nochmals … ich hab noch viel zu lernen
Gruß Karol
Guten Morgen Karol
Sorry für die Dame ich habe mich schon gefreut Hier mal eine Dame anzutreffen und wieder nix !
Scheint eine Echte Männerdomaine zu sein.
So nun zu deinem Problem.
Die Fehlermeldung besagt das in der Scene 49 in der Zeile 1 nahe an „,“ ein Symbol auftaucht das er (der LUA Interpreter) nicht versteht.
Der Fehler hat die Bezeichnung 226.
Schau mal was in der Zeile zu finden ist.
Ich hatte das auch schon mal das man nichts sehen konnte und bei einer Neueingabe alles genau so aussah aber funktionierte (Unsichtbares Steuerzeichen).
Ich habs, da sind beim Kopieren Zeichen vertauscht worden.
if fibaro.getValue(116,"value") > 30.0 then
fibaro.call(711, "turnOn")
end
if fibaro.getValue(166,"value") < 20.0 then
fibaro.call(711, "turnOff")
end
166 und 711 durch die richtigen ID´s ersetzen !
Sorry mein Fehler ich habe es zwar probiert aber nach dem Kopieren nicht kontrolliert.
Du siehst jedes Zeichen ist wichtig und muss richtig gesetzt werden.
Das hier :
ist die Zeile in der die print, debug und Fehler gemeldet werden, sonst gibt es nichts.
Reicht auch das wirst du noch feststellen.
Gruss Frank
Guten Morgen Frank. Noch eine Frage, wenn man die Blockszenen in LUA-Szenen wandelt, dann wird in der Operator-Zeile (links) all ein getragen. Du hast Any angeben. Was ist da der Unterschied? Ist da der Rechensatz kleiner oder beschränkt? Gruß Karol
Auch einen Schönen Guten Morgen, blauer Himmel und Sonnenschein was will man mehr !
Schau was das Handbuch dazu sagt :
Im Original
mit Google übersetzt (Im Edge Brouser, rechte Moustaste dann auf Übersetzen gehen)
Hier zu finden
https://manuals.fibaro.com/home-center-3-lua-scenes/
Das bezieht sich nur auf die Trigger- und nicht auf die Aktionseite.
Ja wenn du noch nie Berührung mit Programmieren gehabt hast, so hast du dir eine Aufgabe gesetzt !
Macht aber Spas wenn es auch ab und an sehr Frustrierend sein kann, Fehler zu finden oder das was man machen möchte lässt sich nicht realisieren oder ist noch zu kompliziert für das was man weis.
Aber nicht aufgeben alles kann man lernen wenn man nur will !
Du hast nichts zu verlieren ausgenommen Zeit denn die wirst du benötigen.
Wenn was funktioniert ist das schon sehr befriedigend und hebt das Selbstwertgefühl.
Einige hier sind keine Programmierer und haben es sich selbst beigebracht.
Also NICHT AUFGEBEN !
Schönen Tag noch aus dem Sauerland in die Eifel gewünscht !
Frank