| 
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -144,10 +144,10 @@ class Gateway():
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if not self.nonce_key or not self.mac_address:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      die("Xiaomi Mi Wi-Fi device is wrong model or not the stock firmware in it.")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    nonce = "0_" + self.mac_address + "_" + str(int(time.time())) + "_" + str(random.randint(1000, 10000))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if not self.webpassword:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      self.webpassword = input("Enter device WEB password: ")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    password = self.webpassword
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    account_str = (password + self.nonce_key).encode('utf-8')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    web_pass = self.webpassword
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if not web_pass:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      web_pass = input("Enter device WEB password: ")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    account_str = (web_pass + self.nonce_key).encode('utf-8')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    account_str = hashlib.sha1(account_str).hexdigest()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    password = (nonce + account_str).encode('utf-8')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    password = hashlib.sha1(password).hexdigest()
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -158,7 +158,9 @@ class Gateway():
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    try:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      stok = re.findall(r'"token":"(.*?)"',r1.text)[0]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    except Exception:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      self.webpassword = ""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      die("WEB password is not correct!")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.webpassword = web_pass
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.stok = stok
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  @property
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |