HC3 - Mittels LUA If else Abfrage für eine davon abhängige Aktion?

Hallo liebe Kollegen!

Gibt es die Möglichkeit im HC3 mittels Lua if/else folgendes zu realisieren:

Wenn ich einen Button einmal drücke soll der Status der Raffstore abgefragt werden. Sind sie ganz oben sollen sie ganz runter fahren. Sind sie aber irgendwo herunten, also nicht im Raffstore-Kasten, so sollen sie rauf in den Kasten fahren. Lässt sich das so machen?

Denn der Fibaro TheButton funktioniert überhaupt nicht wie er soll. Ich hätte ihn so programmiert dass bei 1x Klick die Raffstore ganz runter fahren, bei 2x Klick ganz rauf. Aber der TheButton reagiert die halbe Zeit nicht und führt dann meist eine Aktion bei einer ganz anderen Anzahl an Klicks aus.

Ich wäre sehr froh wenn ihr mir da helfen könntet, ich hätte mir das so vorgestellt:

If(1ClickTheButton) {
   $value = checkStatusRaffstore()
   if($value = !closed) {
      closeRaffstore()
  } else {
      openRaffstore()
  }
}

Bin ich da zu einfach gestrickt? Oder lässt sich das realisieren?

Guten Morgen
Ich habe zwar keine Raffstore aber ich habe so etwas schon mal für Lampen gebastelt.
Nur so als Anregung möglicherweise kannst du das ja für dich umbauen.

DECLARATIONS (Bedingungen/Trigger)
Taster (IDTaster)
Tastendruck 1
Licht ein und nach eingestelleter Zeit (Leuchtzeit) wieder aus
Tastendruck 2
Dauerlicht
Tastendruck 3
Licht aus
Bewegungsmelder (IDBewegung)
]]
{
conditions = { {
id = 425, – IDTaster hier eintragen
isTrigger = true,
operator = „==“,
property = „state“,
type = „device“,
value = true
} },
operator = „all“
}

AKTION
-[[
Globale Variable für jede Leuchtstelle einen einzelnen anlegen
ZaehlerLicht
]]
– Variablen vom User zu setzen
local IDTaster = 425 – ID des Tasters in der Declaration eintragen
local Leuchtzeit = 20000 – 20000 = 20 Sekunden
local IDLampe = 38 – ID der Lampe

fibaro.setGlobalVariable(„ZaehlerLicht“,tostring(fibaro.getGlobalVariable(„ZaehlerLicht“) + 1))

if tonumber(fibaro.getGlobalVariable(„ZaehlerLicht“)) == 1 then
print(„Tastendruck 1“)
fibaro.call(IDLampe, „turnOn“)
fibaro.setTimeout(Leuchtzeit, function() – in Sekunden
fibaro.call(IDLampe, „turnOff“)
fibaro.setGlobalVariable(„ZaehlerLicht“,tostring(0))
end)
elseif tonumber(fibaro.getGlobalVariable(„ZaehlerLicht“)) == 2 then
print(„Tastendruck 2“)
fibaro.call(IDLampe, „turnOn“)
elseif tonumber(fibaro.getGlobalVariable(„ZaehlerLicht“)) == 3 then
print(„Tastendruck 3“)
fibaro.call(IDLampe, „turnOff“)
fibaro.setGlobalVariable(„ZaehlerLicht“,tostring(0))
end

Grüße aus dem Sauerland
F.B.

Vielen Dank Frank.

Ich habe mich in LUA eingelesen, dann aber leider gesehen dass die Code-Editoren bzw. LUA-Code-Seite in HC3 ganz anders sind als in HC3. Allein schon den Header gibt es ja gar nicht mehr, sondern links Deklarationen und rechts Aktionen. Eine wirkliche Dokumentation zu LUA und HC3 gibt es leider nicht. Schön langsam kommt mir vor dass das HC3 irgend ein Beta-Zeug ist das total stiefmütterlich behandelt und um das sich überhaupt nicht gekümmert wird, bzw. dass es denen schei**egal ist wie die Leute damit klarkommen. Sehr traurig eigentlich, so etwas finde ich total unprofessionell und keine tolle Geschäftspraktik. :frowning:

Ja das mit der Doku ist schon ein Graus.
Nur in Englisch und wenig Beispiele um den Syntax oder die Befehle kennen zu lernen.
Dazu kommt noch das die Kumunitie nicht so aktiv ist wie beim homee.
Alles ist Neu und noch haben glaube ich nicht viele den HC3.
Ich versuche ja schon zu helfen aber so Fit bin ich nun auch nicht.
Je mehr das machen um so besser wird das.
Aber das dauert.
Gruß

Sehr schade. :frowning: