Tjenare.
Jag har en scen där förbrukningen från tvättmaskinen övervakas.
Det jag vill åstadkomma är att få ut tal till Sonos att maskinen är klar, samt ev. notifieringar till mina apple enheter.
Jag har satt upp en scen, att när förbrukningen går under 3w så triggar den ett TTS i Sonos...
så långt frid och fröjd, problemet är att det triggar ca 30-40ggr under ett tvättprogram eftersom förbrukningen under ett tvättprogram periodvis dalar ner väldigt lågt.
Så hur lägger jag till att förukningen måste ligga under 3w i låt säga. 5minuter?
Övervaka tvättmaskin
-
- Medlem
- Posts: 158
- Joined: 03 Feb 2016, 17:16
- 8
Hej,
Hade samma bekymmer som du att förbrukningen varierade kraftigt under tvättprogrammet och fick för många signaler, hittade följande kod på nätet som kollar om förbrukningen är under ett visst värde och börjar då räkna upp ifrån 1 till 60 och efter 60 mätningar där alla är under det satta värdet anses tvätten klar och detta har funkat klockrent för mig, ligger lite debugrader så man ser att det funkar som det är tänkt.
Jag kör koden nadan i Fibaro HC2
--[[
%% autostart
%% properties
15 power
%% globals
--]]
local power_socket = 15
local powerlive = tonumber(fibaro:getValue(power_socket, "power")) -- monitored unit
fibaro:debug("Förbrukning = "..powerlive.." Watt")
if (fibaro:countScenes()>1)
then
fibaro:abort();
end
local run = 0
--local power_socket = 15
local currentDate = os.date("*t");
local power = fibaro:getValue(power_socket, "power")
local counter = 0
if ( tonumber(fibaro:getValue(power_socket, "power")) > 750 ) and run == 0 then
local start = (os.time())
fibaro:debug("Tvättmaskin startad")
fibaro:debug("Förbrukning = "..power.." Watt")
run = 1
end
while run == 1 do
if ( tonumber(fibaro:getValue(power_socket, "power")) < 6) then
counter = counter + 1
fibaro:sleep(2*1000)
local power2 = fibaro:getValue(power_socket, "power")
fibaro:debug('counter = ' ..counter.. " : "..power2.."Watt")
end
if ( tonumber(fibaro:getValue(power_socket, "power")) > 6) then
counter = 0
end
if ( tonumber(fibaro:getValue(power_socket, "power")) < 6) and counter > 60 then
fibaro:debug("Tvättmaskin klar.")
local power3 = fibaro:getValue(power_socket, "power")
fibaro:debug("Förbrukning 3 = "..power3.." Watt")
fibaro:debug("Skicka meddelande")
fibaro:call(6,"sendPush", " Tvätten är klar att hängas upp " )
fibaro:call(65,"sendPush", " Tvätten är klar att hängas upp " )
run = 0
end
end
Hade samma bekymmer som du att förbrukningen varierade kraftigt under tvättprogrammet och fick för många signaler, hittade följande kod på nätet som kollar om förbrukningen är under ett visst värde och börjar då räkna upp ifrån 1 till 60 och efter 60 mätningar där alla är under det satta värdet anses tvätten klar och detta har funkat klockrent för mig, ligger lite debugrader så man ser att det funkar som det är tänkt.
Jag kör koden nadan i Fibaro HC2
--[[
%% autostart
%% properties
15 power
%% globals
--]]
local power_socket = 15
local powerlive = tonumber(fibaro:getValue(power_socket, "power")) -- monitored unit
fibaro:debug("Förbrukning = "..powerlive.." Watt")
if (fibaro:countScenes()>1)
then
fibaro:abort();
end
local run = 0
--local power_socket = 15
local currentDate = os.date("*t");
local power = fibaro:getValue(power_socket, "power")
local counter = 0
if ( tonumber(fibaro:getValue(power_socket, "power")) > 750 ) and run == 0 then
local start = (os.time())
fibaro:debug("Tvättmaskin startad")
fibaro:debug("Förbrukning = "..power.." Watt")
run = 1
end
while run == 1 do
if ( tonumber(fibaro:getValue(power_socket, "power")) < 6) then
counter = counter + 1
fibaro:sleep(2*1000)
local power2 = fibaro:getValue(power_socket, "power")
fibaro:debug('counter = ' ..counter.. " : "..power2.."Watt")
end
if ( tonumber(fibaro:getValue(power_socket, "power")) > 6) then
counter = 0
end
if ( tonumber(fibaro:getValue(power_socket, "power")) < 6) and counter > 60 then
fibaro:debug("Tvättmaskin klar.")
local power3 = fibaro:getValue(power_socket, "power")
fibaro:debug("Förbrukning 3 = "..power3.." Watt")
fibaro:debug("Skicka meddelande")
fibaro:call(6,"sendPush", " Tvätten är klar att hängas upp " )
fibaro:call(65,"sendPush", " Tvätten är klar att hängas upp " )
run = 0
end
end
Tack har laborerat med en virtuell switch som slås på när maskinen förbrukar över 1 W. (Denna slår oxå av en timer)
När maskinen förbrukar under 1W startas timern på 300sec
Om timern får gå klart triggas virtuell brytare AV
Som då ger TTS till sonos
Testar ikväll och återkommer om det fungerar
När maskinen förbrukar under 1W startas timern på 300sec
Om timern får gå klart triggas virtuell brytare AV
Som då ger TTS till sonos
Testar ikväll och återkommer om det fungerar
-
- Medlem
- Posts: 102
- Joined: 01 Jan 2014, 18:10
- 10
Hej kan man klippa ut koden och klistra in den på sin hc2
Sent from my iPhone using Tapatalk
Sent from my iPhone using Tapatalk
Kan rapportera att min lösning fungerar Har kört två maskiner tvätt nu och Sonos har berättat att de vart klara. Inga falsklarm.
Guide hur jag gjort:
Först satte jag upp en Virtuell switch, denna triggas ON när maskinen drar över 1W. (Viktigt att du har koll på vad just din maskin drar i standby, dvs "på" men utan något tvättprogram igång)
Samma virtuella switch avbryter även timern som jag använder nedan. (Scen 1)
När sedan maskinen drar under 1W triggar den en timer på 240sec (4min) (Scen 2)
Är maskinen klar så kommer timern att gå klart som då slår av Virtuell brytare och skickar TTS till Sonos att Tvättmaskinen är klar. (Scen 3)
Skulle maskinen inte vara klar, så kommer maskinen dra över 1W igen, och timern avbryts (Scen 1) = inget TTS i Sonos.
Detta har jag som nybörjare knåpat ihop med hjälp av 3 scener kanske går att göra enklare, men detta fungerar iallafall
Guide hur jag gjort:
Först satte jag upp en Virtuell switch, denna triggas ON när maskinen drar över 1W. (Viktigt att du har koll på vad just din maskin drar i standby, dvs "på" men utan något tvättprogram igång)
Samma virtuella switch avbryter även timern som jag använder nedan. (Scen 1)
När sedan maskinen drar under 1W triggar den en timer på 240sec (4min) (Scen 2)
Är maskinen klar så kommer timern att gå klart som då slår av Virtuell brytare och skickar TTS till Sonos att Tvättmaskinen är klar. (Scen 3)
Skulle maskinen inte vara klar, så kommer maskinen dra över 1W igen, och timern avbryts (Scen 1) = inget TTS i Sonos.
Detta har jag som nybörjare knåpat ihop med hjälp av 3 scener kanske går att göra enklare, men detta fungerar iallafall
-
- Medlem
- Posts: 158
- Joined: 03 Feb 2016, 17:16
- 8
Japp, bara klippa ut och klistra in.ekensweden wrote:Hej kan man klippa ut koden och klistra in den på sin hc2
Sent from my iPhone using Tapatalk
Sen byter du ID-nummer så de stämmer med dina enheter och justerar lite watt beroende på din tvättmaskin.
-
- Medlem
- Posts: 102
- Joined: 01 Jan 2014, 18:10
- 10
Tack
Sent from my iPhone using Tapatalk
Sent from my iPhone using Tapatalk