WALLC-S – Skicka unika scenkommandon för olika knapptryck

WALLC-S är en trevlig liten batteridriven Z-wave-väggbrytare. Den kan också skicka scenkommandon. Men hur löser man detta optimalt?

Jo, för att enheten ska skicka unika scenkommandon när man gör enkelklick, dubbelklick, håller in knappen samt släpper upp knappen behöver man sätta parametrar enligt följande:

Svårare än så är det inte! Sen är det bara att börja skriva kod som använder sig av detta 🙂

Tack till Jan som tipsade oss.

4 svar till WALLC-S – Skicka unika scenkommandon för olika knapptryck

  • Kan någon möjligen posta ett exempel på hur man gör för att låt säga när man trycker på knapp 1 (ett kort tryck) så aktiveras en scen som tänder tex 2 lampor. Vad behövs för ”enheter” (förutom 2 lampor)? Hur skall scriptet se ut? Jag har inte fått det att funka riktigt…

    • Ett exempel till Fibaro Home Center 2 kanske jag skulle skrivit med. 🙂

  • Jag svarar på min egen fråga… 🙂
    Så här gjorde jag för att lösa det smidigt så att man kan både klicka på knapparna virtuellt (från HC2:an) och på själva WallC-S.

    1. Först och främst så kommer du ha själva ”enheten” när du lagt till den i HC2:an (den fysiska). Kolla upp ID:t.

    2. Skapa nu en virtuell enhet (med namn tex. ”WallC-S 01 Funktion”) med 8 knappar som symboliserar den fysiska enheten (jag valde bara 8 eftersom man får ett ”nummer” när man trycker ett kort tryck och ett annat ”nummer” när man trycker ett långt tryck på varje knapp. Det finns även ett ”nummer” när man släpper upp knappen efter ett långt tryck. Men jag såg ingen användning för det just i detta scenario. Det är sen i denna enhet vi kommer att sätta vad som skall hända på varje ”tryck” och här kan vi sen trycka ”virtuellt” på alla knappar. Obs: WallC-S har 4 knappar = 8 funktioner = 8 virtuella knappar. 🙂

    Här har jag skapat en enhet som ni kan importera im ni vill, men kom ihåg att ändra alla ”enheter” på alla knappar som ni vill styra: http://www.snille.net/download/WallC-S4_01_Funktion.zip

    2. Skapa nu en Scene (med namn tex. ”WallC-S 01 Läsare”) som läser av brytaren och skickar ”numret” till den virtuella enheten. Så här ser min LUA-kod ut. Eftersom WallC-S inte skickar ”1”, ”2”, ”3”… osv för varje knapp-tryck så måste vi ”konvertera” till det innan numret skickas till den virtuella enheten.

    Kom ihåg att ändra XXX till dina enheters ID!

    — Start LUA Kod —
    –[[
    %% properties
    140 sceneActivation
    %% globals
    –]]

    ——— Your Device ID’s Here ———

    local virtualDevID = XXX — WallC-S4 01 Funktion (XXX = ID på den virtuella enheten)
    local wallcsID = XXX — WallC-S4 01 Fysisk (XXX = ID på den fysiska enheten)

    —— Do not edit below this line ——

    local buttonPressed = 0;

    if (tonumber(fibaro:getValue(wallcsID, ”sceneActivation”)) == 11) then
    buttonPressed = 1;
    elseif (tonumber(fibaro:getValue(wallcsID, ”sceneActivation”)) == 13) then
    buttonPressed = 2;
    elseif (tonumber(fibaro:getValue(wallcsID, ”sceneActivation”)) == 21) then
    buttonPressed = 3;
    elseif (tonumber(fibaro:getValue(wallcsID, ”sceneActivation”)) == 23) then
    buttonPressed = 4;
    elseif (tonumber(fibaro:getValue(wallcsID, ”sceneActivation”)) == 12) then
    buttonPressed = 5;
    elseif (tonumber(fibaro:getValue(wallcsID, ”sceneActivation”)) == 14) then
    buttonPressed = 6;
    elseif (tonumber(fibaro:getValue(wallcsID, ”sceneActivation”)) == 22) then
    buttonPressed = 7;
    elseif (tonumber(fibaro:getValue(wallcsID, ”sceneActivation”)) == 24) then
    buttonPressed = 8;
    end
    fibaro:debug(buttonPressed)
    fibaro:call(virtualDevID, ”pressButton”, buttonPressed)
    — Slut LUA Kod —

    Detta skall vara allt.
    Du kommer altså att ha en fysisk enhet tex. ”WallC-S 01 Fysisk”, sen kommer du ha en avläsnings-scen tex. ”WallC-S 01 Läsare” och sist men inte minst kommer du ha en virtuell enhet tex. ”WallC-S 01 Funktion” som utför själva ”styrningen” av dina enheter. 🙂

    Lycka till!

    • Glömde att sätta XXX på headern. Där skriver du in ID:t på den fysiska WallC-S enheten… 🙂

      –[[
      %% properties
      XXX sceneActivation
      %% globals
      –]]

  • Kommentera