fibaro "the button" via Lua einbinden?

Hallo,

hat jemand von Euch den Fibaro Button bereits per Lua eingebunden?
Wie frage ich per Lua ab ob der Button 1x, 2x, 3x, etc. gedrückt wurde?

Irgendwie scheint der Button nicht über getSourceTrigger abgefragt werden zu können. Wenn ich eine Blockszene einrichte und dann in Lua umwandele wird dei Szene über %events getriggert und dann fragt eine Abfrage lediglich
if (true) then …

Grüße
Arno

--[[
%% properties
%% events
363 CentralSceneEvent
%% globals
--]]

local startSource = fibaro:getSourceTrigger()
action = json.encode(startSource)
local action_press2 = action:match('"keyAttribute":"Pressed2"')
local action_press3 = action:match('"keyAttribute":"Pressed3"')
local action_press4 = action:match('"keyAttribute":"Pressed4"')
local action_press5 = action:match('"keyAttribute":"Pressed5"')

if action_press2 ~= nil then
  fibaro:debug('Button 2x gedrückt')
elseif action_press3 ~= nil then
  fibaro:debug('Button 3x gedrückt')
elseif action_press4 ~= nil then
  fibaro:debug('Button 4x gedrückt')
elseif action_press5 ~= nil then
  fibaro:debug('Button 5x gedrückt')
else
  fibaro:debug('Button 1x gedrückt')
end

ID des Buttons muss im Header angepasst werden. Viel Spass :wink:

Gruß

Hallo Boomx,

Super vielen Dank - klappt! Funktioniert das nach demselben Schema auch wenn man in derselben Lua Szene mehrere Buttons abfragt? Mir ist zudem aufgefallen, dass nur zu 3x gedrückt erkannt wird. Kann dies daran liegen, dass 4x und 5x drücken bereits standardmäßig vorbelegt sind (aufwecken und inkludieren)?

Grüße
Arno

Klappt doch mit dem 4x und 5x drücken. Hatte die Parameter falsch eingestellt…

Grüße
Arno

Hallo Boomx

Ich habe dein Script von oben aus langer weile und um zu schauen ob es sich ähnlich verhält ausprobiert und funktioniert.
Habe aber eine frage.
Im debug Fenster zeigt es mir immer 2 einträge. Seit dem Update auf 4.111 ist mir das bei einem meiner script’s aufgefallen.
Mit Sicherheit habe ich nur einmal gedrückt und nachehr los gelassen.
Wieso durchläuft er zweimal das script? Weis man davon?

[DEBUG] 20:15:06: Button HeldDown
[DEBUG] 20:15:06: Button HeldDown
[DEBUG] 20:15:13: Button Released
[DEBUG] 20:15:14: Button Released

Vielen Dank im voraus.

Hi,

das liegt glaub ich nicht an der Firmware. Bei dir erkennt der Button ein Halten der Taste und sendet das so an das HC. Ebenso verhält es sich dann mit dem Loslassen. Diese Funktionen sind schwer in dem Skript abzubilden.

Gruß

Ja das wirt richtig erkant, das script habe ich angepasst und ist richtig was angezeigt wird. Was mich stört ist das die Meldung im debug bei einmal triggern 2x erscheint.
Gruß

Hallo
mit der neuen Softwareversion 4.112 die ich eben durchgeführt habe past es wieder.
Gruß

Hi,

da gab es auch folgenden, gefixten Bug mit der 4.111:

  • Central Scene Events are sent twice.

Gruß :slight_smile: