lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

002-Evohome-updates-to-6708.patch (3021B)


      1 diff --git a/hardware/evohome.cpp b/hardware/evohome.cpp
      2 index fcbee6d..f77291e 100644
      3 --- a/hardware/evohome.cpp
      4 +++ b/hardware/evohome.cpp
      5 @@ -423,11 +423,11 @@ void CEvohome::RunScript(const char *pdata, const unsigned char length)
      6  			boost::replace_all(OnAction, "{state}", s_strid.str());
      7  			boost::replace_all(OnAction, "{until}", CEvohomeDateTime::GetISODate(tsen->EVOHOME2));
      8  			//Execute possible script
      9 -			std::string scriptname;
     10 -			if (OnAction.find("script:///") != std::string::npos)
     11 -				scriptname = OnAction.substr(9);
     12 -			else
     13 -				scriptname = OnAction.substr(8);
     14 +			std::string scriptname = OnAction.substr(9);
     15 +#if !defined WIN32
     16 +			if (scriptname.find("/") != 0)
     17 +				scriptname = szUserDataFolder + "scripts/" + scriptname;
     18 +#endif
     19  			std::string scriptparams="";
     20  			//Add parameters
     21  			int pindex=scriptname.find(' ');
     22 @@ -439,7 +439,7 @@ void CEvohome::RunScript(const char *pdata, const unsigned char length)
     23  			
     24  			if (file_exist(scriptname.c_str()))
     25  			{
     26 -				m_sql.AddTaskItem(_tTaskItem::ExecuteScript(1,scriptname,scriptparams));
     27 +				m_sql.AddTaskItem(_tTaskItem::ExecuteScript(0.2f,scriptname,scriptparams));
     28  			}
     29  			else
     30  				_log.Log(LOG_ERROR,"evohome: Error script not found '%s'",scriptname.c_str());
     31 @@ -1321,7 +1321,7 @@ bool CEvohome::DecodeZoneName(CEvohomeMsg &msg)
     32  	}
     33  	if(memcmp(&msg.payload[2],m_szNameErr,18)==0)
     34  	{
     35 -		Log(true,LOG_STATUS,"evohome: %s: Warning zone name not set: %d", tag, msg.payload[0]);
     36 +		Log(true,LOG_STATUS,"evohome: %s: Warning zone name not set: %d", tag, msg.payload[0]+1);
     37  		m_bStartup[0]=false;
     38  		return true;
     39  	}
     40 @@ -1606,9 +1606,11 @@ bool CEvohome::DecodeBatteryInfo(CEvohomeMsg &msg)
     41  	RFX_SETID3(msg.GetID(0),tsen.EVOHOME2.id1,tsen.EVOHOME2.id2,tsen.EVOHOME2.id3)
     42  	tsen.EVOHOME2.updatetype = updBattery;
     43  	
     44 -	double dbCharge=0;
     45 -	if(nBattery!=0xFF)
     46 -		dbCharge=(double)nBattery/2.0; //Presumed to be the charge level where sent
     47 +	if (nBattery == 0xFF)
     48 +		nBattery = 100; // recode full battery (0xFF) to 100 for consistency across device types
     49 +	else
     50 +		nBattery = nBattery / 2;  // recode battery level values to 0-100 from original 0-200 values
     51 +
     52  	if(nLowBat==0)
     53  		nBattery=0;
     54  	tsen.EVOHOME2.battery_level=nBattery;
     55 @@ -1657,9 +1659,11 @@ bool CEvohome::DecodeBatteryInfo(CEvohomeMsg &msg)
     56  		tsen.EVOHOME2.type=pTypeEvohomeWater;
     57  		tsen.EVOHOME2.subtype=sTypeEvohomeWater;
     58  		tsen.EVOHOME2.zone=nDevNo;
     59 -		sDecodeRXMessage(this, (const unsigned char *)&tsen.EVOHOME2, NULL, nBattery);
     60 +		RFX_SETID3(GetControllerID(), tsen.EVOHOME2.id1, tsen.EVOHOME2.id2, tsen.EVOHOME2.id3); 
     61 +		sDecodeRXMessage(this, (const unsigned char *)&tsen.EVOHOME2, "DHW Temp", nBattery);  // Update DHW Zone sensor
     62  	}
     63 -	Log(true,LOG_STATUS,"evohome: %s: %s=%d charge=%d (%.1f %%) level=%d (%s)",tag,szType.c_str(),nDevNo,nBattery,dbCharge,nLowBat,(nLowBat==0)?"Low":"OK");
     64 +	
     65 +	Log(true,LOG_STATUS,"evohome: %s: %s=%d charge=%d(%%) level=%d (%s)",tag,szType.c_str(),nDevNo,nBattery,nLowBat,(nLowBat==0)?"Low":"OK");
     66  	
     67  	return true;
     68  }