Jump to content

Quick Apps

The category contains Quick Apps submitted by users.
Downloading and submission terms have to be accepted.

Quick Apps have to be described properly, screen shots are optional.
Support topics are created automatically here Quick Apps

Report topics and files that are no longer supported by authors.
All the files submitted have to be approved by administrators.

4 files

  1. HC3: All-in-One QA

    AOQ can control any other Fibaro system HC3, HC2, HCL (master/slave concept) Before migrating your devices to HC3, AOQ could be the solution to make it smooth and simple.
    If you've found yourself with too many Lua and Block scenes and need more automation, this QA is the right solution for you.
    The QA is designated to control and monitor your home system. QA automatically identifies the type of elements in the system. (Z-wave device, Nice, QA device, scene, automatic scene (Block and Lua). Any valid Z-wave,Nice and QA devices property and their values could be monitored, controlled and execute commands accordingly
    AOQ supports custom events, active profile setup and controls alarm zones while every breached zone or sensor in the zone could be identified and execute actions accordingly.
     
    The first time you use All-in-One QA, jM {} hash table must be defined. Each line in the table has two mandatory and two optional fields.
    jM={ {      15,              "137|630",       {timeSlot={“12:00~18:00”},state="value=true",     trueAct={“|230|”, “turnOn”,””}}}   }
               Time span      IDs list                                   Criteria & Rules                                               Action tables
     
    Time span   a period of time (in minutes) within which some activity must be performed by device or scene. Additional two options could be defined:
    time span = 0   defines the line as activity only. time span = ‘negative number’   line is suspended (remarked) IDs list   given list of devices/scenes/QA/global/keywords. Use under score for scene IDs. (“_45”).
    global variable – add an ampersand sign & to System, QA and Local variable names: &varName keyword – add a dollar sign $ to keyword variable: $name Note: To use & and $ characters for other purpose , add % after the character.
    Criteria & Rules  (optional) property, state, time slot, active rules…
    Action tables      (optional) tables of commands to be executed.
     
    To avoid using device IDs  jS2n{} array could be defined. If device ID changed because of re-inclusion it requires to change ID in one place only.
    for example:
    jS2n= {boiler=137, dryer=630, light=230} device name must be included within back apostrophe sign in jM{} hash table.
    Now jM{} hash table above will look like that:
    jM={ { 15,  "`boiler`|`dryer`",{timeSlot={“12:00~18:00”},state="value=true",     trueAct={“`light`”, “turnOn”,””}}}   }
     
    1. Monitor option
    Some time the scenes or QA devices are stuck w/o any understandable reason. Some devices suddenly stop to send reports or don’t change state. In most of the cases we don’t aware about the problem till something goes very wrong.  The monitor option will send an alert in case of defined states are timed out.
    Example to set watchdog timer for devices, scenes, QA devices, global variables and keywords
    jM={     
    {8, "_17|_545",{timeSlot=”10:00~22:00”}},  -- within every 8 min.  between 10am to 10pm, scenes 17, 545 must be active. If not alert sent.
    {3,"134|618|_556|_588"},  -- within  every 3 min. devices 134,618 and scenes 556,588 must be active. If not auto-alert sent.
    {10,”132|145”,{property=”power”}}, -- within every 10 min. devices in list must to report new power value. If not auto-alert sent.
    {30,”470”,{state=”power>10”}}, -- if device’s power greater than 10 over 30 minutes, auto-alert sent.
    {20,”&HomeStatus|$iDoor”}} -- if global variable HomeStatus or keyword iDoor didn’t change within 20 min., auto-alert sent.
     
    2. Control option
    Execute actions based on device state, status or value changes. QA supports option like on-line calculations, time modifications, IF THEN and WHEN THEN statements and other features for fully home automation just with one QA (which even doesn’t trigger by the system). 
    Following action tables are available:
    trueAct{} - executed when state status is true. falseAct{} - executed when state status is false. trigAct{} - executed on every value change at any mode, true or false timeoutAct{} - Disables auto-alert notification and executed when elapsed time exceeds time span. Time span counting restarted after state status back to true. timeLoopAct{} - Disables auto-alert notification and executed when elapsed time exceeds time span. Time counting restarted immediately. InitAct{} - Set of specific actions to be executed on startup only. errAct{} - Set of specific actions to be executed if verification failed. okAct{} - Set of specific actions to be executed if verification succeded.  
    Here is an example of most common scenario, to turn on light when motion sensor breached and turn off light when sensor back to safe after few minutes (3 min. in this example)
    jM={0,”`mSensor`”,{state=”value=true”,trueAct={“`lightSw`”,”turnOn”,””},falseAct={“`lightSw`”,”turnOff”,”180”}}}
    Since no need to turn on light during the day, timeslot could be defined
    jM={0,”`mSensor`”,{state=”value=true”,timeslot=”18:00~07:00”,trueAct={“`lightSw`”,”turnOn”,””},falseAct={“`lightSw`”,”turnOff”,”180”}}}
    But now could be an issue to turn off the light, if sensor breached few seconds before end of timeslot and back to safe is out of defined time slot, falseAct{} won’t be executed. In this case, turning light off action should be part of trueAct{} table
    jM={0,"`mSensor`”,{state=”value=true”,timeslot=”18:00~07:00”,trueAct={{“`lightSw`”,”turnOn”,””},{“`lightSw`”,”turnOff”,”180”}}}
    Z-wave devices, global variables and keywords could be defined at several lines (no limit). Scene could be defined one time only.
    For more details please download
    AOQ Advanced User’s Guide - complete instructions and information
    AOQ Quick Guide – syntax format reference and examples
    AOQ HC-WebEye Viewer – AOQ browser viewer guide
     
     QA Advantages:
     
    Debug window view:
    On the first run follow information will be displayed at debugger 
    During normal operation every executed command showed at debugger.
    following data shown for every command:
    jM line number: device name: state value and status by color (green - true  |  pink - false); command executed.
    The debug information has special tag "AOQ<QA-ID>" and "TRACE" / "WARNING" / "ERROR" type for filtering.
    AOQ table preview:
     
    Table's header includes:
    startup time stamp, script current version, scene Name, LED as displayed at HC3 front panel, sunrise/set hours. Current home mode (@home or @vacation) System's current profile mode. Elapsed time Total Z-wave events Min, average and max Z-traffic Table columns are:
    Type – device type (Z.Device, G. Variable, Keyword, QA, luaScene, blockScene). ID: Description – room name: device ID: device name. Z-wave devices sorted by rooms, then by device ID. Battery capable device have green background according to current battery level. If device included in alarm circle icon appears before name. green circle - armed, red circle - breached Value – items current value. Criteria – state of evaluation to determine true or false status. If formula included, the state displayed on green background. in State– elapsed time since last status change. Alert – by default this column isn’t shown. If any devices have been alerted the column will be shown. Please notice that in some cases the device could be alerted, but after while it could back to normal activity. For example, if motion sensor is breached over specified time-span, alert notification will be sent. But after a while the sensor back to safe and alert is canceled, “back to normal” notification will be sent.  At header of alert column shown current number of alerts Time Span – time span to monitor state of items. If time span set to 0, then this line acts as activity, no timeout alerts reported. If time span set to negative number, this line is suspended and no actions executed. Time Slot – Time slot range to execute related actions. Timestamp to execute specific action at specific time. Active (in range) time slot shown in green fonts. trueAct – list of actions to execute when the state is true. falseAct – list of actions to execute when the state is true. trigAct – list of actions when the value changes timeoutAct – list of actions to execute when time-span reached.  Timer will be restarted when device state changed again to true. timeLoopAct – list of actions to execute when time-span reached.  Timer restarted immediately after actions table executions. initAct – list of actions to execute on QA startup. Active Rules – non default defined rules (initOnStartup, Vacation, timeSpanOn, onClock, lineState, trigAll) jM{#} - line number in jM{} hash table jM{ hash table line} – shows device location in jM{} hash table.  
    At the bottom of the table two execution lines show:
    list of up to 60 last executed actions (in order of execution) are displayed. (like CNN news line). list of delayed commands to be executed (and time left to execute)  
    All global variables, their values and last modification time shows below the table.
     

    1,029 downloads

       (1 review)

    6 comments

    Updated

  2. ChildrenOfHue

    It's a "simple" QA that relies on the QuickAppChildren to realise the Hue devices.
    This means that the user interfaces are limited to what are supported by the child app classes.
    Supported Hue device classes:
     
    ZLLSwitch.
    Hue switch with 4 buttons. Creates centralSceneEvents similar to a Fibaro keyFob (com.fibaro.remoteController)
    The interpretation is
         keyId = hueKeyValue // 1000
         keyAttribute = ({"Pressed","HeldDown","Released","Released"})[hueKeyValue % 1000 +1]
    It also supports setValue('value',value) to simulate a key press.
     
    ZLLTemperature.
    Hue temperature sensor. Behaves like a standard fibaro.com.temperatureSensor.
     
    ZLLLightLevel.
    Hue light sensor. Behaves like a standard fibaro.com.lightSensor.
    The device quickAppVariables  'daylight' and 'dark' is updated with resp. Hue attribute.
     
    ZLLPresence
    Hue presence sensor. Behaves like a standard fibaro.com.motionSensor.
     
    Extended color light
    Hue RGB light. Behaves like a fibaro.com.philipsHueLight.
    supports:
    fibaro.call(<id>,"turnOn")
    fibaro.call(<id>,"turnOff")
    fibaro.call(<id>,"toggle")
    fibaro.call(<id>,"setValue",value)                   -- dim value 0..100
       If the value is a table the value is sent directly to the Hue light as a Hue property table. 
      Ex. fibaro.call(<id>,"setValue",{effect='colorloop',bri=50})
            fibaro.call(<id>,"setValue",{startup={customsettings={xy={0.73500005089041,0.26499994910959}}}})
    fibaro.call(<id>,"setColor",red, green,blue).  -- color 0..255
    fibaro.call(<id>,"changeBrightness")             -- brightness 0..255
    fibaro.call(<id>,"changeHue")                        -- 0..65535
    fibaro.call(<id>,"changeSaturation")              -- 0..255
    fibaro.call(<id>,"startLevelIncrease")
    fibaro.call(<id>,"startLevelDecrease")
    fibaro.call(<id>,"stopLevelChange")
    fibaro.call(<id>,"toggleDim",<boolean>) -- Toggle dim direction. true with 'stop'
    The device quickAppVariable  'state' is updated with the Hue state
     
    Dimmable light
    Hue dimmable white light. Behaves like a fibaro.com.multilevelSwitch.
    supports:
    fibaro.call(<id>,"turnOn")
    fibaro.call(<id>,"turnOff")
    fibaro.call(<id>,"toggle")
    fibaro.call(<id>,"setValue",value)                   --- dim value 0..100
       If the value is a table the value is sent directly to the Hue light as a Hue property table. 
    fibaro.call(<id>,"changeBrightness")             -- brightness 0..255
    fibaro.call(<id>,"startLevelIncrease")
    fibaro.call(<id>,"startLevelDecrease")
    fibaro.call(<id>,"stopLevelChange")
    fibaro.call(<id>,"toggleDim",<boolean>) -- Toggle dim direction. true with 'stop'
    The device quickAppVariable  'state' is updated with the Hue state
     
    Color temperature light
    Mapped as a Dimmable light
     
    Color light
    Hue color light. Behaves like a fibaro.com.colorController.
    supports:
    fibaro.call(<id>,"turnOn")
    fibaro.call(<id>,"turnOff")
    fibaro.call(<id>,"toggle")
    fibaro.call(<id>,"setValue",value)                   --- dim value 0..100
       If the value is a table the value is sent directly to the Hue light as a Hue property table. 
    fibaro.call(<id>,"setColor",red, green,blue).  -- color 0..255
    fibaro.call(<id>,"changeBrightness")             -- brightness 0..255
    fibaro.call(<id>,"startLevelIncrease")
    fibaro.call(<id>,"startLevelDecrease")
    fibaro.call(<id>,"stopLevelChange")
    The device quickAppVariable  'state' is updated with the Hue state
    fibaro.call(<id>,"toggleDim",<boolean>) -- Toggle dim direction. true with 'stop'
     
    Room
    Hue light group. 
    Behaves like a fibaro.com.multilevelSwitch.
    fibaro.call(<id>,"turnOn")
    fibaro.call(<id>,"turnOff")
    fibaro.call(<id>,"toggle")
    fibaro.call(<id>,"setValue",value)                   --- dim value 0..100
       If the value is a table the value is sent directly to the Hue group as a Hue property table. 
    fibaro.call(<id>,"changeBrightness")             -- brightness 0..255
    fibaro.call(<id>,"startLevelIncrease")
    fibaro.call(<id>,"startLevelDecrease")
    fibaro.call(<id>,"stopLevelChange")
    fibaro.call(<id>,"setScene",<Hue scene ID or scene name>)
    fibaro.call(<id>,"toggleDim",<boolean>) -- Toggle dim direction. true with 'stop'
     
    Hue CLIPS devices
    CLIPPresence          => com.fibaro.motionSensor          class='ZLLPresence'
    CLIPTemperature.   => com.fibaro.temperatureSensor class='ZLLTemperature'
    CLIPPressure           => com.fibaro.binarySwitch           class='BinarySwitch'
    CLIPHumidity           => com.fibaro.humiditySensor.      class='Humidity'
    CLIPOpenClose.      => com.fibaro.binarySensor.          class='BinarySensor'
     
     
    The startLevelIncrease, startLevelDecrease, and stopLevelChange makes it possible to bind a remote controller that support centralSceneEvent to dim when a button is held down and stop dimming when the button is released.
     
    The lights store their Hue values in a quickAppVariable 'state'.
    This can be retrieved like below and ex. used to set default startup values for Hue lights...
    local function getVar(id,name)   local vars = api.get("/devices/"..id).properties.quickAppVariables or {}   for _,v in ipairs(vars) do     if v.name==name then return v.value end   end end function QuickApp:main()    state = getVar(1435,"state") -- retrieve current color fibaro.call(1435,{startup={customsettings={xy=state.xy}}) -- set as default startup end  

    43 downloads

       (0 reviews)

    3 comments

    Submitted

  3. Slaves for HC3

    Those QuickApps intend to use as a slave devices on HC3 to emulate original devices on HC2/HCL or secondary HC3.
    The main purpose is to emulate devices of HC2 controller to create same environment on HC3 before migrating the devices. You can use these devices as standard HC3 devices in Lua, block scenes and QuickApp (triggers and control). After migration you just need to delete slaves and change device IDs in code. To make it easy, recommended to use json Home Table.
    In addition if you intend to keep HC2 or HCL as part of your Home Automation, these slaves provide an option to run your system on HC3 only.
    You can expand your HCL usage by using Lua, block scenes and QA on HC3 to control and monitor devices on HCL.
    Please use slaves according to device functionality. For sensors use SlaveSensor, for dimmers use SlaveDimmer, for RGBW dimmers use SlaveColor or SlaveColorW (option to change white level).
    It's very important to use correct KeyFob slave (sceneActivation or central Scene)
    After downloading the QA, open user_data file and enter credentials, IP and device ID. slaveRate value is in milliseconds and  determines the time rate to fetch the data from original device.
    For example if device on HC2 turned ON, within 700 milliseconds the slave device on HC3 will be turned ON also
     
    Every slave device has an option to stop/start emulation by pressing toggle button .
     

    145 downloads

       (1 review)

    0 comments

    Submitted

  4. RFID Programmer (extension should be .fqa not lua)

    This is a small QuickApp that will allow you to programme the Zipato RFID reader whist Fibaro sort out HC3 to do this.
     
    Put you details in the Variables section and then click TagID Push or Pin Push
     
     

    57 downloads

       (0 reviews)

    0 comments

    Submitted


×
×
  • Create New...