Hej
Kan man via blockscener få till att HC2 skickar
ett meddelande när disken är klar?
Vill få ett meddelande när disken är klar MEN under
ett normalt förlopp går förbrukningen mellan 3W till 2300W.
Behöver alltså en funktion som aktiverar meddelandet när diskmaskinen bara dragit 3W under de sista fem minuterna.
Går det med blockscener eller blir man tvingad till LUA?
Blockscen till diskmaskinen
- RH_Dreambox
- Z-Wave Kung
- Posts: 1203
- Joined: 03 Jan 2015, 16:49
- 9
- Location: Vegby
- Contact:
Det blir minst lika krångligt att försöka skapa en fungerande blockscen som att klistra in den här LUA-koden
Det här geniala skriptet är ursprungligen gjort av Zoran Sankovic - Sankotronic på Fibaros forum.
Jag har gjort några smärre modifieringar för att det skall passa mina behov.
Tex. så har jag lagt in att energiförbrukningen beräknas och läses upp via TTS då scriptet (maskinen) är klar.
Här beskrivs några av de viktigaste parametrarna som du kan "skruva på" för att anpassas till valfri maskin.
Var extremt noggrann med versaler och gemener, för i Fibaron är "Off" inte detsamma som "off".
Ange i headern längst upp i koden vilken ID switchen/pluggen har tex. "68 power"
-- GLOBALA VARIABLER --
Skapa en fördefinierad global variabel med lämpligt namn tex "Diskmaskin" och ge den värdena "On" och "Off".
Skapa en vanlig global variabel med namnet "energiDiskmaskin". Variabeln kommer att lagra energiförbrukningen.
Skapa en vanlig global variabel med namnet "TTS". Variabeln skickar lämplig text till din TTS-lösning.
Har du ingen TTS-lösning så skriv två minustecken framför den raden för att inaktivera den. Se raderna 124 och 125 i koden.
Telegram är inaktiverad
-- fibaro:setGlobal("Telegram", "Diskmaskinen är klar. Den förbrukade " ..energitot.. " kWh")
TTS är aktiv
fibaro:setGlobal("TTS", "Viktigt meddelande. Diskmaskinen är klar. Den förbrukade, " ..energitot.. ", kilowatt&vol=10")
-- APPLIANCE CONTROL DEVICE SETUP --
local deviceID = 68 -- Ange samma ID som du angav i headern längst upp
local deviceMinPower = 2.5 -- Ange en lägsta effekt för maskinen, testa dig fram
local deviceStopDuration = 3 -- Ange antal minuter från standby tills dess ett meddelande skall skickas.
local deviceTurnOff = "No" -- Skriv "Yes" om maskinen skall göras strömlös efter avslutat arbete, ange annars "No". På en Tvättmaskin eller Torktumlare kan det vara lämpligt med "Yes". Man måste då manuellt sätta på pluggen (knappen på den) inför nästa tvätt.
Scriptet kan konfigureras till att skicka PUSH och POPUP till utvalda användare.
Har du Telegram eller en TTS-lösning så fungerar det också.
Vi har tex. en Tablet på hallväggen som via TTS ropar ut när Tvättmaskinen och Torktumlaren är klara. Då slipper man springa till tvättstugan i onödan för att kolla om tvätten är klar.
#############################################
Det här geniala skriptet är ursprungligen gjort av Zoran Sankovic - Sankotronic på Fibaros forum.
Jag har gjort några smärre modifieringar för att det skall passa mina behov.
Tex. så har jag lagt in att energiförbrukningen beräknas och läses upp via TTS då scriptet (maskinen) är klar.
Här beskrivs några av de viktigaste parametrarna som du kan "skruva på" för att anpassas till valfri maskin.
Var extremt noggrann med versaler och gemener, för i Fibaron är "Off" inte detsamma som "off".
Ange i headern längst upp i koden vilken ID switchen/pluggen har tex. "68 power"
-- GLOBALA VARIABLER --
Skapa en fördefinierad global variabel med lämpligt namn tex "Diskmaskin" och ge den värdena "On" och "Off".
Skapa en vanlig global variabel med namnet "energiDiskmaskin". Variabeln kommer att lagra energiförbrukningen.
Skapa en vanlig global variabel med namnet "TTS". Variabeln skickar lämplig text till din TTS-lösning.
Har du ingen TTS-lösning så skriv två minustecken framför den raden för att inaktivera den. Se raderna 124 och 125 i koden.
Telegram är inaktiverad
-- fibaro:setGlobal("Telegram", "Diskmaskinen är klar. Den förbrukade " ..energitot.. " kWh")
TTS är aktiv
fibaro:setGlobal("TTS", "Viktigt meddelande. Diskmaskinen är klar. Den förbrukade, " ..energitot.. ", kilowatt&vol=10")
-- APPLIANCE CONTROL DEVICE SETUP --
local deviceID = 68 -- Ange samma ID som du angav i headern längst upp
local deviceMinPower = 2.5 -- Ange en lägsta effekt för maskinen, testa dig fram
local deviceStopDuration = 3 -- Ange antal minuter från standby tills dess ett meddelande skall skickas.
local deviceTurnOff = "No" -- Skriv "Yes" om maskinen skall göras strömlös efter avslutat arbete, ange annars "No". På en Tvättmaskin eller Torktumlare kan det vara lämpligt med "Yes". Man måste då manuellt sätta på pluggen (knappen på den) inför nästa tvätt.
Scriptet kan konfigureras till att skicka PUSH och POPUP till utvalda användare.
Har du Telegram eller en TTS-lösning så fungerar det också.
Vi har tex. en Tablet på hallväggen som via TTS ropar ut när Tvättmaskinen och Torktumlaren är klara. Då slipper man springa till tvättstugan i onödan för att kolla om tvätten är klar.
#############################################
Code: Select all
--[[
%% properties
68 power
%% globals
--]]
-- Ange oven ID för den switch som används, tex "68 power"
--[[
-----------------------------------------------------------------------------
-- APPLIANCE MONITORING SCENE -- HERE PUT NAME OF APPLIANCE
-----------------------------------------------------------------------------
Copyright © 2016 Zoran Sankovic - Sankotronic. All Rights Reserved.
Version 1.0
-- SCENE DESCRIPTION --------------------------------------------------------
This scene can monitor any appliance for power consumption and send push
and/or popup notification when appliance start working and/or when it is
finished. You can also select to switch it off when is done or leave it
under power. Bellow you will find part of code for you to setup for
particular appliance and behavior of this scene.
-- LIST OF GLOBAL VARIABLES NEEDED ------------------------------------------
"applianceStatus" - Skapa en fördefinierad global variabel för den enhet
som skall övervakas, tex. "Diskmaskin".
Ge variabeln värdena "On" och "Off".
--]]
if (fibaro:countScenes() > 1) then
fibaro:abort();
end
-- local energitot = 0
-- PART OF CODE FOR USERS TO EDIT AND SETUP ---------------------------------
-- GLOBALA VARIABLER ---------------------------------------------------------
-- Här skriver du namnet på den globala fördefinierade variabel du skapade tex. "Diskmaskin"
-- Värdena för variabeln skall vara "On" and "Off"
local applianceStatus = "Diskmaskin";
local applianceStatusMapping = {On="On", Off="Off"};
-- EXTRA GLOBALA VARIABLER ---------------------------------------------------
-- Här kan du lägga till egna extra variabler om du utökar denna scen med egen kod
-- APPLIANCE CONTROL DEVICE SETUP -------------------------------------------
-- Lägg in ID för den enhet som skall kontrolleras.
-- Skriv samma ID under properties ovan tex. 68 power
local deviceID = 68;
-- Lägg in ett effektvärde som som är något högre än maskinens standby-värde
local deviceMinPower = 2.5;
-- Lägg in antal minuter från standby tills ett meddelande skall skickas
local deviceStopDuration = 3;
-- Skriv "Yes" om enheten skall stängas av efter avslutat arbete
-- Skriv "No" om enheten skall lämnas påslagen
local deviceTurnOff = "No";
-- USERS, PUSH AND POPUP NOTIFICATION SETUP ---------------------------------
-- Ange den eller de användare som push-meddelanden skall skickas till
local userID = {49}; -- flera användare {49, 56, 78};
-- Flagga för varje användare om push-meddelande skall skickas
-- send notifications. You can add code in function extraUserCodeFirst()
local userFlag = {1}; -- flera användare tex. userFlag = {1, 1, 0};
-- PUSH MESSAGES SETUP ------------------------------------------------------
-- Ange push-meddelanden för start respektive stopp
local pushMessage = {start = "Diskmaskinen har startats",
stop = "Diskmaskinen är klar "};
-- Skriv "Yes" för att få meddelande vid programstart, annars anger du "No"
local pushStart = "No";
-- Skriv "Yes" för att få meddelande då maskinen är klar, annars anger du "No"
local pushStop = "No";
-- POPUP MESSAGES SETUP -----------------------------------------------------
-- enter popup message text and button caption for the appliance start and
-- stop
local popupMainTitle = "DISKMASKIN";
local popupTimeFormat = "%H:%M:%S | %d.%m.%Y.";
local popupContentTitleStart = "Diskmaskinen startas";
local popupContentTitleStop = "Diskmaskinen är klar";
local popupContentBodyStart = "Diskmaskinen arbetar";
local popupContentBodyOn = "Diskmaskinen är inte avstängd";
local popupContentBodyOff = "Diskmaskinen har stängts av";
local popupImgUrl = "";
local popupButtonCaption = "OK";
-- enter "Yes" if you want to receive popup notification that appliance
-- started working else put "No"
local popupStart = "No";
-- enter "Yes" if you want to receive popup notification that appliance
-- finished working else put "No"
local popupStop = "No";
-- DEBUGGING VARIABLES -----------------------------------------------------
-- setup debugging, true is turned on, false turned off.
local deBug = true; -- for showing events as they happen
local exDebug = true; -- for checking loop counter
-- EXTRA FUNCTION WHERE YOU CAN ADD YOUR CODE ----------------------------
-- use this function to add code that will be executed before loop is
-- started and push adn popup notifications are sent
function extraUserCodeFirst()
-- your code goes here
-- local pushMessage = {start = "Torktumlaren har startats",
-- stop = "Tvätten är torr "..energitot.." kW"};
if deBug then logbug("yellow", "User extra code before loop executed") end;
end
-- use this function to add code that will be executed after loop is
-- finished and before sending push and popup notifications
function extraUserCodeLast()
-- your code goes here
local energistart = tonumber(fibaro:getGlobalValue("energiDiskmaskin", energistopp))
local energistopp = tonumber(fibaro:getValue(deviceID, "energy"))
local energitot = energistopp - energistart
local energitot = energitot - energitot % 0.01
fibaro:setGlobal("energiDiskmaskin", energistopp)
energitot = string.gsub(energitot,"%.",",")
-- fibaro:setGlobal("Telegram", "Diskmaskinen är klar. Den förbrukade " ..energitot.. " kWh")
fibaro:setGlobal("TTS", "Viktigt meddelande. Diskmaskinen är klar. Den förbrukade, " ..energitot.. ", kilowatt&vol=10")
if deBug then logbug("yellow", "User extra code after loop executed") end;
end
-- SLUT PÅ SETUP OCH ANVÄNDARDEFINERAD KOD -----------------------------
-- OBS! ÄNDRA INGEN KOD UNDER DENNA RAD ------------------------------------
-- except if you know what you're doin' :-P
local StartSource = fibaro:getSourceTrigger()
local countdown = 0;
local version = "1.0";
function logbug(color, message)
fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span"));
end
-- send push notification
function sendPush(message)
if (#userID == #userFlag) then
if #userID > 0 then
for i = 1, #userID do
if userFlag[i] == 1 then
fibaro:call(userID[i], "sendPush", message); -- Send message to flagged users
if deBug then logbug("orange", "Push notification sänd till användaren "..fibaro:getName(userID[i])) end;
end
end
end
else
if deBug then logbug("red", "User and flag count is different, not setup correctly. Please check") end;
end
end
-- send popup notification
function sendPopup(i)
if i == 1 then
popupContentTitle = popupContentTitleStart;
popupContentBody = popupContentBodyStart;
popupTypeInfo = "Info";
if deBug then logbug("orange", "Popup notification sänd: övervakaren har startats") end;
else
popupContentTitle = popupContentTitleStop;
if deviceTurnOff == "Yes" then
popupContentBody = popupContentBodyOff
if deBug then logbug("Yellow", "Övervakaren är nedstängd") end;
else
popupContentBody = popupContentBodyOn
end
popupTypeInfo = "Success";
if deBug then logbug("orange", "Popup notification sänd: övervakaren är avslutad") end;
end
-------------------------------------------
HomeCenter.PopupService.publish({
-- title (required)
title = popupMainTitle,
-- subtitle(optional), e.g. time and date of the pop-up call
subtitle = os.date(popupTimeFormat),
-- content header (optional)
contentTitle = popupContentTitle,
-- content (required)
contentBody = popupContentBody,
-- notification image (assigned from the variable)
img = popupImgUrl,
-- type of the pop-up
type = popupTypeInfo,
-- buttons definition
buttons = { { caption = popupButtonCaption, sceneId = 0 } }
})
---------------------------------------------
end
if ((tonumber(fibaro:getValue(deviceID, 'power')) > deviceMinPower) and (StartSource['type'] == "property")) then
logbug ("green", "Appliance monitoring scene started version "..version.." - © 2016 Sankotronic");
fibaro:setGlobal(applianceStatus, applianceStatusMapping.On);
extraUserCodeFirst();
if pushStart == "Yes" then sendPush(pushMessage.start) end;
if popupStart == "Yes" then sendPopup (1) end;
while true do
local power = tonumber(fibaro:getValue(deviceID, 'power'));
-- if power is greater than minimum then reset countdown
if (power > deviceMinPower) then
countdown = deviceStopDuration;
else
if (countdown > 0) then countdown = countdown - 1 end;
end
-- if countdown is ended then send notification and turn off
if (countdown == 0) then
if fibaro:getGlobalValue(applianceStatus) == applianceStatusMapping.On then
fibaro:setGlobal(applianceStatus, applianceStatusMapping.Off);
extraUserCodeLast();
if pushStop == "Yes" then sendPush(pushMessage.stop) end;
if popupStop == "Yes" then sendPopup (2) end;
if deviceTurnOff == "Yes" then fibaro:call(deviceID, "turnOff") end;
end
logbug ("green", "Övervakningsscenen avslutades");
-- Kill running scene cause it is done with appliance
fibaro:abort();
end
if deBug then logbug("lightgreen", "Effekt: " .. power .. " W - nedräkning: " .. countdown .. " Min.") end;
fibaro:sleep(60000);
end
else
logbug ("lightgreen", "Övervakningsscenen startades manuellt och kommer därför att avslutas.");
-- Kill running scene cause it is done with appliance
fibaro:abort();
end
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
________________________RH_Dreambox wrote: ↑28 Sep 2018, 10:18 Det blir minst lika krångligt att försöka skapa en fungerande blockscen som att klistra in den här LUA-koden
Det här geniala skriptet är ursprungligen gjort av Zoran Sankovic - Sankotronic på Fibaros forum.
Jag har gjort några smärre modifieringar för att det skall passa mina behov.
Tex. så har jag lagt in att energiförbrukningen beräknas och läses upp via TTS då scriptet (maskinen) är klar.
Här beskrivs några av de viktigaste parametrarna som du kan "skruva på" för att anpassas till valfri maskin.
Var extremt noggrann med versaler och gemener, för i Fibaron är "Off" inte detsamma som "off".
Ange i headern längst upp i koden vilken ID switchen/pluggen har tex. "68 power"
-- GLOBALA VARIABLER --
Skapa en fördefinierad global variabel med lämpligt namn tex "Diskmaskin" och ge den värdena "On" och "Off".
Skapa en vanlig global variabel med namnet "energiDiskmaskin". Variabeln kommer att lagra energiförbrukningen.
Skapa en vanlig global variabel med namnet "TTS". Variabeln skickar lämplig text till din TTS-lösning.
Har du ingen TTS-lösning så skriv två minustecken framför den raden för att inaktivera den. Se raderna 124 och 125 i koden.
Telegram är inaktiverad
-- fibaro:setGlobal("Telegram", "Diskmaskinen är klar. Den förbrukade " ..energitot.. " kWh")
TTS är aktiv
fibaro:setGlobal("TTS", "Viktigt meddelande. Diskmaskinen är klar. Den förbrukade, " ..energitot.. ", kilowatt&vol=10")
-- APPLIANCE CONTROL DEVICE SETUP --
local deviceID = 68 -- Ange samma ID som du angav i headern längst upp
local deviceMinPower = 2.5 -- Ange en lägsta effekt för maskinen, testa dig fram
local deviceStopDuration = 3 -- Ange antal minuter från standby tills dess ett meddelande skall skickas.
local deviceTurnOff = "No" -- Skriv "Yes" om maskinen skall göras strömlös efter avslutat arbete, ange annars "No". På en Tvättmaskin eller Torktumlare kan det vara lämpligt med "Yes". Man måste då manuellt sätta på pluggen (knappen på den) inför nästa tvätt.
Scriptet kan konfigureras till att skicka PUSH och POPUP till utvalda användare.
Har du Telegram eller en TTS-lösning så fungerar det också.
Vi har tex. en Tablet på hallväggen som via TTS ropar ut när Tvättmaskinen och Torktumlaren är klara. Då slipper man springa till tvättstugan i onödan för att kolla om tvätten är klar.
#############################################
Code: Select all
--[[ %% properties 68 power %% globals --]] -- Ange oven ID för den switch som används, tex "68 power" --[[ ----------------------------------------------------------------------------- -- APPLIANCE MONITORING SCENE -- HERE PUT NAME OF APPLIANCE ----------------------------------------------------------------------------- Copyright © 2016 Zoran Sankovic - Sankotronic. All Rights Reserved. Version 1.0 -- SCENE DESCRIPTION -------------------------------------------------------- This scene can monitor any appliance for power consumption and send push and/or popup notification when appliance start working and/or when it is finished. You can also select to switch it off when is done or leave it under power. Bellow you will find part of code for you to setup for particular appliance and behavior of this scene. -- LIST OF GLOBAL VARIABLES NEEDED ------------------------------------------ "applianceStatus" - Skapa en fördefinierad global variabel för den enhet som skall övervakas, tex. "Diskmaskin". Ge variabeln värdena "On" och "Off". --]] if (fibaro:countScenes() > 1) then fibaro:abort(); end -- local energitot = 0 -- PART OF CODE FOR USERS TO EDIT AND SETUP --------------------------------- -- GLOBALA VARIABLER --------------------------------------------------------- -- Här skriver du namnet på den globala fördefinierade variabel du skapade tex. "Diskmaskin" -- Värdena för variabeln skall vara "On" and "Off" local applianceStatus = "Diskmaskin"; local applianceStatusMapping = {On="On", Off="Off"}; -- EXTRA GLOBALA VARIABLER --------------------------------------------------- -- Här kan du lägga till egna extra variabler om du utökar denna scen med egen kod -- APPLIANCE CONTROL DEVICE SETUP ------------------------------------------- -- Lägg in ID för den enhet som skall kontrolleras. -- Skriv samma ID under properties ovan tex. 68 power local deviceID = 68; -- Lägg in ett effektvärde som som är något högre än maskinens standby-värde local deviceMinPower = 2.5; -- Lägg in antal minuter från standby tills ett meddelande skall skickas local deviceStopDuration = 3; -- Skriv "Yes" om enheten skall stängas av efter avslutat arbete -- Skriv "No" om enheten skall lämnas påslagen local deviceTurnOff = "No"; -- USERS, PUSH AND POPUP NOTIFICATION SETUP --------------------------------- -- Ange den eller de användare som push-meddelanden skall skickas till local userID = {49}; -- flera användare {49, 56, 78}; -- Flagga för varje användare om push-meddelande skall skickas -- send notifications. You can add code in function extraUserCodeFirst() local userFlag = {1}; -- flera användare tex. userFlag = {1, 1, 0}; -- PUSH MESSAGES SETUP ------------------------------------------------------ -- Ange push-meddelanden för start respektive stopp local pushMessage = {start = "Diskmaskinen har startats", stop = "Diskmaskinen är klar "}; -- Skriv "Yes" för att få meddelande vid programstart, annars anger du "No" local pushStart = "No"; -- Skriv "Yes" för att få meddelande då maskinen är klar, annars anger du "No" local pushStop = "No"; -- POPUP MESSAGES SETUP ----------------------------------------------------- -- enter popup message text and button caption for the appliance start and -- stop local popupMainTitle = "DISKMASKIN"; local popupTimeFormat = "%H:%M:%S | %d.%m.%Y."; local popupContentTitleStart = "Diskmaskinen startas"; local popupContentTitleStop = "Diskmaskinen är klar"; local popupContentBodyStart = "Diskmaskinen arbetar"; local popupContentBodyOn = "Diskmaskinen är inte avstängd"; local popupContentBodyOff = "Diskmaskinen har stängts av"; local popupImgUrl = ""; local popupButtonCaption = "OK"; -- enter "Yes" if you want to receive popup notification that appliance -- started working else put "No" local popupStart = "No"; -- enter "Yes" if you want to receive popup notification that appliance -- finished working else put "No" local popupStop = "No"; -- DEBUGGING VARIABLES ----------------------------------------------------- -- setup debugging, true is turned on, false turned off. local deBug = true; -- for showing events as they happen local exDebug = true; -- for checking loop counter -- EXTRA FUNCTION WHERE YOU CAN ADD YOUR CODE ---------------------------- -- use this function to add code that will be executed before loop is -- started and push adn popup notifications are sent function extraUserCodeFirst() -- your code goes here -- local pushMessage = {start = "Torktumlaren har startats", -- stop = "Tvätten är torr "..energitot.." kW"}; if deBug then logbug("yellow", "User extra code before loop executed") end; end -- use this function to add code that will be executed after loop is -- finished and before sending push and popup notifications function extraUserCodeLast() -- your code goes here local energistart = tonumber(fibaro:getGlobalValue("energiDiskmaskin", energistopp)) local energistopp = tonumber(fibaro:getValue(deviceID, "energy")) local energitot = energistopp - energistart local energitot = energitot - energitot % 0.01 fibaro:setGlobal("energiDiskmaskin", energistopp) energitot = string.gsub(energitot,"%.",",") -- fibaro:setGlobal("Telegram", "Diskmaskinen är klar. Den förbrukade " ..energitot.. " kWh") fibaro:setGlobal("TTS", "Viktigt meddelande. Diskmaskinen är klar. Den förbrukade, " ..energitot.. ", kilowatt&vol=10") if deBug then logbug("yellow", "User extra code after loop executed") end; end -- SLUT PÅ SETUP OCH ANVÄNDARDEFINERAD KOD ----------------------------- -- OBS! ÄNDRA INGEN KOD UNDER DENNA RAD ------------------------------------ -- except if you know what you're doin' :-P local StartSource = fibaro:getSourceTrigger() local countdown = 0; local version = "1.0"; function logbug(color, message) fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span")); end -- send push notification function sendPush(message) if (#userID == #userFlag) then if #userID > 0 then for i = 1, #userID do if userFlag[i] == 1 then fibaro:call(userID[i], "sendPush", message); -- Send message to flagged users if deBug then logbug("orange", "Push notification sänd till användaren "..fibaro:getName(userID[i])) end; end end end else if deBug then logbug("red", "User and flag count is different, not setup correctly. Please check") end; end end -- send popup notification function sendPopup(i) if i == 1 then popupContentTitle = popupContentTitleStart; popupContentBody = popupContentBodyStart; popupTypeInfo = "Info"; if deBug then logbug("orange", "Popup notification sänd: övervakaren har startats") end; else popupContentTitle = popupContentTitleStop; if deviceTurnOff == "Yes" then popupContentBody = popupContentBodyOff if deBug then logbug("Yellow", "Övervakaren är nedstängd") end; else popupContentBody = popupContentBodyOn end popupTypeInfo = "Success"; if deBug then logbug("orange", "Popup notification sänd: övervakaren är avslutad") end; end ------------------------------------------- HomeCenter.PopupService.publish({ -- title (required) title = popupMainTitle, -- subtitle(optional), e.g. time and date of the pop-up call subtitle = os.date(popupTimeFormat), -- content header (optional) contentTitle = popupContentTitle, -- content (required) contentBody = popupContentBody, -- notification image (assigned from the variable) img = popupImgUrl, -- type of the pop-up type = popupTypeInfo, -- buttons definition buttons = { { caption = popupButtonCaption, sceneId = 0 } } }) --------------------------------------------- end if ((tonumber(fibaro:getValue(deviceID, 'power')) > deviceMinPower) and (StartSource['type'] == "property")) then logbug ("green", "Appliance monitoring scene started version "..version.." - © 2016 Sankotronic"); fibaro:setGlobal(applianceStatus, applianceStatusMapping.On); extraUserCodeFirst(); if pushStart == "Yes" then sendPush(pushMessage.start) end; if popupStart == "Yes" then sendPopup (1) end; while true do local power = tonumber(fibaro:getValue(deviceID, 'power')); -- if power is greater than minimum then reset countdown if (power > deviceMinPower) then countdown = deviceStopDuration; else if (countdown > 0) then countdown = countdown - 1 end; end -- if countdown is ended then send notification and turn off if (countdown == 0) then if fibaro:getGlobalValue(applianceStatus) == applianceStatusMapping.On then fibaro:setGlobal(applianceStatus, applianceStatusMapping.Off); extraUserCodeLast(); if pushStop == "Yes" then sendPush(pushMessage.stop) end; if popupStop == "Yes" then sendPopup (2) end; if deviceTurnOff == "Yes" then fibaro:call(deviceID, "turnOff") end; end logbug ("green", "Övervakningsscenen avslutades"); -- Kill running scene cause it is done with appliance fibaro:abort(); end if deBug then logbug("lightgreen", "Effekt: " .. power .. " W - nedräkning: " .. countdown .. " Min.") end; fibaro:sleep(60000); end else logbug ("lightgreen", "Övervakningsscenen startades manuellt och kommer därför att avslutas."); -- Kill running scene cause it is done with appliance fibaro:abort(); end
Kul, fick det att fungera. Får pusch för start och stopp av diskmaskinen.
Däremot vad menar du med TTS ?
Har avaktiverat den funktionen i koden men skulle gärna fått med energiförbrukning vilket inte kommer med nu.
//P
- RH_Dreambox
- Z-Wave Kung
- Posts: 1203
- Joined: 03 Jan 2015, 16:49
- 9
- Location: Vegby
- Contact:
TTS, "text to speech" innebär att den textsträng du skickar till den globala variabeln TTS behandlas i ett script för att sedan läsas upp via en ljudenhet.
Hur scriptet ser ut beror på vilken ljudenhet du använder.
Många föredrar SONOS, men jag använder en app (zenitgatekeeper) i min Samsung tablet. Så om du vill använda dig av SONOS så måste tillhörande script anpassas för detta.
Du kan ju också skicka information om energiförbrukning till mobilen med en liten anpassning av koden.
Zenitgatekeeper har utvecklats av en kille som kallar sig "davandev" och gjordes ursprungligen för ett annat ändamål.
Men han var lyhörd för önskemål och anpassade appen med ett valfritt "ding-dong"-ljud före själva meddelandet så att det var lättare att höra texten som lästes upp.
Volymen bestäms av koden i slutet på textsträngen (&vol=10). Om jag minns rätt så är max volym 15.
Här finns appen att ladda ned om du är intresserad. Appen installerade jag med hjälp av "appinstaller", och ding-dong-ljudet hämtade jag från de ljud som fanns i "paddan".
https://github.com/davandev/AlarmContro ... /v.0.1.619
Hur scriptet ser ut beror på vilken ljudenhet du använder.
Många föredrar SONOS, men jag använder en app (zenitgatekeeper) i min Samsung tablet. Så om du vill använda dig av SONOS så måste tillhörande script anpassas för detta.
Du kan ju också skicka information om energiförbrukning till mobilen med en liten anpassning av koden.
Zenitgatekeeper har utvecklats av en kille som kallar sig "davandev" och gjordes ursprungligen för ett annat ändamål.
Men han var lyhörd för önskemål och anpassade appen med ett valfritt "ding-dong"-ljud före själva meddelandet så att det var lättare att höra texten som lästes upp.
Volymen bestäms av koden i slutet på textsträngen (&vol=10). Om jag minns rätt så är max volym 15.
Här finns appen att ladda ned om du är intresserad. Appen installerade jag med hjälp av "appinstaller", och ding-dong-ljudet hämtade jag från de ljud som fanns i "paddan".
https://github.com/davandev/AlarmContro ... /v.0.1.619
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087